From 402eaa946325b357ab8615c2cf1ddd19eb2dcc3e Mon Sep 17 00:00:00 2001 From: Mobsuccess Bot Date: Mon, 25 Mar 2024 01:02:14 +0000 Subject: [PATCH] chore(deps): run updater mobsuccess-devops/policy-github-updater-npm --- node_modules/.bin/prettier | 2 +- node_modules/.package-lock.json | 7103 ++ node_modules/prettier/LICENSE | 4850 ++ node_modules/prettier/README.md | 22 +- node_modules/prettier/bin-prettier.js | 16556 ----- node_modules/prettier/bin/prettier.cjs | 68 + node_modules/prettier/doc.d.ts | 243 + node_modules/prettier/doc.js | 4724 +- node_modules/prettier/doc.mjs | 1300 + node_modules/prettier/esm/parser-angular.mjs | 46 - node_modules/prettier/esm/parser-babel.mjs | 1 - node_modules/prettier/esm/parser-espree.mjs | 1 - node_modules/prettier/esm/parser-flow.mjs | 1 - node_modules/prettier/esm/parser-glimmer.mjs | 1 - node_modules/prettier/esm/parser-graphql.mjs | 1 - node_modules/prettier/esm/parser-html.mjs | 113 - node_modules/prettier/esm/parser-markdown.mjs | 19 - node_modules/prettier/esm/parser-meriyah.mjs | 1 - node_modules/prettier/esm/parser-postcss.mjs | 1 - .../prettier/esm/parser-typescript.mjs | 1 - node_modules/prettier/esm/parser-yaml.mjs | 15 - node_modules/prettier/esm/standalone.mjs | 55 - node_modules/prettier/index.cjs | 648 + node_modules/prettier/index.d.ts | 940 + node_modules/prettier/index.js | 57613 ---------------- node_modules/prettier/index.mjs | 24255 +++++++ node_modules/prettier/internal/cli.mjs | 7089 ++ node_modules/prettier/package.json | 242 +- node_modules/prettier/parser-angular.js | 46 - node_modules/prettier/parser-babel.js | 1 - node_modules/prettier/parser-espree.js | 1 - node_modules/prettier/parser-flow.js | 1 - node_modules/prettier/parser-glimmer.js | 1 - node_modules/prettier/parser-graphql.js | 1 - node_modules/prettier/parser-html.js | 113 - node_modules/prettier/parser-markdown.js | 19 - node_modules/prettier/parser-meriyah.js | 1 - node_modules/prettier/parser-postcss.js | 1 - node_modules/prettier/parser-typescript.js | 1 - node_modules/prettier/parser-yaml.js | 15 - node_modules/prettier/plugins/acorn.d.ts | 6 + node_modules/prettier/plugins/acorn.js | 13 + node_modules/prettier/plugins/acorn.mjs | 13 + node_modules/prettier/plugins/angular.d.ts | 8 + node_modules/prettier/plugins/angular.js | 1 + node_modules/prettier/plugins/angular.mjs | 1 + node_modules/prettier/plugins/babel.d.ts | 18 + node_modules/prettier/plugins/babel.js | 16 + node_modules/prettier/plugins/babel.mjs | 16 + node_modules/prettier/plugins/estree.d.ts | 1 + node_modules/prettier/plugins/estree.js | 36 + node_modules/prettier/plugins/estree.mjs | 36 + node_modules/prettier/plugins/flow.d.ts | 5 + node_modules/prettier/plugins/flow.js | 21 + node_modules/prettier/plugins/flow.mjs | 21 + node_modules/prettier/plugins/glimmer.d.ts | 5 + node_modules/prettier/plugins/glimmer.js | 30 + node_modules/prettier/plugins/glimmer.mjs | 30 + node_modules/prettier/plugins/graphql.d.ts | 5 + node_modules/prettier/plugins/graphql.js | 29 + node_modules/prettier/plugins/graphql.mjs | 29 + node_modules/prettier/plugins/html.d.ts | 8 + node_modules/prettier/plugins/html.js | 19 + node_modules/prettier/plugins/html.mjs | 19 + node_modules/prettier/plugins/markdown.d.ts | 7 + node_modules/prettier/plugins/markdown.js | 59 + node_modules/prettier/plugins/markdown.mjs | 59 + node_modules/prettier/plugins/meriyah.d.ts | 5 + node_modules/prettier/plugins/meriyah.js | 5 + node_modules/prettier/plugins/meriyah.mjs | 5 + node_modules/prettier/plugins/postcss.d.ts | 7 + node_modules/prettier/plugins/postcss.js | 49 + node_modules/prettier/plugins/postcss.mjs | 49 + node_modules/prettier/plugins/typescript.d.ts | 5 + node_modules/prettier/plugins/typescript.js | 25 + node_modules/prettier/plugins/typescript.mjs | 25 + node_modules/prettier/plugins/yaml.d.ts | 5 + node_modules/prettier/plugins/yaml.js | 161 + node_modules/prettier/plugins/yaml.mjs | 161 + node_modules/prettier/standalone.d.ts | 33 + node_modules/prettier/standalone.js | 89 +- node_modules/prettier/standalone.mjs | 34 + node_modules/prettier/third-party.js | 10476 --- package-lock.json | 27 +- package.json | 2 +- 85 files changed, 48981 insertions(+), 88805 deletions(-) create mode 100644 node_modules/.package-lock.json delete mode 100755 node_modules/prettier/bin-prettier.js create mode 100755 node_modules/prettier/bin/prettier.cjs create mode 100644 node_modules/prettier/doc.d.ts create mode 100644 node_modules/prettier/doc.mjs delete mode 100644 node_modules/prettier/esm/parser-angular.mjs delete mode 100644 node_modules/prettier/esm/parser-babel.mjs delete mode 100644 node_modules/prettier/esm/parser-espree.mjs delete mode 100644 node_modules/prettier/esm/parser-flow.mjs delete mode 100644 node_modules/prettier/esm/parser-glimmer.mjs delete mode 100644 node_modules/prettier/esm/parser-graphql.mjs delete mode 100644 node_modules/prettier/esm/parser-html.mjs delete mode 100644 node_modules/prettier/esm/parser-markdown.mjs delete mode 100644 node_modules/prettier/esm/parser-meriyah.mjs delete mode 100644 node_modules/prettier/esm/parser-postcss.mjs delete mode 100644 node_modules/prettier/esm/parser-typescript.mjs delete mode 100644 node_modules/prettier/esm/parser-yaml.mjs delete mode 100644 node_modules/prettier/esm/standalone.mjs create mode 100644 node_modules/prettier/index.cjs create mode 100644 node_modules/prettier/index.d.ts delete mode 100644 node_modules/prettier/index.js create mode 100644 node_modules/prettier/index.mjs create mode 100644 node_modules/prettier/internal/cli.mjs delete mode 100644 node_modules/prettier/parser-angular.js delete mode 100644 node_modules/prettier/parser-babel.js delete mode 100644 node_modules/prettier/parser-espree.js delete mode 100644 node_modules/prettier/parser-flow.js delete mode 100644 node_modules/prettier/parser-glimmer.js delete mode 100644 node_modules/prettier/parser-graphql.js delete mode 100644 node_modules/prettier/parser-html.js delete mode 100644 node_modules/prettier/parser-markdown.js delete mode 100644 node_modules/prettier/parser-meriyah.js delete mode 100644 node_modules/prettier/parser-postcss.js delete mode 100644 node_modules/prettier/parser-typescript.js delete mode 100644 node_modules/prettier/parser-yaml.js create mode 100644 node_modules/prettier/plugins/acorn.d.ts create mode 100644 node_modules/prettier/plugins/acorn.js create mode 100644 node_modules/prettier/plugins/acorn.mjs create mode 100644 node_modules/prettier/plugins/angular.d.ts create mode 100644 node_modules/prettier/plugins/angular.js create mode 100644 node_modules/prettier/plugins/angular.mjs create mode 100644 node_modules/prettier/plugins/babel.d.ts create mode 100644 node_modules/prettier/plugins/babel.js create mode 100644 node_modules/prettier/plugins/babel.mjs create mode 100644 node_modules/prettier/plugins/estree.d.ts create mode 100644 node_modules/prettier/plugins/estree.js create mode 100644 node_modules/prettier/plugins/estree.mjs create mode 100644 node_modules/prettier/plugins/flow.d.ts create mode 100644 node_modules/prettier/plugins/flow.js create mode 100644 node_modules/prettier/plugins/flow.mjs create mode 100644 node_modules/prettier/plugins/glimmer.d.ts create mode 100644 node_modules/prettier/plugins/glimmer.js create mode 100644 node_modules/prettier/plugins/glimmer.mjs create mode 100644 node_modules/prettier/plugins/graphql.d.ts create mode 100644 node_modules/prettier/plugins/graphql.js create mode 100644 node_modules/prettier/plugins/graphql.mjs create mode 100644 node_modules/prettier/plugins/html.d.ts create mode 100644 node_modules/prettier/plugins/html.js create mode 100644 node_modules/prettier/plugins/html.mjs create mode 100644 node_modules/prettier/plugins/markdown.d.ts create mode 100644 node_modules/prettier/plugins/markdown.js create mode 100644 node_modules/prettier/plugins/markdown.mjs create mode 100644 node_modules/prettier/plugins/meriyah.d.ts create mode 100644 node_modules/prettier/plugins/meriyah.js create mode 100644 node_modules/prettier/plugins/meriyah.mjs create mode 100644 node_modules/prettier/plugins/postcss.d.ts create mode 100644 node_modules/prettier/plugins/postcss.js create mode 100644 node_modules/prettier/plugins/postcss.mjs create mode 100644 node_modules/prettier/plugins/typescript.d.ts create mode 100644 node_modules/prettier/plugins/typescript.js create mode 100644 node_modules/prettier/plugins/typescript.mjs create mode 100644 node_modules/prettier/plugins/yaml.d.ts create mode 100644 node_modules/prettier/plugins/yaml.js create mode 100644 node_modules/prettier/plugins/yaml.mjs create mode 100644 node_modules/prettier/standalone.d.ts create mode 100644 node_modules/prettier/standalone.mjs delete mode 100644 node_modules/prettier/third-party.js diff --git a/node_modules/.bin/prettier b/node_modules/.bin/prettier index a478df38..92267ed8 120000 --- a/node_modules/.bin/prettier +++ b/node_modules/.bin/prettier @@ -1 +1 @@ -../prettier/bin-prettier.js \ No newline at end of file +../prettier/bin/prettier.cjs \ No newline at end of file diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 00000000..84557bb4 --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,7103 @@ +{ + "name": "github-actions-mobsuccess", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/@actions/core": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", + "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" + }, + "node_modules/@actions/github": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-4.0.0.tgz", + "integrity": "sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA==", + "dependencies": { + "@actions/http-client": "^1.0.8", + "@octokit/core": "^3.0.0", + "@octokit/plugin-paginate-rest": "^2.2.3", + "@octokit/plugin-rest-endpoint-methods": "^4.0.0" + } + }, + "node_modules/@actions/http-client": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.11.tgz", + "integrity": "sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==", + "dependencies": { + "tunnel": "0.0.6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", + "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", + "dev": true + }, + "node_modules/@babel/core": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.14.tgz", + "integrity": "sha512-wZso/vyF4ki0l0znlgM4inxbdrUvCb+cVz8grxDq+6C9k6qbqoIJteQOKicaKjCipU3ISV+XedCqpL2RJJVehA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-compilation-targets": "^7.13.13", + "@babel/helper-module-transforms": "^7.13.14", + "@babel/helpers": "^7.13.10", + "@babel/parser": "^7.13.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.13.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", + "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz", + "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.12", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.12" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.12" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", + "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.13.12" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "dev": true + }, + "node_modules/@babel/helpers": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", + "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.13.tgz", + "integrity": "sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/traverse": { + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.13.tgz", + "integrity": "sha512-CblEcwmXKR6eP43oQGG++0QMTtCjAsa3frUuzHoiIJWpaIIi8dwMyEFUJoXRLxagGqCK+jALRwIO+o3R9p/uUg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.9", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.13", + "@babel/types": "^7.13.13", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz", + "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz", + "integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==", + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.3.2.tgz", + "integrity": "sha512-Jx83n4tuX/z7QtxnPsAKxXPzH3vANtKmlCB3W3vt18JbkEaBYm+C8dgAlA1FNtqNk3L21pxsKNbWkUQAhiV7ng==", + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.4.12", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz", + "integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==", + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.6.1.tgz", + "integrity": "sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==", + "dependencies": { + "@octokit/request": "^5.3.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.0.0.tgz", + "integrity": "sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ==" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz", + "integrity": "sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==", + "dependencies": { + "@octokit/types": "^6.11.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.15.0.tgz", + "integrity": "sha512-1AF9GM/Ywk8ukUM5seDRj286GdFpdfsHeOrOPBV2rVtRN7MQNzRIcw8W5sb4JPerjQ0WcRRwAwQyufg64BxJkA==", + "dependencies": { + "@octokit/types": "^6.13.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.4.14", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", + "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.0.0", + "@octokit/types": "^6.7.1", + "deprecation": "^2.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.1", + "once": "^1.4.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz", + "integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==", + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.13.0.tgz", + "integrity": "sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA==", + "dependencies": { + "@octokit/openapi-types": "^6.0.0" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.3.tgz", + "integrity": "sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "dependencies": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/before-after-hook": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.0.tgz", + "integrity": "sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001205", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", + "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==", + "dev": true + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/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/chalk/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/chalk/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/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.705", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.705.tgz", + "integrity": "sha512-agtrL5vLSOIK89sE/YSzAgqCw76eZ60gf3J7Tid5RfLbSp5H4nWL28/dIV+H+ZhNNi1JNiaF62jffwYsAyXc0g==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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/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/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", + "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.21", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/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/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/expect/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/expect/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/expect/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/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/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=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/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "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/globals": { + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "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/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "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==", + "dev": true + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "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-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "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-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/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/jest-changed-files/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "dependencies": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "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==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "16.5.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", + "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", + "dev": true, + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.1.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.9", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.4", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dev": true, + "dependencies": { + "mime-db": "1.47.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-notifier": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", + "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "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/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-format/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/pretty-format/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/pretty-format/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/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/prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "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==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "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/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/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/slice-ansi/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/slice-ansi/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/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/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/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.4.tgz", + "integrity": "sha512-v1qwknPv7rNGqtiaC4ywb3OZ3LNrEjbJL5igAe8eTbXOj8ye0XVul2pFRulwl/j3QfUKdQ/J9HZaYfQCnR7cvA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, + "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/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-to-istanbul": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", + "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", + "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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/wrap-ansi/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/wrap-ansi/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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", + "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==", + "dev": true, + "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/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/node_modules/prettier/LICENSE b/node_modules/prettier/LICENSE index 5767e34d..68a3dbef 100644 --- a/node_modules/prettier/LICENSE +++ b/node_modules/prettier/LICENSE @@ -1,3 +1,7 @@ +# Prettier license + +Prettier is released under the MIT license: + Copyright © James Long and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -5,3 +9,4849 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## Licenses of bundled dependencies + +The published Prettier artifact additionally contains code with the following licenses: +MIT, ISC, BSD-2-Clause, BSD-3-Clause, Apache-2.0 + +## Bundled dependencies + +### @angular/compiler@v17.1.2 + +> Angular - the compiler library + +License: MIT +Repository: +Author: angular + +---------------------------------------- + +### @babel/code-frame@v7.23.5 + +> Generate errors that contain a code frame that point to source locations. + +License: MIT +Homepage: +Repository: +Author: The Babel Team (https://babel.dev/team) + +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### @babel/helper-validator-identifier@v7.22.20 + +> Validate identifier/keywords name + +License: MIT +Repository: +Author: The Babel Team (https://babel.dev/team) + +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### @babel/highlight@v7.23.4 + +> Syntax highlight JavaScript strings for output in terminals. + +License: MIT +Homepage: +Repository: +Author: The Babel Team (https://babel.dev/team) + +> MIT License +> +> Copyright (c) 2014-present Sebastian McKenzie and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### @babel/parser@v7.23.9 + +> A JavaScript parser + +License: MIT +Homepage: +Repository: +Author: The Babel Team (https://babel.dev/team) + +> Copyright (C) 2012-2014 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### @glimmer/env@v0.1.7 + +> Glimmer application environment variables stub + +License: MIT + +> Copyright (c) 2017 Martin Muñoz and contributors. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @glimmer/syntax@v0.88.1 + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @glimmer/util@v0.88.1 + +> Common utilities used in Glimmer + +License: MIT + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @glimmer/wire-format@v0.88.1 + +License: MIT + +> Copyright (c) 2015 Tilde, Inc. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @handlebars/parser@v2.0.0 + +> The parser for the Handlebars language + +License: ISC +Homepage: +Repository: + +---------------------------------------- + +### @iarna/toml@v2.2.5 + +> Better TOML parsing and stringifying all in that familiar JSON interface. + +License: ISC +Homepage: +Repository: +Author: Rebecca Turner (http://re-becca.org/) + +> Copyright (c) 2016, Rebecca Turner +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### @nodelib/fs.scandir@v2.1.5 + +> List files and directories inside the specified directory + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @nodelib/fs.stat@v2.0.5 + +> Get the status of a file with some features + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @nodelib/fs.walk@v1.2.8 + +> A library for efficiently walking a directory recursively + +License: MIT + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @prettier/is-es5-identifier-name@v0.2.0 + +> Check if provided string is an `IdentifierName` as specified in ECMA262 edition 5.1 section 7.6. + +License: MIT +Author: fisker Cheung + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @prettier/parse-srcset@v3.1.0 + +> A spec-conformant JavaScript parser for the HTML5 srcset attribute + +License: MIT +Homepage: +Author: Alex Bell + +> The MIT License (MIT) +> +> Copyright (c) 2014 Alex Bell +> Copyright (c) fisker Cheung +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @typescript-eslint/types@v6.20.0 + +> Types for the TypeScript-ESTree AST spec + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) 2019 typescript-eslint and other contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### @typescript-eslint/typescript-estree@v6.20.0 + +> A parser that converts TypeScript source code into an ESTree compatible form + +License: BSD-2-Clause +Repository: + +> TypeScript ESTree +> +> Originally extracted from: +> +> TypeScript ESLint Parser +> Copyright JS Foundation and other contributors, https://js.foundation +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> - Redistributions of source code must retain the above copyright +> notice, this list of conditions and the following disclaimer. +> - Redistributions in binary form must reproduce the above copyright +> notice, this list of conditions and the following disclaimer in the +> documentation and/or other materials provided with the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +### acorn@v8.11.3 + +> ECMAScript parser + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (C) 2012-2022 by various contributors (see AUTHORS) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### acorn-jsx@v5.3.2 + +> Modern, fast React.js JSX parser + +License: MIT +Homepage: +Repository: + +> Copyright (C) 2012-2017 by Ingvar Stepanyan +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### angular-estree-parser@v9.0.0 + +> A parser that converts Angular source code into an ESTree-compatible form + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### angular-html-parser@v5.2.0 + +> A HTML parser extracted from Angular with some modifications + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### ansi-regex@v6.0.1 + +> Regular expression for matching ANSI escape codes + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### ansi-styles@v3.2.1 + +> ANSI escape codes for styling strings in the terminal + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### bail@v1.0.5 + +> Throw a given error + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### balanced-match@v1.0.2 + +> Match balanced character pairs, like "{" and "}" + +License: MIT +Homepage: +Repository: +Author: Julian Gruber (http://juliangruber.com) + +> (MIT) +> +> Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### brace-expansion@v1.1.11 + +> Brace expansion as known from sh/bash + +License: MIT +Homepage: +Repository: +Author: Julian Gruber (http://juliangruber.com) + +> MIT License +> +> Copyright (c) 2013 Julian Gruber +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### braces@v3.0.2 + +> Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://twitter.com/doowb) + - Elan Shanker (https://github.com/es128) + - Eugene Sharygin (https://github.com/eush77) + - hemanth.hm (http://h3manth.com) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2018, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### camelcase@v8.0.0 + +> Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar` + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### ccount@v1.1.0 + +> Count characters + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### chalk@v5.3.0 + +> Terminal string styling done right + +License: MIT + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### character-entities@v1.2.4 + +> HTML character entity information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### character-entities-legacy@v1.1.4 + +> HTML legacy character entity information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### character-reference-invalid@v1.1.4 + +> HTML invalid numeric character reference information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### ci-info@v4.0.0 + +> Get details about the current Continuous Integration environment + +License: MIT +Homepage: +Author: Thomas Watson Steen (https://twitter.com/wa7son) + +> The MIT License (MIT) +> +> Copyright (c) 2016 Thomas Watson Steen +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### collapse-white-space@v1.0.6 + +> Replace multiple white-space characters with a single space + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### color-convert@v1.9.3 + +> Plain color conversion functions + +License: MIT +Author: Heather Arthur + +> Copyright (c) 2011-2016 Heather Arthur +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### color-name@v1.1.3 + +> A list of color names and its values + +License: MIT +Homepage: +Repository: +Author: DY + +> The MIT License (MIT) +> Copyright (c) 2015 Dmitry Ivanov +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### common-path-prefix@v3.0.0 + +> Computes the longest prefix string that is common to each path, excluding the base component + +License: ISC +Homepage: +Repository: +Author: Mark Wubben (https://novemberborn.net/) + +> ISC License (ISC) +> Copyright (c) 2016, Mark Wubben +> +> Permission to use, copy, modify, and/or distribute this software for any purpose +> with or without fee is hereby granted, provided that the above copyright notice +> and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +> THIS SOFTWARE. + +---------------------------------------- + +### concat-map@v0.0.1 + +> concatenative mapdashery + +License: MIT +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### dashify@v2.0.0 + +> Convert a camelcase or space-separated string to a dash-separated string. ~12 sloc, fast, supports diacritics. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jeffrey Priebe (https://github.com/jeffreypriebe) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Ondrej Brinkel (https://www.anzui.de) + +> The MIT License (MIT) +> +> Copyright (c) 2015-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### diff@v5.1.0 + +> A javascript text diff implementation. + +License: BSD-3-Clause +Repository: + +> Software License Agreement (BSD License) +> +> Copyright (c) 2009-2015, Kevin Decker +> +> All rights reserved. +> +> Redistribution and use of this software in source and binary forms, with or without modification, +> are permitted provided that the following conditions are met: +> +> * Redistributions of source code must retain the above +> copyright notice, this list of conditions and the +> following disclaimer. +> +> * Redistributions in binary form must reproduce the above +> copyright notice, this list of conditions and the +> following disclaimer in the documentation and/or other +> materials provided with the distribution. +> +> * Neither the name of Kevin Decker nor the names of its +> contributors may be used to endorse or promote products +> derived from this software without specific prior +> written permission. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +> IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +> CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +> IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +> OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +### editorconfig@v0.15.3 + +> EditorConfig File Locator and Interpreter for Node.js + +License: MIT +Repository: +Author: EditorConfig Team +Contributors: + - Hong Xu (topbug.net) + - Jed Mao (https://github.com/jedmao/) + - Trey Hunner (http://treyhunner.com) + +> Copyright © 2012 EditorConfig Team +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the “Software”), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### emoji-regex@v10.3.0 + +> A regular expression to match all Emoji-only symbols as per the Unicode Standard. + +License: MIT +Homepage: +Repository: +Author: Mathias Bynens (https://mathiasbynens.be/) + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### escape-string-regexp@v1.0.5 + +> Escape RegExp special characters + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> The MIT License (MIT) +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### escape-string-regexp@v5.0.0 + +> Escape RegExp special characters + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### espree@v10.0.0 + +> An Esprima-compatible JavaScript parser built on Acorn + +License: BSD-2-Clause +Homepage: +Author: Nicholas C. Zakas + +> BSD 2-Clause License +> +> Copyright (c) Open JS Foundation +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> 1. Redistributions of source code must retain the above copyright notice, this +> list of conditions and the following disclaimer. +> +> 2. Redistributions in binary form must reproduce the above copyright notice, +> this list of conditions and the following disclaimer in the documentation +> and/or other materials provided with the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------- + +### extend@v3.0.2 + +> Port of jQuery.extend for node.js and the browser + +License: MIT +Repository: +Author: Stefan Thomas (http://www.justmoon.net) +Contributors: + - Jordan Harband (https://github.com/ljharb) + +> The MIT License (MIT) +> +> Copyright (c) 2014 Stefan Thomas +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### fast-glob@v3.3.2 + +> It's a very fast and efficient glob library for Node.js + +License: MIT +Author: Denis Malinochkin (https://mrmlnc.com) + +> The MIT License (MIT) +> +> Copyright (c) Denis Malinochkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### fast-json-stable-stringify@v2.1.0 + +> deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify + +License: MIT +Homepage: +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Copyright (c) 2017 Evgeny Poberezkin +> Copyright (c) 2013 James Halliday +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### fastq@v1.15.0 + +> Fast, in memory work queue + +License: ISC +Homepage: +Repository: +Author: Matteo Collina + +> Copyright (c) 2015-2020, Matteo Collina +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### file-entry-cache@v7.0.2 + +> Super simple cache for file metadata, useful for process that work o a given series of files and that only need to repeat the job on the changed ones since the previous run of the process + +License: MIT +Author: Jared Wray (https://jaredwray.com) + +> The MIT License (MIT) +> +> Copyright (c) Roy Riojas & Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### fill-range@v7.0.1 + +> Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex` + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Edo Rivai (edo.rivai.nl) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Paul Miller (paulmillr.com) + - Rouven Weßling (www.rouvenwessling.de) + - null (https://github.com/wtgtybhertgeghgtwtg) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### find-cache-dir@v5.0.0 + +> Finds the common standard cache directory + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> Copyright (c) James Talmage (https://github.com/jamestalmage) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### find-up@v6.3.0 + +> Find a file or directory by walking up parent directories + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### flat-cache@v3.2.0 + +> A stupidly simple key/value storage using files to persist some data + +License: MIT +Author: Jared Wray (https://jaredwray.com) + +> The MIT License (MIT) +> +> Copyright (c) Roy Riojas and Jared Wray +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### flatted@v3.2.9 + +> A super light and fast circular JSON parser. + +License: ISC +Homepage: +Repository: +Author: Andrea Giammarchi + +> ISC License +> +> Copyright (c) 2018-2020, Andrea Giammarchi, @WebReflection +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +> AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +> OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +> PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### flatten@v1.0.3 + +> Flatten arbitrarily nested arrays into a non-nested list of non-array items. Maintained for legacy compatibility. + +License: MIT +Homepage: +Repository: +Author: Joshua Holbrook (http://jesusabdullah.net) +Contributors: + - M.K. (https://github.com/mk-pmb) + +> The MIT License (MIT) +> +> Copyright (c) 2016 Joshua Holbrook +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### flow-parser@v0.226.0 + +> JavaScript parser written in OCaml. Produces ESTree AST + +License: MIT +Homepage: +Repository: +Author: Flow Team + +---------------------------------------- + +### fs.realpath@v1.0.0 + +> Use node's fs.realpath, but fall back to the JS implementation if the native one fails + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +> +> ---- +> +> This library bundles a version of the `fs.realpath` and `fs.realpathSync` +> methods from Node.js v0.10 under the terms of the Node.js MIT license. +> +> Node's license follows, also included at the header of `old.js` which contains +> the licensed code: +> +> Copyright Joyent, Inc. and other Node contributors. +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### get-east-asian-width@v1.2.0 + +> Determine the East Asian Width of a Unicode character + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### get-stdin@v9.0.0 + +> Get stdin as a string or buffer + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### glob@v7.2.3 + +> a little globber + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +> +> ## Glob Logo +> +> Glob's logo created by Tanya Brassie , licensed +> under a Creative Commons Attribution-ShareAlike 4.0 International License +> https://creativecommons.org/licenses/by-sa/4.0/ + +---------------------------------------- + +### glob-parent@v5.1.2 + +> Extract the non-magic parent path from a glob string. + +License: ISC +Author: Gulp Team (https://gulpjs.com/) +Contributors: + - Elan Shanker (https://github.com/es128) + - Blaine Bublitz + +> The ISC License +> +> Copyright (c) 2015, 2019 Elan Shanker +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### graphql@v16.8.1 + +> A Query Language and Runtime which can target any service. + +License: MIT +Homepage: +Repository: + +> MIT License +> +> Copyright (c) GraphQL Contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### has-flag@v3.0.0 + +> Check if argv has a specific flag + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### ignore@v5.3.1 + +> Ignore is a manager and filter for .gitignore rules, the one used by eslint, gitbook and many others. + +License: MIT +Repository: +Author: kael + +> Copyright (c) 2013 Kael Zhang , contributors +> http://kael.me/ +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### import-meta-resolve@v4.0.0 + +> Resolve things like Node.js — ponyfill for `import.meta.resolve` + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2021 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> --- +> +> This is a derivative work based on: +> . +> Which is licensed: +> +> """ +> Copyright Node.js contributors. All rights reserved. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ +> +> This license applies to parts of Node.js originating from the +> https://github.com/joyent/node repository: +> +> """ +> Copyright Joyent, Inc. and other Node contributors. All rights reserved. +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ + +---------------------------------------- + +### index-to-position@v0.1.2 + +> Convert a string index to its line and column position + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### indexes-of@v1.0.1 + +> line String/Array#indexOf but return all the indexes in an array + +License: MIT +Homepage: +Repository: +Author: Dominic Tarr (dominictarr.com) + +> Copyright (c) 2013 Dominic Tarr +> +> Permission is hereby granted, free of charge, +> to any person obtaining a copy of this software and +> associated documentation files (the "Software"), to +> deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, +> merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom +> the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice +> shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### inflight@v1.0.6 + +> Add callbacks to requests in flight to avoid async duplication + +License: ISC +Homepage: +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### inherits@v2.0.4 + +> Browser-friendly inheritance fully compatible with standard node.js inherits() + +License: ISC + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +> LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +> OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +> PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### is-alphabetical@v1.0.4 + +> Check if a character is alphabetical + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-alphanumerical@v1.0.4 + +> Check if a character is alphanumerical + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-buffer@v2.0.5 + +> Determine if an object is a Buffer + +License: MIT +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### is-decimal@v1.0.4 + +> Check if a character is decimal + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-extglob@v2.1.1 + +> Returns true if a string has an extglob. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2016, Jon Schlinkert +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### is-glob@v4.0.3 + +> Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://twitter.com/doowb) + - Daniel Perez (https://tuvistavie.com) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2017, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### is-hexadecimal@v1.0.4 + +> Check if a character is hexadecimal + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-number@v7.0.0 + +> Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Olsten Larck (https://i.am.charlike.online) + - Rouven Weßling (www.rouvenwessling.de) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### is-plain-obj@v2.1.0 + +> Check if a value is a plain object + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-whitespace-character@v1.0.4 + +> Check if a character is a whitespace character + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### is-word-character@v1.0.4 + +> Check if a character is a word character + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### iterate-directory-up@v1.1.1 + +> Iterate directory up. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### jest-docblock@v29.7.0 + +License: MIT +Repository: + +> MIT License +> +> Copyright (c) Meta Platforms, Inc. and affiliates. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### js-tokens@v4.0.0 + +> A regex that tokenizes JavaScript. + +License: MIT +Author: Simon Lydell + +> The MIT License (MIT) +> +> Copyright (c) 2014, 2015, 2016, 2017, 2018 Simon Lydell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### js-yaml@v4.1.0 + +> YAML 1.2 parser and serializer + +License: MIT +Author: Vladimir Zapparov +Contributors: + - Aleksey V Zapparov (http://www.ixti.net/) + - Vitaly Puzrin (https://github.com/puzrin) + - Martin Grenfell (http://got-ravings.blogspot.com) + +> (The MIT License) +> +> Copyright (C) 2011-2015 by Vitaly Puzrin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### json-buffer@v3.0.1 + +> JSON parse & stringify that supports binary via bops & base64 + +License: MIT +Homepage: +Repository: +Author: Dominic Tarr (http://dominictarr.com) + +> Copyright (c) 2013 Dominic Tarr +> +> Permission is hereby granted, free of charge, +> to any person obtaining a copy of this software and +> associated documentation files (the "Software"), to +> deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, +> merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom +> the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice +> shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### json5@v2.2.3 + +> JSON for Humans + +License: MIT +Homepage: +Repository: +Author: Aseem Kishore +Contributors: + - Max Nanasy + - Andrew Eisenberg + - Jordan Tucker + +> MIT License +> +> Copyright (c) 2012-2018 Aseem Kishore, and [others]. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. +> +> [others]: https://github.com/json5/json5/contributors + +---------------------------------------- + +### keyv@v4.5.4 + +> Simple key-value storage with support for multiple backends + +License: MIT +Homepage: +Repository: +Author: Jared Wray (http://jaredwray.com) + +---------------------------------------- + +### leven@v4.0.0 + +> Measure the difference between two strings using the Levenshtein distance algorithm + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### lines-and-columns@v2.0.4 + +> Maps lines and columns to character offsets and back. + +License: MIT +Homepage: +Repository: +Author: Brian Donovan + +> The MIT License (MIT) +> +> Copyright (c) 2015 Brian Donovan +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### locate-path@v7.2.0 + +> Get the first path that exists on disk of multiple paths + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### lru-cache@v4.1.5 + +> A cache object that deletes the least-recently-used items. + +License: ISC +Author: Isaac Z. Schlueter + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### markdown-escapes@v1.0.4 + +> List of escapable characters in markdown + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### merge2@v1.4.1 + +> Merge multiple streams into one stream in sequence or parallel. + +License: MIT +Homepage: +Repository: + +> The MIT License (MIT) +> +> Copyright (c) 2014-2020 Teambition +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### meriyah@v4.3.9 + +> A 100% compliant, self-hosted javascript parser with high focus on both performance and stability + +License: ISC +Homepage: +Repository: +Author: Kenny F. (https://github.com/KFlash) +Contributors: + - Chunpeng Huo (https://github.com/3cp) + +> ISC License +> +> Copyright (c) 2019 and later, KFlash and others. +> +> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### micromatch@v4.0.5 + +> Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - null (https://github.com/DianeLooney) + - Amila Welihinda (amilajack.com) + - Bogdan Chadkin (https://github.com/TrySound) + - Brian Woodward (https://twitter.com/doowb) + - Devon Govett (http://badassjs.com) + - Elan Shanker (https://github.com/es128) + - Fabrício Matté (https://ultcombo.js.org) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Martin Kolárik (https://kolarik.sk) + - Olsten Larck (https://i.am.charlike.online) + - Paul Miller (paulmillr.com) + - Tom Byrer (https://github.com/tomByrer) + - Tyler Akins (http://rumkin.com) + - Peter Bright (https://github.com/drpizza) + - Kuba Juszczyk (https://github.com/ku8ar) + +> The MIT License (MIT) +> +> Copyright (c) 2014-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### minimatch@v3.1.2 + +> a glob matcher in javascript + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### minimist@v1.2.8 + +> parse argument options + +License: MIT +Homepage: +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### n-readlines@v1.0.1 + +> Read file line by line without buffering the whole file in memory. + +License: MIT +Repository: +Author: Yoan Arnaudov + +> The MIT License (MIT) +> +> Copyright (c) 2013 Liucw +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### nanoid@v3.3.7 + +> A tiny (116 bytes), secure URL-friendly unique string ID generator + +License: MIT +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2017 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### once@v1.4.0 + +> Run a function exactly one time + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### p-limit@v4.0.0 + +> Run multiple promise-returning & async functions with limited concurrency + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### p-locate@v6.0.0 + +> Get the first fulfilled promise that satisfies the provided testing function + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### parse-entities@v2.0.0 + +> Parse HTML character references: fast, spec-compliant, positional information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### parse-json@v8.1.0 + +> Parse JSON with more helpful errors + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### path-exists@v5.0.0 + +> Check if a path exists + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### path-is-absolute@v1.0.1 + +> Node.js 0.12 path.isAbsolute() ponyfill + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> The MIT License (MIT) +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### picocolors@v1.0.0 + +> The tiniest and the fastest library for terminal output formatting with ANSI colors + +License: ISC +Author: Alexey Raspopov + +> ISC License +> +> Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### picomatch@v2.3.1 + +> Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) + +> The MIT License (MIT) +> +> Copyright (c) 2017-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### pkg-dir@v7.0.0 + +> Find the root directory of a Node.js project or npm package + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### please-upgrade-node@v3.2.0 + +> Displays a beginner-friendly message telling your user to upgrade their version of Node + +License: MIT +Homepage: +Repository: +Author: typicode + +> MIT License +> +> Copyright (c) 2017 +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### postcss@v8.4.33 + +> Tool for transforming styles with JS plugins + +License: MIT +Homepage: +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2013 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### postcss-less@v6.0.0 + +> LESS parser for PostCSS + +License: MIT +Homepage: +Author: Denys Kniazevych + +> The MIT License (MIT) +> +> Copyright (c) 2013 Andrey Sitnik +> Copyright (c) 2016 Denys Kniazevych +> Copyright (c) 2016 Pat Sissons +> Copyright (c) 2017 Andrew Powell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### postcss-media-query-parser@v0.2.3 + +> A tool for parsing media query lists. + +License: MIT +Homepage: +Repository: +Author: dryoma + +---------------------------------------- + +### postcss-scss@v4.0.9 + +> SCSS parser for PostCSS + +License: MIT +Author: Andrey Sitnik + +> The MIT License (MIT) +> +> Copyright 2013 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### postcss-selector-parser@v2.2.3 + +License: MIT +Homepage: +Author: Ben Briggs (http://beneb.info) + +> Copyright (c) Ben Briggs (http://beneb.info) +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### postcss-values-parser@v2.0.1 + +> A CSS property value parser for use with PostCSS + +License: MIT +Author: Andrew Powell (shellscape) (http://shellscape.org) + +> Copyright (c) Andrew Powell +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### pseudomap@v1.0.2 + +> A thing that is a lot like ES6 `Map`, but without iterators, for use in environments where `for..of` syntax and `Map` are not available. + +License: ISC +Homepage: +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### queue-microtask@v1.2.3 + +> fast, tiny `queueMicrotask` shim for modern engines + +License: MIT +Homepage: +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### remark-footnotes@v2.0.0 + +> remark plugin to add support for pandoc footnotes + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2020 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### remark-math@v3.0.1 + +> remark plugin to parse and stringify math + +License: MIT +Author: Junyoung Choi (https://rokt33r.github.io) +Contributors: + - Junyoung Choi (https://rokt33r.github.io) + - Titus Wormer (https://wooorm.com) + +---------------------------------------- + +### remark-parse@v8.0.3 + +> remark plugin to parse Markdown + +License: MIT +Homepage: +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Eugene Sharygin + - Junyoung Choi + - Elijah Hamovitz + - Ika + +---------------------------------------- + +### repeat-string@v1.6.1 + +> Repeat the given string n times. Fastest implementation for repeating a string. + +License: MIT +Homepage: +Author: Jon Schlinkert (http://github.com/jonschlinkert) +Contributors: + - Brian Woodward (https://github.com/doowb) + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Linus Unnebäck (http://linus.unnebäck.se) + - Thijs Busser (http://tbusser.net) + - Titus (wooorm.com) + +> The MIT License (MIT) +> +> Copyright (c) 2014-2016, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### reusify@v1.0.4 + +> Reuse objects and functions with style + +License: MIT +Homepage: +Repository: +Author: Matteo Collina + +> The MIT License (MIT) +> +> Copyright (c) 2015 Matteo Collina +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### rimraf@v3.0.2 + +> A deep deletion module for node (like `rm -rf`) + +License: ISC +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### run-parallel@v1.2.0 + +> Run an array of functions in parallel + +License: MIT +Homepage: +Repository: +Author: Feross Aboukhadijeh (https://feross.org) + +> The MIT License (MIT) +> +> Copyright (c) Feross Aboukhadijeh +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### sdbm@v2.0.0 + +> SDBM non-cryptographic hash function + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### semver@v7.5.4 + +> The semantic version parser used by npm. + +License: ISC +Repository: +Author: GitHub Inc. + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### semver-compare@v1.0.0 + +> compare two semver version strings, returning -1, 0, or 1 + +License: MIT +Homepage: +Repository: +Author: James Halliday (http://substack.net) + +> This software is released under the MIT license: +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### sigmund@v1.0.1 + +> Quick and dirty signatures for Objects. + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### simple-html-tokenizer@v0.5.11 + +> Simple HTML Tokenizer is a lightweight JavaScript library that can be used to tokenize the kind of HTML normally found in templates. + +License: MIT +Repository: + +> Copyright (c) 2014 Yehuda Katz and contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### state-toggle@v1.0.3 + +> Enter/exit a state + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### strip-ansi@v7.1.0 + +> Strip ANSI escape codes from a string + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### supports-color@v5.5.0 + +> Detect whether a terminal supports color + +License: MIT +Author: Sindre Sorhus (sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### to-fast-properties@v4.0.0 + +> Force V8 to use fast properties for an object + +License: MIT +Author: Sindre Sorhus (https:/sindresorhus.com) + +> MIT License +> +> Copyright (c) Petka Antonov +> Benjamin Gruenbaum +> John-David Dalton +> Sindre Sorhus +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### to-regex-range@v5.0.1 + +> Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions. + +License: MIT +Homepage: +Author: Jon Schlinkert (https://github.com/jonschlinkert) +Contributors: + - Jon Schlinkert (http://twitter.com/jonschlinkert) + - Rouven Weßling (www.rouvenwessling.de) + +> The MIT License (MIT) +> +> Copyright (c) 2015-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### trim@v1.0.1 + +> Trim string whitespace + +License: MIT +Repository: +Author: TJ Holowaychuk + +---------------------------------------- + +### trim-trailing-lines@v1.1.4 + +> Remove final line feeds from a string + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### trough@v1.0.5 + +> Middleware: a channel used to convey a liquid + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### ts-api-utils@v1.0.3 + +> Utility functions for working with TypeScript's API. Successor to the wonderful tsutils. + +License: MIT +Repository: +Author: Josh Goldberg + +> # MIT License +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### typescript@v5.3.3 + +> TypeScript is a language for application scale JavaScript development + +License: Apache-2.0 +Homepage: +Repository: +Author: Microsoft Corp. + +> Apache License +> +> Version 2.0, January 2004 +> +> http://www.apache.org/licenses/ +> +> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +> +> 1. Definitions. +> +> "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. +> +> "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. +> +> "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. +> +> "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. +> +> "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. +> +> "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. +> +> "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). +> +> "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. +> +> "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." +> +> "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. +> +> 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. +> +> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. +> +> 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: +> +> You must give any other recipients of the Work or Derivative Works a copy of this License; and +> +> You must cause any modified files to carry prominent notices stating that You changed the files; and +> +> You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and +> +> If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. +> +> 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. +> +> 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. +> +> 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. +> +> 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. +> +> 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +> +> END OF TERMS AND CONDITIONS + +---------------------------------------- + +### unherit@v1.1.3 + +> Clone a constructor without affecting the super-class + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### unified@v9.2.2 + +> Interface for parsing, inspecting, transforming, and serializing content through syntax trees + +License: MIT +Homepage: +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Junyoung Choi + - Hernan Rajchert + - Christian Murphy + - Vse Mozhet Byt + - Richard Littauer + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### uniq@v1.0.1 + +> Removes duplicates from a sorted array in place + +License: MIT +Repository: +Author: Mikola Lysenko + +> The MIT License (MIT) +> +> Copyright (c) 2013 Mikola Lysenko +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### unist-util-is@v4.1.0 + +> unist utility to check if a node passes a test + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Christian Murphy + - Lucas Brandstaetter (https://github.com/Roang-zero1) + +> (The MIT license) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### unist-util-remove-position@v2.0.1 + +> unist utility to remove positions from a tree + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### unist-util-stringify-position@v2.0.3 + +> unist utility to serialize a node, position, or point as a human readable location + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### unist-util-visit@v2.0.3 + +> unist utility to visit nodes + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Eugene Sharygin + - Richard Gibson + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### unist-util-visit-parents@v3.1.1 + +> unist utility to recursively walk over nodes, with ancestral information + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### url-or-path@v2.3.0 + +> Convert between file URL and path. + +License: MIT +Homepage: +Author: fisker Cheung (https://www.fiskercheung.com/) + +> MIT License +> +> Copyright (c) fisker Cheung (https://www.fiskercheung.com/) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### vfile@v4.2.1 + +> Virtual file format for text processing + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Brendan Abbott + - Denys Dovhan + - Kyle Mathews + - Shinnosuke Watanabe + - Sindre Sorhus + +> (The MIT License) +> +> Copyright (c) 2015 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### vfile-location@v3.2.0 + +> vfile utility to convert between positional (line and column-based) and offset (range-based) locations + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + - Christian Murphy + +> (The MIT License) +> +> Copyright (c) 2016 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### vfile-message@v2.0.4 + +> vfile utility to create a virtual message + +License: MIT +Author: Titus Wormer (https://wooorm.com) +Contributors: + - Titus Wormer (https://wooorm.com) + +> (The MIT License) +> +> Copyright (c) 2017 Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------- + +### vnopts@v2.0.0 + +> validate and normalize options + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### wcwidth.js@v1.1.2 + +> a javascript porting of C's wcwidth() + +License: MIT +Homepage: +Repository: +Author: Woong Jun (http://code.woong.org/) +Contributors: + - Tim Oxley (http://campjs.com/) + +> wcwidth.js: a javascript portng of C's wcwidth() +> ================================================ +> +> Copyright (C) 2012-2014 by Woong Jun and Tim Oxley. +> +> This package is a javascript porting of `wcwidth()` implementation +> [by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c). +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +> of the Software, and to permit persons to whom the Software is furnished to do +> so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> +> THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +> INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR +> OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +> EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +> OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +> INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +> CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +> IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +> OF SUCH DAMAGE. + +---------------------------------------- + +### wrappy@v1.0.2 + +> Callback wrapping utility + +License: ISC +Homepage: +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### xtend@v4.0.2 + +> extend like a boss + +License: MIT +Homepage: +Author: Raynos +Contributors: + - Jake Verbaten + - Matt Esch + +> The MIT License (MIT) +> Copyright (c) 2012-2014 Raynos. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +---------------------------------------- + +### yallist@v2.1.2 + +> Yet Another Linked List + +License: ISC +Repository: +Author: Isaac Z. Schlueter (http://blog.izs.me/) + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------- + +### yaml@v1.10.2 + +> JavaScript parser and stringifier for YAML + +License: ISC +Homepage: +Author: Eemeli Aro + +> Copyright 2018 Eemeli Aro +> +> Permission to use, copy, modify, and/or distribute this software for any purpose +> with or without fee is hereby granted, provided that the above copyright notice +> and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +> REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +> FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +> INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +> OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +> TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +> THIS SOFTWARE. + +---------------------------------------- + +### yaml-unist-parser@v2.0.1 + +> A YAML parser that produces output compatible with unist + +License: MIT +Homepage: +Author: Ika (https://github.com/ikatyang) + +> MIT License +> +> Copyright (c) Ika (https://github.com/ikatyang) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +---------------------------------------- + +### yocto-queue@v1.0.0 + +> Tiny queue data structure + +License: MIT +Author: Sindre Sorhus (https://sindresorhus.com) + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/prettier/README.md b/node_modules/prettier/README.md index 76f2e040..d852667f 100644 --- a/node_modules/prettier/README.md +++ b/node_modules/prettier/README.md @@ -1,4 +1,4 @@ -![Prettier Banner](https://raw.githubusercontent.com/prettier/prettier-logo/master/images/prettier-banner-light.png) +[![Prettier Banner](https://unpkg.com/prettier-logo@1.0.3/images/prettier-banner-light.svg)](https://prettier.io)

Opinionated Code Formatter

@@ -37,12 +37,12 @@

- - Github Actions Build Status - - Github Actions Build Status - - Github Actions Build Status + + Github Actions Build Status + + Github Actions Build Status + + Github Actions Build Status Codecov Coverage Status @@ -54,10 +54,8 @@ weekly downloads from npm code style: prettier - - Chat on Gitter - Follow Prettier on Twitter + Follow Prettier on Twitter

## Intro @@ -78,11 +76,11 @@ foo( reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), - isThereSeriouslyAnotherOne() + isThereSeriouslyAnotherOne(), ); ``` -Prettier can be run [in your editor](http://prettier.io/docs/en/editors.html) on-save, in a [pre-commit hook](https://prettier.io/docs/en/precommit.html), or in [CI environments](https://prettier.io/docs/en/cli.html#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again! +Prettier can be run [in your editor](https://prettier.io/docs/en/editors.html) on-save, in a [pre-commit hook](https://prettier.io/docs/en/precommit.html), or in [CI environments](https://prettier.io/docs/en/cli.html#list-different) to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again! --- diff --git a/node_modules/prettier/bin-prettier.js b/node_modules/prettier/bin-prettier.js deleted file mode 100755 index f743fe51..00000000 --- a/node_modules/prettier/bin-prettier.js +++ /dev/null @@ -1,16556 +0,0 @@ -#!/usr/bin/env node -'use strict'; - -var path = require('path'); -var fs$2 = require('fs'); -var readline = require('readline'); -var os = require('os'); -var tty = require('tty'); -var util$2 = require('util'); -var stream_1 = require('stream'); -var events_1 = require('events'); - -function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - -var path__default = /*#__PURE__*/_interopDefaultLegacy(path); -var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$2); -var readline__default = /*#__PURE__*/_interopDefaultLegacy(readline); -var os__default = /*#__PURE__*/_interopDefaultLegacy(os); -var tty__default = /*#__PURE__*/_interopDefaultLegacy(tty); -var util__default = /*#__PURE__*/_interopDefaultLegacy(util$2); -var stream_1__default = /*#__PURE__*/_interopDefaultLegacy(stream_1); -var events_1__default = /*#__PURE__*/_interopDefaultLegacy(events_1); - -var semverCompare = function cmp(a, b) { - var pa = a.split('.'); - var pb = b.split('.'); - - for (var i = 0; i < 3; i++) { - var na = Number(pa[i]); - var nb = Number(pb[i]); - if (na > nb) return 1; - if (nb > na) return -1; - if (!isNaN(na) && isNaN(nb)) return 1; - if (isNaN(na) && !isNaN(nb)) return -1; - } - - return 0; -}; - -var pleaseUpgradeNode = function pleaseUpgradeNode(pkg, opts) { - var opts = opts || {}; - var requiredVersion = pkg.engines.node.replace('>=', ''); - var currentVersion = process.version.replace('v', ''); - - if (semverCompare(currentVersion, requiredVersion) === -1) { - if (opts.message) { - console.error(opts.message(requiredVersion)); - } else { - console.error(pkg.name + ' requires at least version ' + requiredVersion + ' of Node, please upgrade'); - } - - if (opts.hasOwnProperty('exitCode')) { - process.exit(opts.exitCode); - } else { - process.exit(1); - } - } -}; - -var name = "prettier"; -var version = "2.2.1"; -var description = "Prettier is an opinionated code formatter"; -var bin = "./bin/prettier.js"; -var repository = "prettier/prettier"; -var homepage = "https://prettier.io"; -var author = "James Long"; -var license = "MIT"; -var main = "./index.js"; -var browser = "./standalone.js"; -var unpkg = "./standalone.js"; -var engines = { - node: ">=10.13.0" -}; -var files = [ - "index.js", - "standalone.js", - "src", - "bin" -]; -var dependencies = { - "@angular/compiler": "10.2.3", - "@babel/code-frame": "7.10.4", - "@babel/parser": "7.12.5", - "@glimmer/syntax": "0.66.0", - "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "4.8.1", - "angular-estree-parser": "2.2.1", - "angular-html-parser": "1.7.1", - camelcase: "6.2.0", - chalk: "4.1.0", - "ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540", - "cjk-regex": "2.0.0", - cosmiconfig: "7.0.0", - dashify: "2.0.0", - diff: "5.0.0", - editorconfig: "0.15.3", - "editorconfig-to-prettier": "0.2.0", - "escape-string-regexp": "4.0.0", - espree: "7.3.0", - esutils: "2.0.3", - "fast-glob": "3.2.4", - "fast-json-stable-stringify": "2.1.0", - "find-parent-dir": "0.3.0", - "flow-parser": "0.138.0", - "get-stdin": "8.0.0", - globby: "11.0.1", - graphql: "15.4.0", - "html-element-attributes": "2.3.0", - "html-styles": "1.0.0", - "html-tag-names": "1.1.5", - "html-void-elements": "1.0.5", - ignore: "4.0.6", - "jest-docblock": "26.0.0", - json5: "2.1.3", - leven: "3.1.0", - "lines-and-columns": "1.1.6", - "linguist-languages": "7.12.1", - lodash: "4.17.20", - mem: "8.0.0", - meriyah: "3.1.6", - minimatch: "3.0.4", - minimist: "1.2.5", - "n-readlines": "1.0.1", - outdent: "0.7.1", - "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", - "please-upgrade-node": "3.2.0", - "postcss-less": "3.1.4", - "postcss-media-query-parser": "0.2.3", - "postcss-scss": "2.1.1", - "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "2.0.1", - "regexp-util": "1.2.2", - "remark-footnotes": "2.0.0", - "remark-math": "3.0.1", - "remark-parse": "8.0.3", - resolve: "1.19.0", - semver: "7.3.2", - "string-width": "4.2.0", - typescript: "4.1.2", - "unicode-regex": "3.0.0", - unified: "9.2.0", - vnopts: "1.0.2", - "yaml-unist-parser": "1.3.1" -}; -var devDependencies = { - "@babel/core": "7.12.3", - "@babel/preset-env": "7.12.1", - "@babel/types": "7.12.6", - "@glimmer/reference": "0.66.0", - "@rollup/plugin-alias": "3.1.1", - "@rollup/plugin-babel": "5.2.1", - "@rollup/plugin-commonjs": "16.0.0", - "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "10.0.0", - "@rollup/plugin-replace": "2.3.4", - "@types/estree": "0.0.45", - "@types/node": "14.14.0", - "@typescript-eslint/types": "4.8.1", - "babel-jest": "26.6.3", - "babel-loader": "8.2.1", - benchmark: "2.1.4", - "builtin-modules": "3.1.0", - "cross-env": "7.0.2", - cspell: "4.2.2", - eslint: "7.13.0", - "eslint-config-prettier": "6.15.0", - "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.1.3", - "eslint-plugin-prettier-internal-rules": "file:scripts/tools/eslint-plugin-prettier-internal-rules", - "eslint-plugin-react": "7.21.5", - "eslint-plugin-unicorn": "23.0.0", - execa: "4.1.0", - jest: "26.6.3", - "jest-snapshot-serializer-ansi": "1.0.0", - "jest-snapshot-serializer-raw": "1.1.0", - "jest-watch-typeahead": "0.6.1", - "npm-run-all": "4.1.5", - "path-browserify": "1.0.1", - prettier: "2.2.0", - rimraf: "3.0.2", - rollup: "2.33.3", - "rollup-plugin-node-globals": "1.4.0", - "rollup-plugin-terser": "7.0.2", - shelljs: "0.8.4", - "snapshot-diff": "0.8.1", - "strip-ansi": "6.0.0", - "synchronous-promise": "2.0.15", - tempy: "1.0.0", - "terser-webpack-plugin": "5.0.3", - webpack: "5.5.1" -}; -var scripts = { - prepublishOnly: "echo \"Error: must publish from dist/\" && exit 1", - "prepare-release": "yarn && yarn build && yarn test:dist", - test: "jest", - "test:dev-package": "cross-env INSTALL_PACKAGE=1 jest", - "test:dist": "cross-env NODE_ENV=production jest", - "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", - "test:integration": "jest tests_integration", - "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - lint: "run-p lint:*", - "lint:typecheck": "tsc", - "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", - "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2018 \"dist/!(bin-prettier|index|third-party).js\"", - "lint:spellcheck": "cspell \"**/*\" \".github/**/*\"", - "lint:deps": "node ./scripts/check-deps.js", - fix: "run-s fix:eslint fix:prettier", - "fix:eslint": "yarn lint:eslint --fix", - "fix:prettier": "yarn lint:prettier --write", - build: "node --max-old-space-size=3072 ./scripts/build/build.js", - "build-docs": "node ./scripts/build-docs.js" -}; -var require$$1 = { - name: name, - version: version, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts -}; - -var fastJsonStableStringify = function (data, opts) { - if (!opts) opts = {}; - if (typeof opts === 'function') opts = { - cmp: opts - }; - var cycles = typeof opts.cycles === 'boolean' ? opts.cycles : false; - - var cmp = opts.cmp && function (f) { - return function (node) { - return function (a, b) { - var aobj = { - key: a, - value: node[a] - }; - var bobj = { - key: b, - value: node[b] - }; - return f(aobj, bobj); - }; - }; - }(opts.cmp); - - var seen = []; - return function stringify(node) { - if (node && node.toJSON && typeof node.toJSON === 'function') { - node = node.toJSON(); - } - - if (node === undefined) return; - if (typeof node == 'number') return isFinite(node) ? '' + node : 'null'; - if (typeof node !== 'object') return JSON.stringify(node); - var i, out; - - if (Array.isArray(node)) { - out = '['; - - for (i = 0; i < node.length; i++) { - if (i) out += ','; - out += stringify(node[i]) || 'null'; - } - - return out + ']'; - } - - if (node === null) return 'null'; - - if (seen.indexOf(node) !== -1) { - if (cycles) return JSON.stringify('__cycle__'); - throw new TypeError('Converting circular structure to JSON'); - } - - var seenIndex = seen.push(node) - 1; - var keys = Object.keys(node).sort(cmp && cmp(node)); - out = ''; - - for (i = 0; i < keys.length; i++) { - var key = keys[i]; - var value = stringify(node[key]); - if (!value) continue; - if (out) out += ','; - out += JSON.stringify(key) + ':' + value; - } - - seen.splice(seenIndex, 1); - return '{' + out + '}'; - }(data); -}; - -var src = require("./index"); - -const preserveCamelCase = (string, locale) => { - let isLastCharLower = false; - let isLastCharUpper = false; - let isLastLastCharUpper = false; - - for (let i = 0; i < string.length; i++) { - const character = string[i]; - - if (isLastCharLower && /[\p{Lu}]/u.test(character)) { - string = string.slice(0, i) + '-' + string.slice(i); - isLastCharLower = false; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = true; - i++; - } else if (isLastCharUpper && isLastLastCharUpper && /[\p{Ll}]/u.test(character)) { - string = string.slice(0, i - 1) + '-' + string.slice(i - 1); - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = false; - isLastCharLower = true; - } else { - isLastCharLower = character.toLocaleLowerCase(locale) === character && character.toLocaleUpperCase(locale) !== character; - isLastLastCharUpper = isLastCharUpper; - isLastCharUpper = character.toLocaleUpperCase(locale) === character && character.toLocaleLowerCase(locale) !== character; - } - } - - return string; -}; - -const preserveConsecutiveUppercase = input => { - return input.replace(/^[\p{Lu}](?![\p{Lu}])/gu, m1 => m1.toLowerCase()); -}; - -const postProcess = (input, options) => { - return input.replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toLocaleUpperCase(options.locale)).replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toLocaleUpperCase(options.locale)); -}; - -const camelCase = (input, options) => { - if (!(typeof input === 'string' || Array.isArray(input))) { - throw new TypeError('Expected the input to be `string | string[]`'); - } - - options = Object.assign({ - pascalCase: false, - preserveConsecutiveUppercase: false - }, options); - - if (Array.isArray(input)) { - input = input.map(x => x.trim()).filter(x => x.length).join('-'); - } else { - input = input.trim(); - } - - if (input.length === 0) { - return ''; - } - - if (input.length === 1) { - return options.pascalCase ? input.toLocaleUpperCase(options.locale) : input.toLocaleLowerCase(options.locale); - } - - const hasUpperCase = input !== input.toLocaleLowerCase(options.locale); - - if (hasUpperCase) { - input = preserveCamelCase(input, options.locale); - } - - input = input.replace(/^[_.\- ]+/, ''); - - if (options.preserveConsecutiveUppercase) { - input = preserveConsecutiveUppercase(input); - } else { - input = input.toLocaleLowerCase(); - } - - if (options.pascalCase) { - input = input.charAt(0).toLocaleUpperCase(options.locale) + input.slice(1); - } - - return postProcess(input, options); -}; - -var camelcase = camelCase; // TODO: Remove this for the next major release - -var _default = camelCase; -camelcase.default = _default; - -/*! - * dashify - * - * Copyright (c) 2015-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -var dashify = (str, options) => { - if (typeof str !== 'string') throw new TypeError('expected a string'); - return str.trim().replace(/([a-z])([A-Z])/g, '$1-$2').replace(/\W/g, m => /[À-ž]/.test(m) ? m : '-').replace(/^-+|-+$/g, '').replace(/-{2,}/g, m => options && options.condense ? '-' : m).toLowerCase(); -}; - -function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); - } - }, fn(module, module.exports), module.exports; -} - -function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); -} - -var colorName = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - -/* MIT license */ - -/* eslint-disable no-mixed-operators */ -// NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - -const reverseKeywords = {}; - -for (const key of Object.keys(colorName)) { - reverseKeywords[colorName[key]] = key; -} - -const convert = { - rgb: { - channels: 3, - labels: 'rgb' - }, - hsl: { - channels: 3, - labels: 'hsl' - }, - hsv: { - channels: 3, - labels: 'hsv' - }, - hwb: { - channels: 3, - labels: 'hwb' - }, - cmyk: { - channels: 4, - labels: 'cmyk' - }, - xyz: { - channels: 3, - labels: 'xyz' - }, - lab: { - channels: 3, - labels: 'lab' - }, - lch: { - channels: 3, - labels: 'lch' - }, - hex: { - channels: 1, - labels: ['hex'] - }, - keyword: { - channels: 1, - labels: ['keyword'] - }, - ansi16: { - channels: 1, - labels: ['ansi16'] - }, - ansi256: { - channels: 1, - labels: ['ansi256'] - }, - hcg: { - channels: 3, - labels: ['h', 'c', 'g'] - }, - apple: { - channels: 3, - labels: ['r16', 'g16', 'b16'] - }, - gray: { - channels: 1, - labels: ['gray'] - } -}; -var conversions = convert; // Hide .channels and .labels properties - -for (const model of Object.keys(convert)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - const { - channels, - labels - } = convert[model]; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', { - value: channels - }); - Object.defineProperty(convert[model], 'labels', { - value: labels - }); -} - -convert.rgb.hsl = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const min = Math.min(r, g, b); - const max = Math.max(r, g, b); - const delta = max - min; - let h; - let s; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - const l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - let rdif; - let gdif; - let bdif; - let h; - let s; - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const v = Math.max(r, g, b); - const diff = v - Math.min(r, g, b); - - const diffc = function (c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = 0; - s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [h * 360, s * 100, v * 100]; -}; - -convert.rgb.hwb = function (rgb) { - const r = rgb[0]; - const g = rgb[1]; - let b = rgb[2]; - const h = convert.rgb.hsl(rgb)[0]; - const w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const k = Math.min(1 - r, 1 - g, 1 - b); - const c = (1 - r - k) / (1 - k) || 0; - const m = (1 - g - k) / (1 - k) || 0; - const y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; -}; - -function comparativeDistance(x, y) { - /* - See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - */ - return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2; -} - -convert.rgb.keyword = function (rgb) { - const reversed = reverseKeywords[rgb]; - - if (reversed) { - return reversed; - } - - let currentClosestDistance = Infinity; - let currentClosestKeyword; - - for (const keyword of Object.keys(colorName)) { - const value = colorName[keyword]; // Compute comparative distance - - const distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest - - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return colorName[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - let r = rgb[0] / 255; - let g = rgb[1] / 255; - let b = rgb[2] / 255; // Assume sRGB - - r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92; - g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92; - b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92; - const x = r * 0.4124 + g * 0.3576 + b * 0.1805; - const y = r * 0.2126 + g * 0.7152 + b * 0.0722; - const z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - const xyz = convert.rgb.xyz(rgb); - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; - const l = 116 * y - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - const h = hsl[0] / 360; - const s = hsl[1] / 100; - const l = hsl[2] / 100; - let t2; - let t3; - let val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - const t1 = 2 * l - t2; - const rgb = [0, 0, 0]; - - for (let i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - const h = hsl[0]; - let s = hsl[1] / 100; - let l = hsl[2] / 100; - let smin = s; - const lmin = Math.max(l, 0.01); - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - const v = (l + s) / 2; - const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - const h = hsv[0] / 60; - const s = hsv[1] / 100; - let v = hsv[2] / 100; - const hi = Math.floor(h) % 6; - const f = h - Math.floor(h); - const p = 255 * v * (1 - s); - const q = 255 * v * (1 - s * f); - const t = 255 * v * (1 - s * (1 - f)); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - - case 1: - return [q, v, p]; - - case 2: - return [p, v, t]; - - case 3: - return [p, q, v]; - - case 4: - return [t, p, v]; - - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - const h = hsv[0]; - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const vmin = Math.max(v, 0.01); - let sl; - let l; - l = (2 - s) * v; - const lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; -}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb - - -convert.hwb.rgb = function (hwb) { - const h = hwb[0] / 360; - let wh = hwb[1] / 100; - let bl = hwb[2] / 100; - const ratio = wh + bl; - let f; // Wh + bl cant be > 1 - - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - const i = Math.floor(6 * h); - const v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - const n = wh + f * (v - wh); // Linear interpolation - - let r; - let g; - let b; - /* eslint-disable max-statements-per-line,no-multi-spaces */ - - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - - case 1: - r = n; - g = v; - b = wh; - break; - - case 2: - r = wh; - g = v; - b = n; - break; - - case 3: - r = wh; - g = n; - b = v; - break; - - case 4: - r = n; - g = wh; - b = v; - break; - - case 5: - r = v; - g = wh; - b = n; - break; - } - /* eslint-enable max-statements-per-line,no-multi-spaces */ - - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - const c = cmyk[0] / 100; - const m = cmyk[1] / 100; - const y = cmyk[2] / 100; - const k = cmyk[3] / 100; - const r = 1 - Math.min(1, c * (1 - k) + k); - const g = 1 - Math.min(1, m * (1 - k) + k); - const b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - const x = xyz[0] / 100; - const y = xyz[1] / 100; - const z = xyz[2] / 100; - let r; - let g; - let b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.2040 + z * 1.0570; // Assume sRGB - - r = r > 0.0031308 ? 1.055 * r ** (1.0 / 2.4) - 0.055 : r * 12.92; - g = g > 0.0031308 ? 1.055 * g ** (1.0 / 2.4) - 0.055 : g * 12.92; - b = b > 0.0031308 ? 1.055 * b ** (1.0 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - let x = xyz[0]; - let y = xyz[1]; - let z = xyz[2]; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? x ** (1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? y ** (1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? z ** (1 / 3) : 7.787 * z + 16 / 116; - const l = 116 * y - 16; - const a = 500 * (x - y); - const b = 200 * (y - z); - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let x; - let y; - let z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - const y2 = y ** 3; - const x2 = x ** 3; - const z2 = z ** 3; - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - const l = lab[0]; - const a = lab[1]; - const b = lab[2]; - let h; - const hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - const c = Math.sqrt(a * a + b * b); - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - const l = lch[0]; - const c = lch[1]; - const h = lch[2]; - const hr = h / 360 * 2 * Math.PI; - const a = c * Math.cos(hr); - const b = c * Math.sin(hr); - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args, saturation = null) { - const [r, g, b] = args; - let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // Optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - const r = args[0]; - const g = args[1]; - const b = args[2]; // We use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round((r - 8) / 247 * 24) + 232; - } - - const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; -}; - -convert.ansi16.rgb = function (args) { - let color = args % 10; // Handle greyscale - - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - return [color, color, color]; - } - - const mult = (~~(args > 50) + 1) * 0.5; - const r = (color & 1) * mult * 255; - const g = (color >> 1 & 1) * mult * 255; - const b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // Handle greyscale - if (args >= 232) { - const c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - let rem; - const r = Math.floor(args / 36) / 5 * 255; - const g = Math.floor((rem = args % 36) / 6) / 5 * 255; - const b = rem % 6 / 5 * 255; - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - const integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - - if (!match) { - return [0, 0, 0]; - } - - let colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(char => { - return char + char; - }).join(''); - } - - const integer = parseInt(colorString, 16); - const r = integer >> 16 & 0xFF; - const g = integer >> 8 & 0xFF; - const b = integer & 0xFF; - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - const r = rgb[0] / 255; - const g = rgb[1] / 255; - const b = rgb[2] / 255; - const max = Math.max(Math.max(r, g), b); - const min = Math.min(Math.min(r, g), b); - const chroma = max - min; - let grayscale; - let hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma; - } - - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - const s = hsl[1] / 100; - const l = hsl[2] / 100; - const c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l); - let f = 0; - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - const s = hsv[1] / 100; - const v = hsv[2] / 100; - const c = s * v; - let f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - const h = hcg[0] / 360; - const c = hcg[1] / 100; - const g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - const pure = [0, 0, 0]; - const hi = h % 1 * 6; - const v = hi % 1; - const w = 1 - v; - let mg = 0; - /* eslint-disable max-statements-per-line */ - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - /* eslint-enable max-statements-per-line */ - - - mg = (1.0 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; -}; - -convert.hcg.hsv = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - let f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const l = g * (1.0 - c) + 0.5 * c; - let s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - const c = hcg[1] / 100; - const g = hcg[2] / 100; - const v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - const w = hwb[1] / 100; - const b = hwb[2] / 100; - const v = 1 - b; - const c = v - w; - let g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hsv = convert.gray.hsl; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - const val = Math.round(gray[0] / 100 * 255) & 0xFF; - const integer = (val << 16) + (val << 8) + val; - const string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - const val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; - -/* - This function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - -function buildGraph() { - const graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - - const models = Object.keys(conversions); - - for (let len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} // https://en.wikipedia.org/wiki/Breadth-first_search - - -function deriveBFS(fromModel) { - const graph = buildGraph(); - const queue = [fromModel]; // Unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - const current = queue.pop(); - const adjacents = Object.keys(conversions[current]); - - for (let len = adjacents.length, i = 0; i < len; i++) { - const adjacent = adjacents[i]; - const node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - const path = [graph[toModel].parent, toModel]; - let fn = conversions[graph[toModel].parent][toModel]; - let cur = graph[toModel].parent; - - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -var route = function (fromModel) { - const graph = deriveBFS(fromModel); - const conversion = {}; - const models = Object.keys(graph); - - for (let len = models.length, i = 0; i < len; i++) { - const toModel = models[i]; - const node = graph[toModel]; - - if (node.parent === null) { - // No possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - -const convert$1 = {}; -const models = Object.keys(conversions); - -function wrapRaw(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - return fn(args); - }; // Preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - const wrappedFn = function (...args) { - const arg0 = args[0]; - - if (arg0 === undefined || arg0 === null) { - return arg0; - } - - if (arg0.length > 1) { - args = arg0; - } - - const result = fn(args); // We're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - - if (typeof result === 'object') { - for (let len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; // Preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(fromModel => { - convert$1[fromModel] = {}; - Object.defineProperty(convert$1[fromModel], 'channels', { - value: conversions[fromModel].channels - }); - Object.defineProperty(convert$1[fromModel], 'labels', { - value: conversions[fromModel].labels - }); - const routes = route(fromModel); - const routeModels = Object.keys(routes); - routeModels.forEach(toModel => { - const fn = routes[toModel]; - convert$1[fromModel][toModel] = wrapRounded(fn); - convert$1[fromModel][toModel].raw = wrapRaw(fn); - }); -}); -var colorConvert = convert$1; - -var ansiStyles = createCommonjsModule(function (module) { - - const wrapAnsi16 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${code + offset}m`; - }; - - const wrapAnsi256 = (fn, offset) => (...args) => { - const code = fn(...args); - return `\u001B[${38 + offset};5;${code}m`; - }; - - const wrapAnsi16m = (fn, offset) => (...args) => { - const rgb = fn(...args); - return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - - const ansi2ansi = n => n; - - const rgb2rgb = (r, g, b) => [r, g, b]; - - const setLazyProperty = (object, property, get) => { - Object.defineProperty(object, property, { - get: () => { - const value = get(); - Object.defineProperty(object, property, { - value, - enumerable: true, - configurable: true - }); - return value; - }, - enumerable: true, - configurable: true - }); - }; - /** @type {typeof import('color-convert')} */ - - - let colorConvert$1; - - const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { - if (colorConvert$1 === undefined) { - colorConvert$1 = colorConvert; - } - - const offset = isBackground ? 10 : 0; - const styles = {}; - - for (const [sourceSpace, suite] of Object.entries(colorConvert$1)) { - const name = sourceSpace === 'ansi16' ? 'ansi' : sourceSpace; - - if (sourceSpace === targetSpace) { - styles[name] = wrap(identity, offset); - } else if (typeof suite === 'object') { - styles[name] = wrap(suite[targetSpace], offset); - } - } - - return styles; - }; - - function assembleStyles() { - const codes = new Map(); - const styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - // Bright color - blackBright: [90, 39], - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; // Alias bright black as gray (and grey) - - styles.color.gray = styles.color.blackBright; - styles.bgColor.bgGray = styles.bgColor.bgBlackBright; - styles.color.grey = styles.color.blackBright; - styles.bgColor.bgGrey = styles.bgColor.bgBlackBright; - - for (const [groupName, group] of Object.entries(styles)) { - for (const [styleName, style] of Object.entries(group)) { - styles[styleName] = { - open: `\u001B[${style[0]}m`, - close: `\u001B[${style[1]}m` - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - } - - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - styles.color.close = '\u001B[39m'; - styles.bgColor.close = '\u001B[49m'; - setLazyProperty(styles.color, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, false)); - setLazyProperty(styles.color, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, false)); - setLazyProperty(styles.bgColor, 'ansi', () => makeDynamicStyles(wrapAnsi16, 'ansi16', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi256', () => makeDynamicStyles(wrapAnsi256, 'ansi256', ansi2ansi, true)); - setLazyProperty(styles.bgColor, 'ansi16m', () => makeDynamicStyles(wrapAnsi16m, 'rgb', rgb2rgb, true)); - return styles; - } // Make the export immutable - - - Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles - }); -}); - -var hasFlag = (flag, argv = process.argv) => { - const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--'; - const position = argv.indexOf(prefix + flag); - const terminatorPosition = argv.indexOf('--'); - return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); -}; - -const { - env -} = process; -let forceColor; - -if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false') || hasFlag('color=never')) { - forceColor = 0; -} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true') || hasFlag('color=always')) { - forceColor = 1; -} - -if ('FORCE_COLOR' in env) { - if (env.FORCE_COLOR === 'true') { - forceColor = 1; - } else if (env.FORCE_COLOR === 'false') { - forceColor = 0; - } else { - forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3); - } -} - -function translateLevel(level) { - if (level === 0) { - return false; - } - - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; -} - -function supportsColor(haveStream, streamIsTTY) { - if (forceColor === 0) { - return 0; - } - - if (hasFlag('color=16m') || hasFlag('color=full') || hasFlag('color=truecolor')) { - return 3; - } - - if (hasFlag('color=256')) { - return 2; - } - - if (haveStream && !streamIsTTY && forceColor === undefined) { - return 0; - } - - const min = forceColor || 0; - - if (env.TERM === 'dumb') { - return min; - } - - if (process.platform === 'win32') { - // Windows 10 build 10586 is the first Windows release that supports 256 colors. - // Windows 10 build 14931 is the first release that supports 16m/TrueColor. - const osRelease = os__default['default'].release().split('.'); - - if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - - return 1; - } - - if ('CI' in env) { - if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { - return 1; - } - - return min; - } - - if ('TEAMCITY_VERSION' in env) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; - } - - if ('GITHUB_ACTIONS' in env) { - return 1; - } - - if (env.COLORTERM === 'truecolor') { - return 3; - } - - if ('TERM_PROGRAM' in env) { - const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); - - switch (env.TERM_PROGRAM) { - case 'iTerm.app': - return version >= 3 ? 3 : 2; - - case 'Apple_Terminal': - return 2; - // No default - } - } - - if (/-256(color)?$/i.test(env.TERM)) { - return 2; - } - - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { - return 1; - } - - if ('COLORTERM' in env) { - return 1; - } - - return min; -} - -function getSupportLevel(stream) { - const level = supportsColor(stream, stream && stream.isTTY); - return translateLevel(level); -} - -var supportsColor_1 = { - supportsColor: getSupportLevel, - stdout: translateLevel(supportsColor(true, tty__default['default'].isatty(1))), - stderr: translateLevel(supportsColor(true, tty__default['default'].isatty(2))) -}; - -const stringReplaceAll = (string, substring, replacer) => { - let index = string.indexOf(substring); - - if (index === -1) { - return string; - } - - const substringLength = substring.length; - let endIndex = 0; - let returnValue = ''; - - do { - returnValue += string.substr(endIndex, index - endIndex) + substring + replacer; - endIndex = index + substringLength; - index = string.indexOf(substring, endIndex); - } while (index !== -1); - - returnValue += string.substr(endIndex); - return returnValue; -}; - -const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => { - let endIndex = 0; - let returnValue = ''; - - do { - const gotCR = string[index - 1] === '\r'; - returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix; - endIndex = index + 1; - index = string.indexOf('\n', endIndex); - } while (index !== -1); - - returnValue += string.substr(endIndex); - return returnValue; -}; - -var util = { - stringReplaceAll, - stringEncaseCRLFWithFirstIndex -}; - -const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi; -const ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', '\u001B'], ['a', '\u0007']]); - -function unescape(c) { - const u = c[0] === 'u'; - const bracket = c[1] === '{'; - - if (u && !bracket && c.length === 5 || c[0] === 'x' && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - - if (u && bracket) { - return String.fromCodePoint(parseInt(c.slice(2, -1), 16)); - } - - return ESCAPES.get(c) || c; -} - -function parseArguments(name, arguments_) { - const results = []; - const chunks = arguments_.trim().split(/\s*,\s*/g); - let matches; - - for (const chunk of chunks) { - const number = Number(chunk); - - if (!Number.isNaN(number)) { - results.push(number); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - - return results; -} - -function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - - return results; -} - -function buildStyle(chalk, styles) { - const enabled = {}; - - for (const layer of styles) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - - let current = chalk; - - for (const [styleName, styles] of Object.entries(enabled)) { - if (!Array.isArray(styles)) { - continue; - } - - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - - current = styles.length > 0 ? current[styleName](...styles) : current[styleName]; - } - - return current; -} - -var templates = (chalk, temporary) => { - const styles = []; - const chunks = []; - let chunk = []; // eslint-disable-next-line max-params - - temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => { - if (escapeCharacter) { - chunk.push(unescape(escapeCharacter)); - } else if (style) { - const string = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string)); - styles.push({ - inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } - - chunks.push(buildStyle(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(character); - } - }); - chunks.push(chunk.join('')); - - if (styles.length > 0) { - const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; - throw new Error(errMessage); - } - - return chunks.join(''); -}; - -const { - stdout: stdoutColor, - stderr: stderrColor -} = supportsColor_1; -const { - stringReplaceAll: stringReplaceAll$1, - stringEncaseCRLFWithFirstIndex: stringEncaseCRLFWithFirstIndex$1 -} = util; -const { - isArray -} = Array; // `supportsColor.level` → `ansiStyles.color[name]` mapping - -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; -const styles = Object.create(null); - -const applyOptions = (object, options = {}) => { - if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) { - throw new Error('The `level` option should be an integer from 0 to 3'); - } // Detect level if not set manually - - - const colorLevel = stdoutColor ? stdoutColor.level : 0; - object.level = options.level === undefined ? colorLevel : options.level; -}; - -class ChalkClass { - constructor(options) { - // eslint-disable-next-line no-constructor-return - return chalkFactory(options); - } - -} - -const chalkFactory = options => { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_); - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = () => { - throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.'); - }; - - chalk.template.Instance = ChalkClass; - return chalk.template; -}; - -function Chalk(options) { - return chalkFactory(options); -} - -for (const [styleName, style] of Object.entries(ansiStyles)) { - styles[styleName] = { - get() { - const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty); - Object.defineProperty(this, styleName, { - value: builder - }); - return builder; - } - - }; -} - -styles.visible = { - get() { - const builder = createBuilder(this, this._styler, true); - Object.defineProperty(this, 'visible', { - value: builder - }); - return builder; - } - -}; -const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256']; - -for (const model of usedModels) { - styles[model] = { - get() { - const { - level - } = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - - }; -} - -for (const model of usedModels) { - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const { - level - } = this; - return function (...arguments_) { - const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler); - return createBuilder(this, styler, this._isEmpty); - }; - } - - }; -} - -const proto = Object.defineProperties(() => {}, Object.assign({}, styles, { - level: { - enumerable: true, - - get() { - return this._generator.level; - }, - - set(level) { - this._generator.level = level; - } - - } -})); - -const createStyler = (open, close, parent) => { - let openAll; - let closeAll; - - if (parent === undefined) { - openAll = open; - closeAll = close; - } else { - openAll = parent.openAll + open; - closeAll = close + parent.closeAll; - } - - return { - open, - close, - openAll, - closeAll, - parent - }; -}; - -const createBuilder = (self, _styler, _isEmpty) => { - const builder = (...arguments_) => { - if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) { - // Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}` - return applyStyle(builder, chalkTag(builder, ...arguments_)); - } // Single argument is hot path, implicit coercion is faster than anything - // eslint-disable-next-line no-implicit-coercion - - - return applyStyle(builder, arguments_.length === 1 ? '' + arguments_[0] : arguments_.join(' ')); - }; // We alter the prototype because we must return a function, but there is - // no way to create a function with a different prototype - - - Object.setPrototypeOf(builder, proto); - builder._generator = self; - builder._styler = _styler; - builder._isEmpty = _isEmpty; - return builder; -}; - -const applyStyle = (self, string) => { - if (self.level <= 0 || !string) { - return self._isEmpty ? '' : string; - } - - let styler = self._styler; - - if (styler === undefined) { - return string; - } - - const { - openAll, - closeAll - } = styler; - - if (string.indexOf('\u001B') !== -1) { - while (styler !== undefined) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - string = stringReplaceAll$1(string, styler.close, styler.open); - styler = styler.parent; - } - } // We can move both next actions out of loop, because remaining actions in loop won't have - // any/visible effect on parts we add here. Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92 - - - const lfIndex = string.indexOf('\n'); - - if (lfIndex !== -1) { - string = stringEncaseCRLFWithFirstIndex$1(string, closeAll, openAll, lfIndex); - } - - return openAll + string + closeAll; -}; - -let template; - -const chalkTag = (chalk, ...strings) => { - const [firstString] = strings; - - if (!isArray(firstString) || !isArray(firstString.raw)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return strings.join(' '); - } - - const arguments_ = strings.slice(1); - const parts = [firstString.raw[0]]; - - for (let i = 1; i < firstString.length; i++) { - parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'), String(firstString.raw[i])); - } - - if (template === undefined) { - template = templates; - } - - return template(chalk, parts.join('')); -}; - -Object.defineProperties(Chalk.prototype, styles); -const chalk = Chalk(); // eslint-disable-line new-cap - -chalk.supportsColor = stdoutColor; -chalk.stderr = Chalk({ - level: stderrColor ? stderrColor.level : 0 -}); // eslint-disable-line new-cap - -chalk.stderr.supportsColor = stderrColor; -var source = chalk; - -/** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ -function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - - return result; -} - -var fromPairs_1 = fromPairs; - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray$1 = Array.isArray; -var isArray_1 = isArray$1; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; -var _freeGlobal = freeGlobal; - -/** Detect free variable `self`. */ - -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; -/** Used as a reference to the global object. */ - -var root = _freeGlobal || freeSelf || Function('return this')(); -var _root = root; - -/** Built-in value references. */ - -var Symbol$1 = _root.Symbol; -var _Symbol = Symbol$1; - -/** Used for built-in method references. */ - -var objectProto = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString = objectProto.toString; -/** Built-in value references. */ - -var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - - return result; -} - -var _getRawTag = getRawTag; - -/** Used for built-in method references. */ -var objectProto$1 = Object.prototype; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - -var nativeObjectToString$1 = objectProto$1.toString; -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - -function objectToString(value) { - return nativeObjectToString$1.call(value); -} - -var _objectToString = objectToString; - -/** `Object#toString` result references. */ - -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; -/** Built-in value references. */ - -var symToStringTag$1 = _Symbol ? _Symbol.toStringTag : undefined; -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - - return symToStringTag$1 && symToStringTag$1 in Object(value) ? _getRawTag(value) : _objectToString(value); -} - -var _baseGetTag = baseGetTag; - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -var isObjectLike_1 = isObjectLike; - -/** `Object#toString` result references. */ - -var symbolTag = '[object Symbol]'; -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - -function isSymbol(value) { - return typeof value == 'symbol' || isObjectLike_1(value) && _baseGetTag(value) == symbolTag; -} - -var isSymbol_1 = isSymbol; - -/** Used to match property names within property paths. */ - -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - -function isKey(value, object) { - if (isArray_1(value)) { - return false; - } - - var type = typeof value; - - if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol_1(value)) { - return true; - } - - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); -} - -var _isKey = isKey; - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); -} - -var isObject_1 = isObject; - -/** `Object#toString` result references. */ - -var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - proxyTag = '[object Proxy]'; -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - -function isFunction(value) { - if (!isObject_1(value)) { - return false; - } // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - - - var tag = _baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; -} - -var isFunction_1 = isFunction; - -/** Used to detect overreaching core-js shims. */ - -var coreJsData = _root['__core-js_shared__']; -var _coreJsData = coreJsData; - -/** Used to detect methods masquerading as native. */ - -var maskSrcKey = function () { - var uid = /[^.]+$/.exec(_coreJsData && _coreJsData.keys && _coreJsData.keys.IE_PROTO || ''); - return uid ? 'Symbol(src)_1.' + uid : ''; -}(); -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - - -function isMasked(func) { - return !!maskSrcKey && maskSrcKey in func; -} - -var _isMasked = isMasked; - -/** Used for built-in method references. */ -var funcProto = Function.prototype; -/** Used to resolve the decompiled source of functions. */ - -var funcToString = funcProto.toString; -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - -function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - - try { - return func + ''; - } catch (e) {} - } - - return ''; -} - -var _toSource = toSource; - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -/** Used to detect host constructors (Safari). */ - -var reIsHostCtor = /^\[object .+?Constructor\]$/; -/** Used for built-in method references. */ - -var funcProto$1 = Function.prototype, - objectProto$2 = Object.prototype; -/** Used to resolve the decompiled source of functions. */ - -var funcToString$1 = funcProto$1.toString; -/** Used to check objects for own properties. */ - -var hasOwnProperty$1 = objectProto$2.hasOwnProperty; -/** Used to detect if a method is native. */ - -var reIsNative = RegExp('^' + funcToString$1.call(hasOwnProperty$1).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - -function baseIsNative(value) { - if (!isObject_1(value) || _isMasked(value)) { - return false; - } - - var pattern = isFunction_1(value) ? reIsNative : reIsHostCtor; - return pattern.test(_toSource(value)); -} - -var _baseIsNative = baseIsNative; - -/** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function getValue(object, key) { - return object == null ? undefined : object[key]; -} - -var _getValue = getValue; - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - -function getNative(object, key) { - var value = _getValue(object, key); - return _baseIsNative(value) ? value : undefined; -} - -var _getNative = getNative; - -/* Built-in method references that are verified to be native. */ - -var nativeCreate = _getNative(Object, 'create'); -var _nativeCreate = nativeCreate; - -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - -function hashClear() { - this.__data__ = _nativeCreate ? _nativeCreate(null) : {}; - this.size = 0; -} - -var _hashClear = hashClear; - -/** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; -} - -var _hashDelete = hashDelete; - -/** Used to stand-in for `undefined` hash values. */ - -var HASH_UNDEFINED = '__lodash_hash_undefined__'; -/** Used for built-in method references. */ - -var objectProto$3 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$2 = objectProto$3.hasOwnProperty; -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function hashGet(key) { - var data = this.__data__; - - if (_nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - - return hasOwnProperty$2.call(data, key) ? data[key] : undefined; -} - -var _hashGet = hashGet; - -/** Used for built-in method references. */ - -var objectProto$4 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$3 = objectProto$4.hasOwnProperty; -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function hashHas(key) { - var data = this.__data__; - return _nativeCreate ? data[key] !== undefined : hasOwnProperty$3.call(data, key); -} - -var _hashHas = hashHas; - -/** Used to stand-in for `undefined` hash values. */ - -var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = _nativeCreate && value === undefined ? HASH_UNDEFINED$1 : value; - return this; -} - -var _hashSet = hashSet; - -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `Hash`. - - -Hash.prototype.clear = _hashClear; -Hash.prototype['delete'] = _hashDelete; -Hash.prototype.get = _hashGet; -Hash.prototype.has = _hashHas; -Hash.prototype.set = _hashSet; -var _Hash = Hash; - -/** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ -function listCacheClear() { - this.__data__ = []; - this.size = 0; -} - -var _listCacheClear = listCacheClear; - -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || value !== value && other !== other; -} - -var eq_1 = eq; - -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - -function assocIndexOf(array, key) { - var length = array.length; - - while (length--) { - if (eq_1(array[length][0], key)) { - return length; - } - } - - return -1; -} - -var _assocIndexOf = assocIndexOf; - -/** Used for built-in method references. */ - -var arrayProto = Array.prototype; -/** Built-in value references. */ - -var splice = arrayProto.splice; -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - -function listCacheDelete(key) { - var data = this.__data__, - index = _assocIndexOf(data, key); - - if (index < 0) { - return false; - } - - var lastIndex = data.length - 1; - - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - - --this.size; - return true; -} - -var _listCacheDelete = listCacheDelete; - -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function listCacheGet(key) { - var data = this.__data__, - index = _assocIndexOf(data, key); - return index < 0 ? undefined : data[index][1]; -} - -var _listCacheGet = listCacheGet; - -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function listCacheHas(key) { - return _assocIndexOf(this.__data__, key) > -1; -} - -var _listCacheHas = listCacheHas; - -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - -function listCacheSet(key, value) { - var data = this.__data__, - index = _assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - - return this; -} - -var _listCacheSet = listCacheSet; - -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `ListCache`. - - -ListCache.prototype.clear = _listCacheClear; -ListCache.prototype['delete'] = _listCacheDelete; -ListCache.prototype.get = _listCacheGet; -ListCache.prototype.has = _listCacheHas; -ListCache.prototype.set = _listCacheSet; -var _ListCache = ListCache; - -/* Built-in method references that are verified to be native. */ - -var Map$1 = _getNative(_root, 'Map'); -var _Map = Map$1; - -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - -function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new _Hash(), - 'map': new (_Map || _ListCache)(), - 'string': new _Hash() - }; -} - -var _mapCacheClear = mapCacheClear; - -/** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ -function isKeyable(value) { - var type = typeof value; - return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null; -} - -var _isKeyable = isKeyable; - -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - -function getMapData(map, key) { - var data = map.__data__; - return _isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map; -} - -var _getMapData = getMapData; - -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - -function mapCacheDelete(key) { - var result = _getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; -} - -var _mapCacheDelete = mapCacheDelete; - -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - -function mapCacheGet(key) { - return _getMapData(this, key).get(key); -} - -var _mapCacheGet = mapCacheGet; - -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - -function mapCacheHas(key) { - return _getMapData(this, key).has(key); -} - -var _mapCacheHas = mapCacheHas; - -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - -function mapCacheSet(key, value) { - var data = _getMapData(this, key), - size = data.size; - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; -} - -var _mapCacheSet = mapCacheSet; - -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - this.clear(); - - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} // Add methods to `MapCache`. - - -MapCache.prototype.clear = _mapCacheClear; -MapCache.prototype['delete'] = _mapCacheDelete; -MapCache.prototype.get = _mapCacheGet; -MapCache.prototype.has = _mapCacheHas; -MapCache.prototype.set = _mapCacheSet; -var _MapCache = MapCache; - -/** Error message constants. */ - -var FUNC_ERROR_TEXT = 'Expected a function'; -/** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - -function memoize(func, resolver) { - if (typeof func != 'function' || resolver != null && typeof resolver != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - - var memoized = function () { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - - memoized.cache = new (memoize.Cache || _MapCache)(); - return memoized; -} // Expose `MapCache`. - - -memoize.Cache = _MapCache; -var memoize_1 = memoize; - -/** Used as the maximum memoize cache size. */ - -var MAX_MEMOIZE_SIZE = 500; -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - -function memoizeCapped(func) { - var result = memoize_1(func, function (key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - - return key; - }); - var cache = result.cache; - return result; -} - -var _memoizeCapped = memoizeCapped; - -/** Used to match property names within property paths. */ - -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; -/** Used to match backslashes in property paths. */ - -var reEscapeChar = /\\(\\)?/g; -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - -var stringToPath = _memoizeCapped(function (string) { - var result = []; - - if (string.charCodeAt(0) === 46 - /* . */ - ) { - result.push(''); - } - - string.replace(rePropName, function (match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match); - }); - return result; -}); -var _stringToPath = stringToPath; - -/** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - - return result; -} - -var _arrayMap = arrayMap; - -/** Used as references for various `Number` constants. */ - -var INFINITY = 1 / 0; -/** Used to convert symbols to primitives and strings. */ - -var symbolProto = _Symbol ? _Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - - if (isArray_1(value)) { - // Recursively convert values (susceptible to call stack limits). - return _arrayMap(value, baseToString) + ''; - } - - if (isSymbol_1(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - - var result = value + ''; - return result == '0' && 1 / value == -INFINITY ? '-0' : result; -} - -var _baseToString = baseToString; - -/** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - -function toString(value) { - return value == null ? '' : _baseToString(value); -} - -var toString_1 = toString; - -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - -function castPath(value, object) { - if (isArray_1(value)) { - return value; - } - - return _isKey(value, object) ? [value] : _stringToPath(toString_1(value)); -} - -var _castPath = castPath; - -/** Used as references for various `Number` constants. */ - -var INFINITY$1 = 1 / 0; -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - -function toKey(value) { - if (typeof value == 'string' || isSymbol_1(value)) { - return value; - } - - var result = value + ''; - return result == '0' && 1 / value == -INFINITY$1 ? '-0' : result; -} - -var _toKey = toKey; - -/** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - -function baseGet(object, path) { - path = _castPath(path, object); - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[_toKey(path[index++])]; - } - - return index && index == length ? object : undefined; -} - -var _baseGet = baseGet; - -var defineProperty = function () { - try { - var func = _getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} -}(); - -var _defineProperty = defineProperty; - -/** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - -function baseAssignValue(object, key, value) { - if (key == '__proto__' && _defineProperty) { - _defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } -} - -var _baseAssignValue = baseAssignValue; - -/** Used for built-in method references. */ - -var objectProto$5 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$4 = objectProto$5.hasOwnProperty; -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - -function assignValue(object, key, value) { - var objValue = object[key]; - - if (!(hasOwnProperty$4.call(object, key) && eq_1(objValue, value)) || value === undefined && !(key in object)) { - _baseAssignValue(object, key, value); - } -} - -var _assignValue = assignValue; - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; -/** Used to detect unsigned integer values. */ - -var reIsUint = /^(?:0|[1-9]\d*)$/; -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - -function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length; -} - -var _isIndex = isIndex; - -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - -function baseSet(object, path, value, customizer) { - if (!isObject_1(object)) { - return object; - } - - path = _castPath(path, object); - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = _toKey(path[index]), - newValue = value; - - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { - return object; - } - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - - if (newValue === undefined) { - newValue = isObject_1(objValue) ? objValue : _isIndex(path[index + 1]) ? [] : {}; - } - } - - _assignValue(nested, key, newValue); - nested = nested[key]; - } - - return object; -} - -var _baseSet = baseSet; - -/** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - -function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = _baseGet(object, path); - - if (predicate(value, path)) { - _baseSet(result, _castPath(path, object), value); - } - } - - return result; -} - -var _basePickBy = basePickBy; - -/** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHasIn(object, key) { - return object != null && key in Object(object); -} - -var _baseHasIn = baseHasIn; - -/** `Object#toString` result references. */ - -var argsTag = '[object Arguments]'; -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - -function baseIsArguments(value) { - return isObjectLike_1(value) && _baseGetTag(value) == argsTag; -} - -var _baseIsArguments = baseIsArguments; - -/** Used for built-in method references. */ - -var objectProto$6 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$5 = objectProto$6.hasOwnProperty; -/** Built-in value references. */ - -var propertyIsEnumerable = objectProto$6.propertyIsEnumerable; -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - -var isArguments = _baseIsArguments(function () { - return arguments; -}()) ? _baseIsArguments : function (value) { - return isObjectLike_1(value) && hasOwnProperty$5.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee'); -}; -var isArguments_1 = isArguments; - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER$1 = 9007199254740991; -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1; -} - -var isLength_1 = isLength; - -/** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - -function hasPath(object, path, hasFunc) { - path = _castPath(path, object); - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = _toKey(path[index]); - - if (!(result = object != null && hasFunc(object, key))) { - break; - } - - object = object[key]; - } - - if (result || ++index != length) { - return result; - } - - length = object == null ? 0 : object.length; - return !!length && isLength_1(length) && _isIndex(key, length) && (isArray_1(object) || isArguments_1(object)); -} - -var _hasPath = hasPath; - -/** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - -function hasIn(object, path) { - return object != null && _hasPath(object, path, _baseHasIn); -} - -var hasIn_1 = hasIn; - -/** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - -function basePick(object, paths) { - return _basePickBy(object, paths, function (value, path) { - return hasIn_1(object, path); - }); -} - -var _basePick = basePick; - -/** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ -function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - - return array; -} - -var _arrayPush = arrayPush; - -/** Built-in value references. */ - -var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : undefined; -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - -function isFlattenable(value) { - return isArray_1(value) || isArguments_1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); -} - -var _isFlattenable = isFlattenable; - -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - -function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - predicate || (predicate = _isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - _arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - - return result; -} - -var _baseFlatten = baseFlatten; - -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - -function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? _baseFlatten(array, 1) : []; -} - -var flatten_1 = flatten; - -/** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ -function apply(func, thisArg, args) { - switch (args.length) { - case 0: - return func.call(thisArg); - - case 1: - return func.call(thisArg, args[0]); - - case 2: - return func.call(thisArg, args[0], args[1]); - - case 3: - return func.call(thisArg, args[0], args[1], args[2]); - } - - return func.apply(thisArg, args); -} - -var _apply = apply; - -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeMax = Math.max; -/** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - -function overRest(func, start, transform) { - start = nativeMax(start === undefined ? func.length - 1 : start, 0); - return function () { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - - index = -1; - var otherArgs = Array(start + 1); - - while (++index < start) { - otherArgs[index] = args[index]; - } - - otherArgs[start] = transform(array); - return _apply(func, this, otherArgs); - }; -} - -var _overRest = overRest; - -/** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ -function constant(value) { - return function () { - return value; - }; -} - -var constant_1 = constant; - -/** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ -function identity(value) { - return value; -} - -var identity_1 = identity; - -/** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - -var baseSetToString = !_defineProperty ? identity_1 : function (func, string) { - return _defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant_1(string), - 'writable': true - }); -}; -var _baseSetToString = baseSetToString; - -/** Used to detect hot functions by number of calls within a span of milliseconds. */ -var HOT_COUNT = 800, - HOT_SPAN = 16; -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeNow = Date.now; -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - -function shortOut(func) { - var count = 0, - lastCalled = 0; - return function () { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - lastCalled = stamp; - - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - - return func.apply(undefined, arguments); - }; -} - -var _shortOut = shortOut; - -/** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - -var setToString = _shortOut(_baseSetToString); -var _setToString = setToString; - -/** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - -function flatRest(func) { - return _setToString(_overRest(func, undefined, flatten_1), func + ''); -} - -var _flatRest = flatRest; - -/** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - -var pick = _flatRest(function (object, paths) { - return object == null ? {} : _basePick(object, paths); -}); -var pick_1 = pick; - -/** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - - return accumulator; -} - -var _arrayAggregator = arrayAggregator; - -/** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function (object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - - return object; - }; -} - -var _createBaseFor = createBaseFor; - -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - -var baseFor = _createBaseFor(); -var _baseFor = baseFor; - -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - - return result; -} - -var _baseTimes = baseTimes; - -/** - * This method returns `false`. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {boolean} Returns `false`. - * @example - * - * _.times(2, _.stubFalse); - * // => [false, false] - */ -function stubFalse() { - return false; -} - -var stubFalse_1 = stubFalse; - -var isBuffer_1 = createCommonjsModule(function (module, exports) { - /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; - /** Detect free variable `module`. */ - - var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; - /** Detect the popular CommonJS extension `module.exports`. */ - - var moduleExports = freeModule && freeModule.exports === freeExports; - /** Built-in value references. */ - - var Buffer = moduleExports ? _root.Buffer : undefined; - /* Built-in method references for those with the same name as other `lodash` methods. */ - - var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - - var isBuffer = nativeIsBuffer || stubFalse_1; - module.exports = isBuffer; -}); - -/** `Object#toString` result references. */ - -var argsTag$1 = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag$1 = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; -/** Used to identify `toStringTag` values of typed arrays. */ - -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag$1] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - -function baseIsTypedArray(value) { - return isObjectLike_1(value) && isLength_1(value.length) && !!typedArrayTags[_baseGetTag(value)]; -} - -var _baseIsTypedArray = baseIsTypedArray; - -/** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ -function baseUnary(func) { - return function (value) { - return func(value); - }; -} - -var _baseUnary = baseUnary; - -var _nodeUtil = createCommonjsModule(function (module, exports) { - /** Detect free variable `exports`. */ - var freeExports = exports && !exports.nodeType && exports; - /** Detect free variable `module`. */ - - var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module; - /** Detect the popular CommonJS extension `module.exports`. */ - - var moduleExports = freeModule && freeModule.exports === freeExports; - /** Detect free variable `process` from Node.js. */ - - var freeProcess = moduleExports && _freeGlobal.process; - /** Used to access faster Node.js helpers. */ - - var nodeUtil = function () { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } // Legacy `process.binding('util')` for Node.js < 10. - - - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }(); - - module.exports = nodeUtil; -}); - -/* Node.js helper references. */ - -var nodeIsTypedArray = _nodeUtil && _nodeUtil.isTypedArray; -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - -var isTypedArray = nodeIsTypedArray ? _baseUnary(nodeIsTypedArray) : _baseIsTypedArray; -var isTypedArray_1 = isTypedArray; - -/** Used for built-in method references. */ - -var objectProto$7 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$6 = objectProto$7.hasOwnProperty; -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - -function arrayLikeKeys(value, inherited) { - var isArr = isArray_1(value), - isArg = !isArr && isArguments_1(value), - isBuff = !isArr && !isArg && isBuffer_1(value), - isType = !isArr && !isArg && !isBuff && isTypedArray_1(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? _baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty$6.call(value, key)) && !(skipIndexes && ( // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || // Node.js 0.10 has enumerable non-index properties on buffers. - isBuff && (key == 'offset' || key == 'parent') || // PhantomJS 2 has enumerable non-index properties on typed arrays. - isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || // Skip index properties. - _isIndex(key, length)))) { - result.push(key); - } - } - - return result; -} - -var _arrayLikeKeys = arrayLikeKeys; - -/** Used for built-in method references. */ -var objectProto$8 = Object.prototype; -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = typeof Ctor == 'function' && Ctor.prototype || objectProto$8; - return value === proto; -} - -var _isPrototype = isPrototype; - -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function (arg) { - return func(transform(arg)); - }; -} - -var _overArg = overArg; - -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeKeys = _overArg(Object.keys, Object); -var _nativeKeys = nativeKeys; - -/** Used for built-in method references. */ - -var objectProto$9 = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$7 = objectProto$9.hasOwnProperty; -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - -function baseKeys(object) { - if (!_isPrototype(object)) { - return _nativeKeys(object); - } - - var result = []; - - for (var key in Object(object)) { - if (hasOwnProperty$7.call(object, key) && key != 'constructor') { - result.push(key); - } - } - - return result; -} - -var _baseKeys = baseKeys; - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - -function isArrayLike(value) { - return value != null && isLength_1(value.length) && !isFunction_1(value); -} - -var isArrayLike_1 = isArrayLike; - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - -function keys(object) { - return isArrayLike_1(object) ? _arrayLikeKeys(object) : _baseKeys(object); -} - -var keys_1 = keys; - -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - -function baseForOwn(object, iteratee) { - return object && _baseFor(object, iteratee, keys_1); -} - -var _baseForOwn = baseForOwn; - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - -function createBaseEach(eachFunc, fromRight) { - return function (collection, iteratee) { - if (collection == null) { - return collection; - } - - if (!isArrayLike_1(collection)) { - return eachFunc(collection, iteratee); - } - - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while (fromRight ? index-- : ++index < length) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - - return collection; - }; -} - -var _createBaseEach = createBaseEach; - -/** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - -var baseEach = _createBaseEach(_baseForOwn); -var _baseEach = baseEach; - -/** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - -function baseAggregator(collection, setter, iteratee, accumulator) { - _baseEach(collection, function (value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; -} - -var _baseAggregator = baseAggregator; - -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - -function stackClear() { - this.__data__ = new _ListCache(); - this.size = 0; -} - -var _stackClear = stackClear; - -/** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - this.size = data.size; - return result; -} - -var _stackDelete = stackDelete; - -/** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function stackGet(key) { - return this.__data__.get(key); -} - -var _stackGet = stackGet; - -/** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function stackHas(key) { - return this.__data__.has(key); -} - -var _stackHas = stackHas; - -/** Used as the size to enable large array optimizations. */ - -var LARGE_ARRAY_SIZE = 200; -/** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - -function stackSet(key, value) { - var data = this.__data__; - - if (data instanceof _ListCache) { - var pairs = data.__data__; - - if (!_Map || pairs.length < LARGE_ARRAY_SIZE - 1) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - - data = this.__data__ = new _MapCache(pairs); - } - - data.set(key, value); - this.size = data.size; - return this; -} - -var _stackSet = stackSet; - -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - -function Stack(entries) { - var data = this.__data__ = new _ListCache(entries); - this.size = data.size; -} // Add methods to `Stack`. - - -Stack.prototype.clear = _stackClear; -Stack.prototype['delete'] = _stackDelete; -Stack.prototype.get = _stackGet; -Stack.prototype.has = _stackHas; -Stack.prototype.set = _stackSet; -var _Stack = Stack; - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED$2 = '__lodash_hash_undefined__'; -/** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED$2); - - return this; -} - -var _setCacheAdd = setCacheAdd; - -/** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ -function setCacheHas(value) { - return this.__data__.has(value); -} - -var _setCacheHas = setCacheHas; - -/** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - -function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - this.__data__ = new _MapCache(); - - while (++index < length) { - this.add(values[index]); - } -} // Add methods to `SetCache`. - - -SetCache.prototype.add = SetCache.prototype.push = _setCacheAdd; -SetCache.prototype.has = _setCacheHas; -var _SetCache = SetCache; - -/** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - - return false; -} - -var _arraySome = arraySome; - -/** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function cacheHas(cache, key) { - return cache.has(key); -} - -var _cacheHas = cacheHas; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } // Check that cyclic values are equal. - - - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - - var index = -1, - result = true, - seen = bitmask & COMPARE_UNORDERED_FLAG ? new _SetCache() : undefined; - stack.set(array, other); - stack.set(other, array); // Ignore non-index properties. - - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); - } - - if (compared !== undefined) { - if (compared) { - continue; - } - - result = false; - break; - } // Recursively compare arrays (susceptible to call stack limits). - - - if (seen) { - if (!_arraySome(other, function (othValue, othIndex) { - if (!_cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - result = false; - break; - } - } - - stack['delete'](array); - stack['delete'](other); - return result; -} - -var _equalArrays = equalArrays; - -/** Built-in value references. */ - -var Uint8Array = _root.Uint8Array; -var _Uint8Array = Uint8Array; - -/** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ -function mapToArray(map) { - var index = -1, - result = Array(map.size); - map.forEach(function (value, key) { - result[++index] = [key, value]; - }); - return result; -} - -var _mapToArray = mapToArray; - -/** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ -function setToArray(set) { - var index = -1, - result = Array(set.size); - set.forEach(function (value) { - result[++index] = value; - }); - return result; -} - -var _setToArray = setToArray; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$1 = 1, - COMPARE_UNORDERED_FLAG$1 = 2; -/** `Object#toString` result references. */ - -var boolTag$1 = '[object Boolean]', - dateTag$1 = '[object Date]', - errorTag$1 = '[object Error]', - mapTag$1 = '[object Map]', - numberTag$1 = '[object Number]', - regexpTag$1 = '[object RegExp]', - setTag$1 = '[object Set]', - stringTag$1 = '[object String]', - symbolTag$1 = '[object Symbol]'; -var arrayBufferTag$1 = '[object ArrayBuffer]', - dataViewTag$1 = '[object DataView]'; -/** Used to convert symbols to primitives and strings. */ - -var symbolProto$1 = _Symbol ? _Symbol.prototype : undefined, - symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : undefined; -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag$1: - if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { - return false; - } - - object = object.buffer; - other = other.buffer; - - case arrayBufferTag$1: - if (object.byteLength != other.byteLength || !equalFunc(new _Uint8Array(object), new _Uint8Array(other))) { - return false; - } - - return true; - - case boolTag$1: - case dateTag$1: - case numberTag$1: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq_1(+object, +other); - - case errorTag$1: - return object.name == other.name && object.message == other.message; - - case regexpTag$1: - case stringTag$1: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == other + ''; - - case mapTag$1: - var convert = _mapToArray; - - case setTag$1: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$1; - convert || (convert = _setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } // Assume cyclic values are equal. - - - var stacked = stack.get(object); - - if (stacked) { - return stacked == other; - } - - bitmask |= COMPARE_UNORDERED_FLAG$1; // Recursively compare objects (susceptible to call stack limits). - - stack.set(object, other); - var result = _equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag$1: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - - } - - return false; -} - -var _equalByTag = equalByTag; - -/** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray_1(object) ? result : _arrayPush(result, symbolsFunc(object)); -} - -var _baseGetAllKeys = baseGetAllKeys; - -/** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - - return result; -} - -var _arrayFilter = arrayFilter; - -/** - * This method returns a new empty array. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {Array} Returns the new empty array. - * @example - * - * var arrays = _.times(2, _.stubArray); - * - * console.log(arrays); - * // => [[], []] - * - * console.log(arrays[0] === arrays[1]); - * // => false - */ -function stubArray() { - return []; -} - -var stubArray_1 = stubArray; - -/** Used for built-in method references. */ - -var objectProto$a = Object.prototype; -/** Built-in value references. */ - -var propertyIsEnumerable$1 = objectProto$a.propertyIsEnumerable; -/* Built-in method references for those with the same name as other `lodash` methods. */ - -var nativeGetSymbols = Object.getOwnPropertySymbols; -/** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - -var getSymbols = !nativeGetSymbols ? stubArray_1 : function (object) { - if (object == null) { - return []; - } - - object = Object(object); - return _arrayFilter(nativeGetSymbols(object), function (symbol) { - return propertyIsEnumerable$1.call(object, symbol); - }); -}; -var _getSymbols = getSymbols; - -/** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - -function getAllKeys(object) { - return _baseGetAllKeys(object, keys_1, _getSymbols); -} - -var _getAllKeys = getAllKeys; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$2 = 1; -/** Used for built-in method references. */ - -var objectProto$b = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$8 = objectProto$b.hasOwnProperty; -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG$2, - objProps = _getAllKeys(object), - objLength = objProps.length, - othProps = _getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - - var index = objLength; - - while (index--) { - var key = objProps[index]; - - if (!(isPartial ? key in other : hasOwnProperty$8.call(other, key))) { - return false; - } - } // Check that cyclic values are equal. - - - var objStacked = stack.get(object); - var othStacked = stack.get(other); - - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - - var result = true; - stack.set(object, other); - stack.set(other, object); - var skipCtor = isPartial; - - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); - } // Recursively compare objects (susceptible to call stack limits). - - - if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { - result = false; - break; - } - - skipCtor || (skipCtor = key == 'constructor'); - } - - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal. - - if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - - stack['delete'](object); - stack['delete'](other); - return result; -} - -var _equalObjects = equalObjects; - -/* Built-in method references that are verified to be native. */ - -var DataView = _getNative(_root, 'DataView'); -var _DataView = DataView; - -/* Built-in method references that are verified to be native. */ - -var Promise$1 = _getNative(_root, 'Promise'); -var _Promise = Promise$1; - -/* Built-in method references that are verified to be native. */ - -var Set$1 = _getNative(_root, 'Set'); -var _Set = Set$1; - -/* Built-in method references that are verified to be native. */ - -var WeakMap$1 = _getNative(_root, 'WeakMap'); -var _WeakMap = WeakMap$1; - -/** `Object#toString` result references. */ - -var mapTag$2 = '[object Map]', - objectTag$1 = '[object Object]', - promiseTag = '[object Promise]', - setTag$2 = '[object Set]', - weakMapTag$1 = '[object WeakMap]'; -var dataViewTag$2 = '[object DataView]'; -/** Used to detect maps, sets, and weakmaps. */ - -var dataViewCtorString = _toSource(_DataView), - mapCtorString = _toSource(_Map), - promiseCtorString = _toSource(_Promise), - setCtorString = _toSource(_Set), - weakMapCtorString = _toSource(_WeakMap); -/** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - -var getTag = _baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - -if (_DataView && getTag(new _DataView(new ArrayBuffer(1))) != dataViewTag$2 || _Map && getTag(new _Map()) != mapTag$2 || _Promise && getTag(_Promise.resolve()) != promiseTag || _Set && getTag(new _Set()) != setTag$2 || _WeakMap && getTag(new _WeakMap()) != weakMapTag$1) { - getTag = function (value) { - var result = _baseGetTag(value), - Ctor = result == objectTag$1 ? value.constructor : undefined, - ctorString = Ctor ? _toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: - return dataViewTag$2; - - case mapCtorString: - return mapTag$2; - - case promiseCtorString: - return promiseTag; - - case setCtorString: - return setTag$2; - - case weakMapCtorString: - return weakMapTag$1; - } - } - - return result; - }; -} - -var _getTag = getTag; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$3 = 1; -/** `Object#toString` result references. */ - -var argsTag$2 = '[object Arguments]', - arrayTag$1 = '[object Array]', - objectTag$2 = '[object Object]'; -/** Used for built-in method references. */ - -var objectProto$c = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$9 = objectProto$c.hasOwnProperty; -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray_1(object), - othIsArr = isArray_1(other), - objTag = objIsArr ? arrayTag$1 : _getTag(object), - othTag = othIsArr ? arrayTag$1 : _getTag(other); - objTag = objTag == argsTag$2 ? objectTag$2 : objTag; - othTag = othTag == argsTag$2 ? objectTag$2 : othTag; - var objIsObj = objTag == objectTag$2, - othIsObj = othTag == objectTag$2, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer_1(object)) { - if (!isBuffer_1(other)) { - return false; - } - - objIsArr = true; - objIsObj = false; - } - - if (isSameTag && !objIsObj) { - stack || (stack = new _Stack()); - return objIsArr || isTypedArray_1(object) ? _equalArrays(object, other, bitmask, customizer, equalFunc, stack) : _equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - - if (!(bitmask & COMPARE_PARTIAL_FLAG$3)) { - var objIsWrapped = objIsObj && hasOwnProperty$9.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty$9.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - stack || (stack = new _Stack()); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - - if (!isSameTag) { - return false; - } - - stack || (stack = new _Stack()); - return _equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} - -var _baseIsEqualDeep = baseIsEqualDeep; - -/** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - - if (value == null || other == null || !isObjectLike_1(value) && !isObjectLike_1(other)) { - return value !== value && other !== other; - } - - return _baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} - -var _baseIsEqual = baseIsEqual; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$4 = 1, - COMPARE_UNORDERED_FLAG$2 = 2; -/** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - - object = Object(object); - - while (index--) { - var data = matchData[index]; - - if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { - return false; - } - } - - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new _Stack(); - - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - - if (!(result === undefined ? _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$4 | COMPARE_UNORDERED_FLAG$2, customizer, stack) : result)) { - return false; - } - } - } - - return true; -} - -var _baseIsMatch = baseIsMatch; - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - -function isStrictComparable(value) { - return value === value && !isObject_1(value); -} - -var _isStrictComparable = isStrictComparable; - -/** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - -function getMatchData(object) { - var result = keys_1(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - result[length] = [key, value, _isStrictComparable(value)]; - } - - return result; -} - -var _getMatchData = getMatchData; - -/** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function matchesStrictComparable(key, srcValue) { - return function (object) { - if (object == null) { - return false; - } - - return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); - }; -} - -var _matchesStrictComparable = matchesStrictComparable; - -/** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - -function baseMatches(source) { - var matchData = _getMatchData(source); - - if (matchData.length == 1 && matchData[0][2]) { - return _matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - - return function (object) { - return object === source || _baseIsMatch(object, source, matchData); - }; -} - -var _baseMatches = baseMatches; - -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - -function get(object, path, defaultValue) { - var result = object == null ? undefined : _baseGet(object, path); - return result === undefined ? defaultValue : result; -} - -var get_1 = get; - -/** Used to compose bitmasks for value comparisons. */ - -var COMPARE_PARTIAL_FLAG$5 = 1, - COMPARE_UNORDERED_FLAG$3 = 2; -/** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - -function baseMatchesProperty(path, srcValue) { - if (_isKey(path) && _isStrictComparable(srcValue)) { - return _matchesStrictComparable(_toKey(path), srcValue); - } - - return function (object) { - var objValue = get_1(object, path); - return objValue === undefined && objValue === srcValue ? hasIn_1(object, path) : _baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG$5 | COMPARE_UNORDERED_FLAG$3); - }; -} - -var _baseMatchesProperty = baseMatchesProperty; - -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function (object) { - return object == null ? undefined : object[key]; - }; -} - -var _baseProperty = baseProperty; - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - -function basePropertyDeep(path) { - return function (object) { - return _baseGet(object, path); - }; -} - -var _basePropertyDeep = basePropertyDeep; - -/** - * Creates a function that returns the value at `path` of a given object. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - * @example - * - * var objects = [ - * { 'a': { 'b': 2 } }, - * { 'a': { 'b': 1 } } - * ]; - * - * _.map(objects, _.property('a.b')); - * // => [2, 1] - * - * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); - * // => [1, 2] - */ - -function property(path) { - return _isKey(path) ? _baseProperty(_toKey(path)) : _basePropertyDeep(path); -} - -var property_1 = property; - -/** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - -function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - - if (value == null) { - return identity_1; - } - - if (typeof value == 'object') { - return isArray_1(value) ? _baseMatchesProperty(value[0], value[1]) : _baseMatches(value); - } - - return property_1(value); -} - -var _baseIteratee = baseIteratee; - -/** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - -function createAggregator(setter, initializer) { - return function (collection, iteratee) { - var func = isArray_1(collection) ? _arrayAggregator : _baseAggregator, - accumulator = initializer ? initializer() : {}; - return func(collection, setter, _baseIteratee(iteratee), accumulator); - }; -} - -var _createAggregator = createAggregator; - -/** Used for built-in method references. */ - -var objectProto$d = Object.prototype; -/** Used to check objects for own properties. */ - -var hasOwnProperty$a = objectProto$d.hasOwnProperty; -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - -var groupBy = _createAggregator(function (result, value, key) { - if (hasOwnProperty$a.call(result, key)) { - result[key].push(value); - } else { - _baseAssignValue(result, key, [value]); - } -}); -var groupBy_1 = groupBy; - -/** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - -var partition = _createAggregator(function (result, value, key) { - result[key ? 0 : 1].push(value); -}, function () { - return [[], []]; -}); -var partition_1 = partition; - -var thirdParty = require("./third-party"); - -var prettierInternal = src.__internal; - -var minimist = function (args, opts) { - if (!opts) opts = {}; - var flags = { - bools: {}, - strings: {}, - unknownFn: null - }; - - if (typeof opts['unknown'] === 'function') { - flags.unknownFn = opts['unknown']; - } - - if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { - flags.allBools = true; - } else { - [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { - flags.bools[key] = true; - }); - } - - var aliases = {}; - Object.keys(opts.alias || {}).forEach(function (key) { - aliases[key] = [].concat(opts.alias[key]); - aliases[key].forEach(function (x) { - aliases[x] = [key].concat(aliases[key].filter(function (y) { - return x !== y; - })); - }); - }); - [].concat(opts.string).filter(Boolean).forEach(function (key) { - flags.strings[key] = true; - - if (aliases[key]) { - flags.strings[aliases[key]] = true; - } - }); - var defaults = opts['default'] || {}; - var argv = { - _: [] - }; - Object.keys(flags.bools).forEach(function (key) { - setArg(key, defaults[key] === undefined ? false : defaults[key]); - }); - var notFlags = []; - - if (args.indexOf('--') !== -1) { - notFlags = args.slice(args.indexOf('--') + 1); - args = args.slice(0, args.indexOf('--')); - } - - function argDefined(key, arg) { - return flags.allBools && /^--[^=]+$/.test(arg) || flags.strings[key] || flags.bools[key] || aliases[key]; - } - - function setArg(key, val, arg) { - if (arg && flags.unknownFn && !argDefined(key, arg)) { - if (flags.unknownFn(arg) === false) return; - } - - var value = !flags.strings[key] && isNumber(val) ? Number(val) : val; - setKey(argv, key.split('.'), value); - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), value); - }); - } - - function setKey(obj, keys, value) { - var o = obj; - - for (var i = 0; i < keys.length - 1; i++) { - var key = keys[i]; - if (key === '__proto__') return; - if (o[key] === undefined) o[key] = {}; - if (o[key] === Object.prototype || o[key] === Number.prototype || o[key] === String.prototype) o[key] = {}; - if (o[key] === Array.prototype) o[key] = []; - o = o[key]; - } - - var key = keys[keys.length - 1]; - if (key === '__proto__') return; - if (o === Object.prototype || o === Number.prototype || o === String.prototype) o = {}; - if (o === Array.prototype) o = []; - - if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { - o[key] = value; - } else if (Array.isArray(o[key])) { - o[key].push(value); - } else { - o[key] = [o[key], value]; - } - } - - function aliasIsBoolean(key) { - return aliases[key].some(function (x) { - return flags.bools[x]; - }); - } - - for (var i = 0; i < args.length; i++) { - var arg = args[i]; - - if (/^--.+=/.test(arg)) { - // Using [\s\S] instead of . because js doesn't support the - // 'dotall' regex modifier. See: - // http://stackoverflow.com/a/1068308/13216 - var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - var key = m[1]; - var value = m[2]; - - if (flags.bools[key]) { - value = value !== 'false'; - } - - setArg(key, value, arg); - } else if (/^--no-.+/.test(arg)) { - var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false, arg); - } else if (/^--.+/.test(arg)) { - var key = arg.match(/^--(.+)/)[1]; - var next = args[i + 1]; - - if (next !== undefined && !/^-/.test(next) && !flags.bools[key] && !flags.allBools && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, next, arg); - i++; - } else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true', arg); - i++; - } else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } else if (/^-[^-]+/.test(arg)) { - var letters = arg.slice(1, -1).split(''); - var broken = false; - - for (var j = 0; j < letters.length; j++) { - var next = arg.slice(j + 2); - - if (next === '-') { - setArg(letters[j], next, arg); - continue; - } - - if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { - setArg(letters[j], next.split('=')[1], arg); - broken = true; - break; - } - - if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next, arg); - broken = true; - break; - } - - if (letters[j + 1] && letters[j + 1].match(/\W/)) { - setArg(letters[j], arg.slice(j + 2), arg); - broken = true; - break; - } else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); - } - } - - var key = arg.slice(-1)[0]; - - if (!broken && key !== '-') { - if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && !flags.bools[key] && (aliases[key] ? !aliasIsBoolean(key) : true)) { - setArg(key, args[i + 1], arg); - i++; - } else if (args[i + 1] && /^(true|false)$/.test(args[i + 1])) { - setArg(key, args[i + 1] === 'true', arg); - i++; - } else { - setArg(key, flags.strings[key] ? '' : true, arg); - } - } - } else { - if (!flags.unknownFn || flags.unknownFn(arg) !== false) { - argv._.push(flags.strings['_'] || !isNumber(arg) ? arg : Number(arg)); - } - - if (opts.stopEarly) { - argv._.push.apply(argv._, args.slice(i + 1)); - - break; - } - } - } - - Object.keys(defaults).forEach(function (key) { - if (!hasKey(argv, key.split('.'))) { - setKey(argv, key.split('.'), defaults[key]); - (aliases[key] || []).forEach(function (x) { - setKey(argv, x.split('.'), defaults[key]); - }); - } - }); - - if (opts['--']) { - argv['--'] = new Array(); - notFlags.forEach(function (key) { - argv['--'].push(key); - }); - } else { - notFlags.forEach(function (key) { - argv._.push(key); - }); - } - - return argv; -}; - -function hasKey(obj, keys) { - var o = obj; - keys.slice(0, -1).forEach(function (key) { - o = o[key] || {}; - }); - var key = keys[keys.length - 1]; - return key in o; -} - -function isNumber(x) { - if (typeof x === 'number') return true; - if (/^0x[0-9a-f]+$/i.test(x)) return true; - return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); -} - -const PLACEHOLDER = null; -/** - * unspecified boolean flag without default value is parsed as `undefined` instead of `false` - */ - -var minimist_1 = function (args, options) { - const boolean = options.boolean || []; - const defaults = options.default || {}; - const booleanWithoutDefault = boolean.filter(key => !(key in defaults)); - const newDefaults = Object.assign({}, defaults, fromPairs_1(booleanWithoutDefault.map(key => [key, PLACEHOLDER]))); - const parsed = minimist(args, Object.assign({}, options, { - default: newDefaults - })); - return fromPairs_1(Object.entries(parsed).filter(([, value]) => value !== PLACEHOLDER)); -}; - -var array = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.splitWhen = exports.flatten = void 0; - - function flatten(items) { - return items.reduce((collection, item) => [].concat(collection, item), []); - } - - exports.flatten = flatten; - - function splitWhen(items, predicate) { - const result = [[]]; - let groupIndex = 0; - - for (const item of items) { - if (predicate(item)) { - groupIndex++; - result[groupIndex] = []; - } else { - result[groupIndex].push(item); - } - } - - return result; - } - - exports.splitWhen = splitWhen; -}); - -var errno = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isEnoentCodeError = void 0; - - function isEnoentCodeError(error) { - return error.code === 'ENOENT'; - } - - exports.isEnoentCodeError = isEnoentCodeError; -}); - -var fs = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.createDirentFromStats = void 0; - - class DirentFromStats { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - - } - - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - - exports.createDirentFromStats = createDirentFromStats; -}); - -var path_1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.removeLeadingDotSegment = exports.escape = exports.makeAbsolute = exports.unixify = void 0; - const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; // ./ or .\\ - - const UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g; - /** - * Designed to work only with simple paths: `dir\\file`. - */ - - function unixify(filepath) { - return filepath.replace(/\\/g, '/'); - } - - exports.unixify = unixify; - - function makeAbsolute(cwd, filepath) { - return path__default['default'].resolve(cwd, filepath); - } - - exports.makeAbsolute = makeAbsolute; - - function escape(pattern) { - return pattern.replace(UNESCAPED_GLOB_SYMBOLS_RE, '\\$2'); - } - - exports.escape = escape; - - function removeLeadingDotSegment(entry) { - // We do not use `startsWith` because this is 10x slower than current implementation for some cases. - // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with - if (entry.charAt(0) === '.') { - const secondCharactery = entry.charAt(1); - - if (secondCharactery === '/' || secondCharactery === '\\') { - return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT); - } - } - - return entry; - } - - exports.removeLeadingDotSegment = removeLeadingDotSegment; -}); - -/*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -var isExtglob = function isExtglob(str) { - if (typeof str !== 'string' || str === '') { - return false; - } - - var match; - - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { - if (match[2]) return true; - str = str.slice(match.index + match[0].length); - } - - return false; -}; - -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ - -var chars = { - '{': '}', - '(': ')', - '[': ']' -}; -var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; -var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; - -var isGlob = function isGlob(str, options) { - if (typeof str !== 'string' || str === '') { - return false; - } - - if (isExtglob(str)) { - return true; - } - - var regex = strictRegex; - var match; // optionally relax regex - - if (options && options.strict === false) { - regex = relaxedRegex; - } - - while (match = regex.exec(str)) { - if (match[2]) return true; - var idx = match.index + match[0].length; // if an open bracket/brace/paren is escaped, - // set the index to the next closing character - - var open = match[1]; - var close = open ? chars[open] : null; - - if (open && close) { - var n = str.indexOf(close, idx); - - if (n !== -1) { - idx = n + 1; - } - } - - str = str.slice(idx); - } - - return false; -}; - -var pathPosixDirname = path__default['default'].posix.dirname; -var isWin32 = os__default['default'].platform() === 'win32'; -var slash = '/'; -var backslash = /\\/g; -var enclosure = /[\{\[].*[\/]*.*[\}\]]$/; -var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; -var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; -/** - * @param {string} str - * @param {Object} opts - * @param {boolean} [opts.flipBackslashes=true] - */ - -var globParent = function globParent(str, opts) { - var options = Object.assign({ - flipBackslashes: true - }, opts); // flip windows path separators - - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } // special case for strings ending in enclosure containing path separator - - - if (enclosure.test(str)) { - str += slash; - } // preserves full path in case of trailing path separator - - - str += 'a'; // remove path parts that are globby - - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); // remove escape chars and return result - - - return str.replace(escaped, '$1'); -}; - -var utils = createCommonjsModule(function (module, exports) { - - exports.isInteger = num => { - if (typeof num === 'number') { - return Number.isInteger(num); - } - - if (typeof num === 'string' && num.trim() !== '') { - return Number.isInteger(Number(num)); - } - - return false; - }; - /** - * Find a node of the given type - */ - - - exports.find = (node, type) => node.nodes.find(node => node.type === type); - /** - * Find a node of the given type - */ - - - exports.exceedsLimit = (min, max, step = 1, limit) => { - if (limit === false) return false; - if (!exports.isInteger(min) || !exports.isInteger(max)) return false; - return (Number(max) - Number(min)) / Number(step) >= limit; - }; - /** - * Escape the given node with '\\' before node.value - */ - - - exports.escapeNode = (block, n = 0, type) => { - let node = block.nodes[n]; - if (!node) return; - - if (type && node.type === type || node.type === 'open' || node.type === 'close') { - if (node.escaped !== true) { - node.value = '\\' + node.value; - node.escaped = true; - } - } - }; - /** - * Returns true if the given brace node should be enclosed in literal braces - */ - - - exports.encloseBrace = node => { - if (node.type !== 'brace') return false; - - if (node.commas >> 0 + node.ranges >> 0 === 0) { - node.invalid = true; - return true; - } - - return false; - }; - /** - * Returns true if a brace node is invalid. - */ - - - exports.isInvalidBrace = block => { - if (block.type !== 'brace') return false; - if (block.invalid === true || block.dollar) return true; - - if (block.commas >> 0 + block.ranges >> 0 === 0) { - block.invalid = true; - return true; - } - - if (block.open !== true || block.close !== true) { - block.invalid = true; - return true; - } - - return false; - }; - /** - * Returns true if a node is an open or close node - */ - - - exports.isOpenOrClose = node => { - if (node.type === 'open' || node.type === 'close') { - return true; - } - - return node.open === true || node.close === true; - }; - /** - * Reduce an array of text nodes. - */ - - - exports.reduce = nodes => nodes.reduce((acc, node) => { - if (node.type === 'text') acc.push(node.value); - if (node.type === 'range') node.type = 'text'; - return acc; - }, []); - /** - * Flatten an array - */ - - - exports.flatten = (...args) => { - const result = []; - - const flat = arr => { - for (let i = 0; i < arr.length; i++) { - let ele = arr[i]; - Array.isArray(ele) ? flat(ele) : ele !== void 0 && result.push(ele); - } - - return result; - }; - - flat(args); - return result; - }; -}); - -var stringify = (ast, options = {}) => { - let stringify = (node, parent = {}) => { - let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let output = ''; - - if (node.value) { - if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) { - return '\\' + node.value; - } - - return node.value; - } - - if (node.value) { - return node.value; - } - - if (node.nodes) { - for (let child of node.nodes) { - output += stringify(child); - } - } - - return output; - }; - - return stringify(ast); -}; - -/*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ - -var isNumber$1 = function (num) { - if (typeof num === 'number') { - return num - num === 0; - } - - if (typeof num === 'string' && num.trim() !== '') { - return Number.isFinite ? Number.isFinite(+num) : isFinite(+num); - } - - return false; -}; - -const toRegexRange = (min, max, options) => { - if (isNumber$1(min) === false) { - throw new TypeError('toRegexRange: expected the first argument to be a number'); - } - - if (max === void 0 || min === max) { - return String(min); - } - - if (isNumber$1(max) === false) { - throw new TypeError('toRegexRange: expected the second argument to be a number.'); - } - - let opts = Object.assign({ - relaxZeros: true - }, options); - - if (typeof opts.strictZeros === 'boolean') { - opts.relaxZeros = opts.strictZeros === false; - } - - let relax = String(opts.relaxZeros); - let shorthand = String(opts.shorthand); - let capture = String(opts.capture); - let wrap = String(opts.wrap); - let cacheKey = min + ':' + max + '=' + relax + shorthand + capture + wrap; - - if (toRegexRange.cache.hasOwnProperty(cacheKey)) { - return toRegexRange.cache[cacheKey].result; - } - - let a = Math.min(min, max); - let b = Math.max(min, max); - - if (Math.abs(a - b) === 1) { - let result = min + '|' + max; - - if (opts.capture) { - return `(${result})`; - } - - if (opts.wrap === false) { - return result; - } - - return `(?:${result})`; - } - - let isPadded = hasPadding(min) || hasPadding(max); - let state = { - min, - max, - a, - b - }; - let positives = []; - let negatives = []; - - if (isPadded) { - state.isPadded = isPadded; - state.maxLen = String(state.max).length; - } - - if (a < 0) { - let newMin = b < 0 ? Math.abs(b) : 1; - negatives = splitToPatterns(newMin, Math.abs(a), state, opts); - a = state.a = 0; - } - - if (b >= 0) { - positives = splitToPatterns(a, b, state, opts); - } - - state.negatives = negatives; - state.positives = positives; - state.result = collatePatterns(negatives, positives); - - if (opts.capture === true) { - state.result = `(${state.result})`; - } else if (opts.wrap !== false && positives.length + negatives.length > 1) { - state.result = `(?:${state.result})`; - } - - toRegexRange.cache[cacheKey] = state; - return state.result; -}; - -function collatePatterns(neg, pos, options) { - let onlyNegative = filterPatterns(neg, pos, '-', false) || []; - let onlyPositive = filterPatterns(pos, neg, '', false) || []; - let intersected = filterPatterns(neg, pos, '-?', true) || []; - let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); - return subpatterns.join('|'); -} - -function splitToRanges(min, max) { - let nines = 1; - let zeros = 1; - let stop = countNines(min, nines); - let stops = new Set([max]); - - while (min <= stop && stop <= max) { - stops.add(stop); - nines += 1; - stop = countNines(min, nines); - } - - stop = countZeros(max + 1, zeros) - 1; - - while (min < stop && stop <= max) { - stops.add(stop); - zeros += 1; - stop = countZeros(max + 1, zeros) - 1; - } - - stops = [...stops]; - stops.sort(compare); - return stops; -} -/** - * Convert a range to a regex pattern - * @param {Number} `start` - * @param {Number} `stop` - * @return {String} - */ - - -function rangeToPattern(start, stop, options) { - if (start === stop) { - return { - pattern: start, - count: [], - digits: 0 - }; - } - - let zipped = zip(start, stop); - let digits = zipped.length; - let pattern = ''; - let count = 0; - - for (let i = 0; i < digits; i++) { - let [startDigit, stopDigit] = zipped[i]; - - if (startDigit === stopDigit) { - pattern += startDigit; - } else if (startDigit !== '0' || stopDigit !== '9') { - pattern += toCharacterClass(startDigit, stopDigit); - } else { - count++; - } - } - - if (count) { - pattern += options.shorthand === true ? '\\d' : '[0-9]'; - } - - return { - pattern, - count: [count], - digits - }; -} - -function splitToPatterns(min, max, tok, options) { - let ranges = splitToRanges(min, max); - let tokens = []; - let start = min; - let prev; - - for (let i = 0; i < ranges.length; i++) { - let max = ranges[i]; - let obj = rangeToPattern(String(start), String(max), options); - let zeros = ''; - - if (!tok.isPadded && prev && prev.pattern === obj.pattern) { - if (prev.count.length > 1) { - prev.count.pop(); - } - - prev.count.push(obj.count[0]); - prev.string = prev.pattern + toQuantifier(prev.count); - start = max + 1; - continue; - } - - if (tok.isPadded) { - zeros = padZeros(max, tok, options); - } - - obj.string = zeros + obj.pattern + toQuantifier(obj.count); - tokens.push(obj); - start = max + 1; - prev = obj; - } - - return tokens; -} - -function filterPatterns(arr, comparison, prefix, intersection, options) { - let result = []; - - for (let ele of arr) { - let { - string - } = ele; // only push if _both_ are negative... - - if (!intersection && !contains(comparison, 'string', string)) { - result.push(prefix + string); - } // or _both_ are positive - - - if (intersection && contains(comparison, 'string', string)) { - result.push(prefix + string); - } - } - - return result; -} -/** - * Zip strings - */ - - -function zip(a, b) { - let arr = []; - - for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]); - - return arr; -} - -function compare(a, b) { - return a > b ? 1 : b > a ? -1 : 0; -} - -function contains(arr, key, val) { - return arr.some(ele => ele[key] === val); -} - -function countNines(min, len) { - return Number(String(min).slice(0, -len) + '9'.repeat(len)); -} - -function countZeros(integer, zeros) { - return integer - integer % Math.pow(10, zeros); -} - -function toQuantifier(digits) { - let [start = 0, stop = ''] = digits; - - if (stop || start > 1) { - return `{${start + (stop ? ',' + stop : '')}}`; - } - - return ''; -} - -function toCharacterClass(a, b, options) { - return `[${a}${b - a === 1 ? '' : '-'}${b}]`; -} - -function hasPadding(str) { - return /^-?(0+)\d/.test(str); -} - -function padZeros(value, tok, options) { - if (!tok.isPadded) { - return value; - } - - let diff = Math.abs(tok.maxLen - String(value).length); - let relax = options.relaxZeros !== false; - - switch (diff) { - case 0: - return ''; - - case 1: - return relax ? '0?' : '0'; - - case 2: - return relax ? '0{0,2}' : '00'; - - default: - { - return relax ? `0{0,${diff}}` : `0{${diff}}`; - } - } -} -/** - * Cache - */ - - -toRegexRange.cache = {}; - -toRegexRange.clearCache = () => toRegexRange.cache = {}; -/** - * Expose `toRegexRange` - */ - - -var toRegexRange_1 = toRegexRange; - -const isObject$1 = val => val !== null && typeof val === 'object' && !Array.isArray(val); - -const transform = toNumber => { - return value => toNumber === true ? Number(value) : String(value); -}; - -const isValidValue = value => { - return typeof value === 'number' || typeof value === 'string' && value !== ''; -}; - -const isNumber$2 = num => Number.isInteger(+num); - -const zeros = input => { - let value = `${input}`; - let index = -1; - if (value[0] === '-') value = value.slice(1); - if (value === '0') return false; - - while (value[++index] === '0'); - - return index > 0; -}; - -const stringify$1 = (start, end, options) => { - if (typeof start === 'string' || typeof end === 'string') { - return true; - } - - return options.stringify === true; -}; - -const pad = (input, maxLength, toNumber) => { - if (maxLength > 0) { - let dash = input[0] === '-' ? '-' : ''; - if (dash) input = input.slice(1); - input = dash + input.padStart(dash ? maxLength - 1 : maxLength, '0'); - } - - if (toNumber === false) { - return String(input); - } - - return input; -}; - -const toMaxLen = (input, maxLength) => { - let negative = input[0] === '-' ? '-' : ''; - - if (negative) { - input = input.slice(1); - maxLength--; - } - - while (input.length < maxLength) input = '0' + input; - - return negative ? '-' + input : input; -}; - -const toSequence = (parts, options) => { - parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0); - let prefix = options.capture ? '' : '?:'; - let positives = ''; - let negatives = ''; - let result; - - if (parts.positives.length) { - positives = parts.positives.join('|'); - } - - if (parts.negatives.length) { - negatives = `-(${prefix}${parts.negatives.join('|')})`; - } - - if (positives && negatives) { - result = `${positives}|${negatives}`; - } else { - result = positives || negatives; - } - - if (options.wrap) { - return `(${prefix}${result})`; - } - - return result; -}; - -const toRange = (a, b, isNumbers, options) => { - if (isNumbers) { - return toRegexRange_1(a, b, Object.assign({ - wrap: false - }, options)); - } - - let start = String.fromCharCode(a); - if (a === b) return start; - let stop = String.fromCharCode(b); - return `[${start}-${stop}]`; -}; - -const toRegex = (start, end, options) => { - if (Array.isArray(start)) { - let wrap = options.wrap === true; - let prefix = options.capture ? '' : '?:'; - return wrap ? `(${prefix}${start.join('|')})` : start.join('|'); - } - - return toRegexRange_1(start, end, options); -}; - -const rangeError = (...args) => { - return new RangeError('Invalid range arguments: ' + util__default['default'].inspect(...args)); -}; - -const invalidRange = (start, end, options) => { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; -}; - -const invalidStep = (step, options) => { - if (options.strictRanges === true) { - throw new TypeError(`Expected step "${step}" to be a number`); - } - - return []; -}; - -const fillNumbers = (start, end, step = 1, options = {}) => { - let a = Number(start); - let b = Number(end); - - if (!Number.isInteger(a) || !Number.isInteger(b)) { - if (options.strictRanges === true) throw rangeError([start, end]); - return []; - } // fix negative zero - - - if (a === 0) a = 0; - if (b === 0) b = 0; - let descending = a > b; - let startString = String(start); - let endString = String(end); - let stepString = String(step); - step = Math.max(Math.abs(step), 1); - let padded = zeros(startString) || zeros(endString) || zeros(stepString); - let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; - let toNumber = padded === false && stringify$1(start, end, options) === false; - let format = options.transform || transform(toNumber); - - if (options.toRegex && step === 1) { - return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options); - } - - let parts = { - negatives: [], - positives: [] - }; - - let push = num => parts[num < 0 ? 'negatives' : 'positives'].push(Math.abs(num)); - - let range = []; - let index = 0; - - while (descending ? a >= b : a <= b) { - if (options.toRegex === true && step > 1) { - push(a); - } else { - range.push(pad(format(a, index), maxLen, toNumber)); - } - - a = descending ? a - step : a + step; - index++; - } - - if (options.toRegex === true) { - return step > 1 ? toSequence(parts, options) : toRegex(range, null, Object.assign({ - wrap: false - }, options)); - } - - return range; -}; - -const fillLetters = (start, end, step = 1, options = {}) => { - if (!isNumber$2(start) && start.length > 1 || !isNumber$2(end) && end.length > 1) { - return invalidRange(start, end, options); - } - - let format = options.transform || (val => String.fromCharCode(val)); - - let a = `${start}`.charCodeAt(0); - let b = `${end}`.charCodeAt(0); - let descending = a > b; - let min = Math.min(a, b); - let max = Math.max(a, b); - - if (options.toRegex && step === 1) { - return toRange(min, max, false, options); - } - - let range = []; - let index = 0; - - while (descending ? a >= b : a <= b) { - range.push(format(a, index)); - a = descending ? a - step : a + step; - index++; - } - - if (options.toRegex === true) { - return toRegex(range, null, { - wrap: false, - options - }); - } - - return range; -}; - -const fill = (start, end, step, options = {}) => { - if (end == null && isValidValue(start)) { - return [start]; - } - - if (!isValidValue(start) || !isValidValue(end)) { - return invalidRange(start, end, options); - } - - if (typeof step === 'function') { - return fill(start, end, 1, { - transform: step - }); - } - - if (isObject$1(step)) { - return fill(start, end, 0, step); - } - - let opts = Object.assign({}, options); - if (opts.capture === true) opts.wrap = true; - step = step || opts.step || 1; - - if (!isNumber$2(step)) { - if (step != null && !isObject$1(step)) return invalidStep(step, opts); - return fill(start, end, 1, step); - } - - if (isNumber$2(start) && isNumber$2(end)) { - return fillNumbers(start, end, step, opts); - } - - return fillLetters(start, end, Math.max(Math.abs(step), 1), opts); -}; - -var fillRange = fill; - -const compile = (ast, options = {}) => { - let walk = (node, parent = {}) => { - let invalidBlock = utils.isInvalidBrace(parent); - let invalidNode = node.invalid === true && options.escapeInvalid === true; - let invalid = invalidBlock === true || invalidNode === true; - let prefix = options.escapeInvalid === true ? '\\' : ''; - let output = ''; - - if (node.isOpen === true) { - return prefix + node.value; - } - - if (node.isClose === true) { - return prefix + node.value; - } - - if (node.type === 'open') { - return invalid ? prefix + node.value : '('; - } - - if (node.type === 'close') { - return invalid ? prefix + node.value : ')'; - } - - if (node.type === 'comma') { - return node.prev.type === 'comma' ? '' : invalid ? node.value : '|'; - } - - if (node.value) { - return node.value; - } - - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - let range = fillRange(...args, Object.assign({}, options, { - wrap: false, - toRegex: true - })); - - if (range.length !== 0) { - return args.length > 1 && range.length > 1 ? `(${range})` : range; - } - } - - if (node.nodes) { - for (let child of node.nodes) { - output += walk(child, node); - } - } - - return output; - }; - - return walk(ast); -}; - -var compile_1 = compile; - -const append = (queue = '', stash = '', enclose = false) => { - let result = []; - queue = [].concat(queue); - stash = [].concat(stash); - if (!stash.length) return queue; - - if (!queue.length) { - return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash; - } - - for (let item of queue) { - if (Array.isArray(item)) { - for (let value of item) { - result.push(append(value, stash, enclose)); - } - } else { - for (let ele of stash) { - if (enclose === true && typeof ele === 'string') ele = `{${ele}}`; - result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele); - } - } - } - - return utils.flatten(result); -}; - -const expand = (ast, options = {}) => { - let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit; - - let walk = (node, parent = {}) => { - node.queue = []; - let p = parent; - let q = parent.queue; - - while (p.type !== 'brace' && p.type !== 'root' && p.parent) { - p = p.parent; - q = p.queue; - } - - if (node.invalid || node.dollar) { - q.push(append(q.pop(), stringify(node, options))); - return; - } - - if (node.type === 'brace' && node.invalid !== true && node.nodes.length === 2) { - q.push(append(q.pop(), ['{}'])); - return; - } - - if (node.nodes && node.ranges > 0) { - let args = utils.reduce(node.nodes); - - if (utils.exceedsLimit(...args, options.step, rangeLimit)) { - throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.'); - } - - let range = fillRange(...args, options); - - if (range.length === 0) { - range = stringify(node, options); - } - - q.push(append(q.pop(), range)); - node.nodes = []; - return; - } - - let enclose = utils.encloseBrace(node); - let queue = node.queue; - let block = node; - - while (block.type !== 'brace' && block.type !== 'root' && block.parent) { - block = block.parent; - queue = block.queue; - } - - for (let i = 0; i < node.nodes.length; i++) { - let child = node.nodes[i]; - - if (child.type === 'comma' && node.type === 'brace') { - if (i === 1) queue.push(''); - queue.push(''); - continue; - } - - if (child.type === 'close') { - q.push(append(q.pop(), queue, enclose)); - continue; - } - - if (child.value && child.type !== 'open') { - queue.push(append(queue.pop(), child.value)); - continue; - } - - if (child.nodes) { - walk(child, node); - } - } - - return queue; - }; - - return utils.flatten(walk(ast)); -}; - -var expand_1 = expand; - -var constants = { - MAX_LENGTH: 1024 * 64, - // Digits - CHAR_0: '0', - - /* 0 */ - CHAR_9: '9', - - /* 9 */ - // Alphabet chars. - CHAR_UPPERCASE_A: 'A', - - /* A */ - CHAR_LOWERCASE_A: 'a', - - /* a */ - CHAR_UPPERCASE_Z: 'Z', - - /* Z */ - CHAR_LOWERCASE_Z: 'z', - - /* z */ - CHAR_LEFT_PARENTHESES: '(', - - /* ( */ - CHAR_RIGHT_PARENTHESES: ')', - - /* ) */ - CHAR_ASTERISK: '*', - - /* * */ - // Non-alphabetic chars. - CHAR_AMPERSAND: '&', - - /* & */ - CHAR_AT: '@', - - /* @ */ - CHAR_BACKSLASH: '\\', - - /* \ */ - CHAR_BACKTICK: '`', - - /* ` */ - CHAR_CARRIAGE_RETURN: '\r', - - /* \r */ - CHAR_CIRCUMFLEX_ACCENT: '^', - - /* ^ */ - CHAR_COLON: ':', - - /* : */ - CHAR_COMMA: ',', - - /* , */ - CHAR_DOLLAR: '$', - - /* . */ - CHAR_DOT: '.', - - /* . */ - CHAR_DOUBLE_QUOTE: '"', - - /* " */ - CHAR_EQUAL: '=', - - /* = */ - CHAR_EXCLAMATION_MARK: '!', - - /* ! */ - CHAR_FORM_FEED: '\f', - - /* \f */ - CHAR_FORWARD_SLASH: '/', - - /* / */ - CHAR_HASH: '#', - - /* # */ - CHAR_HYPHEN_MINUS: '-', - - /* - */ - CHAR_LEFT_ANGLE_BRACKET: '<', - - /* < */ - CHAR_LEFT_CURLY_BRACE: '{', - - /* { */ - CHAR_LEFT_SQUARE_BRACKET: '[', - - /* [ */ - CHAR_LINE_FEED: '\n', - - /* \n */ - CHAR_NO_BREAK_SPACE: '\u00A0', - - /* \u00A0 */ - CHAR_PERCENT: '%', - - /* % */ - CHAR_PLUS: '+', - - /* + */ - CHAR_QUESTION_MARK: '?', - - /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: '>', - - /* > */ - CHAR_RIGHT_CURLY_BRACE: '}', - - /* } */ - CHAR_RIGHT_SQUARE_BRACKET: ']', - - /* ] */ - CHAR_SEMICOLON: ';', - - /* ; */ - CHAR_SINGLE_QUOTE: '\'', - - /* ' */ - CHAR_SPACE: ' ', - - /* */ - CHAR_TAB: '\t', - - /* \t */ - CHAR_UNDERSCORE: '_', - - /* _ */ - CHAR_VERTICAL_LINE: '|', - - /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: '\uFEFF' - /* \uFEFF */ - -}; - -/** - * Constants - */ - - -const { - MAX_LENGTH, - CHAR_BACKSLASH, - - /* \ */ - CHAR_BACKTICK, - - /* ` */ - CHAR_COMMA, - - /* , */ - CHAR_DOT, - - /* . */ - CHAR_LEFT_PARENTHESES, - - /* ( */ - CHAR_RIGHT_PARENTHESES, - - /* ) */ - CHAR_LEFT_CURLY_BRACE, - - /* { */ - CHAR_RIGHT_CURLY_BRACE, - - /* } */ - CHAR_LEFT_SQUARE_BRACKET, - - /* [ */ - CHAR_RIGHT_SQUARE_BRACKET, - - /* ] */ - CHAR_DOUBLE_QUOTE, - - /* " */ - CHAR_SINGLE_QUOTE, - - /* ' */ - CHAR_NO_BREAK_SPACE, - CHAR_ZERO_WIDTH_NOBREAK_SPACE -} = constants; -/** - * parse - */ - -const parse = (input, options = {}) => { - if (typeof input !== 'string') { - throw new TypeError('Expected a string'); - } - - let opts = options || {}; - let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; - - if (input.length > max) { - throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); - } - - let ast = { - type: 'root', - input, - nodes: [] - }; - let stack = [ast]; - let block = ast; - let prev = ast; - let brackets = 0; - let length = input.length; - let index = 0; - let depth = 0; - let value; - /** - * Helpers - */ - - const advance = () => input[index++]; - - const push = node => { - if (node.type === 'text' && prev.type === 'dot') { - prev.type = 'text'; - } - - if (prev && prev.type === 'text' && node.type === 'text') { - prev.value += node.value; - return; - } - - block.nodes.push(node); - node.parent = block; - node.prev = prev; - prev = node; - return node; - }; - - push({ - type: 'bos' - }); - - while (index < length) { - block = stack[stack.length - 1]; - value = advance(); - /** - * Invalid chars - */ - - if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { - continue; - } - /** - * Escaped chars - */ - - - if (value === CHAR_BACKSLASH) { - push({ - type: 'text', - value: (options.keepEscaping ? value : '') + advance() - }); - continue; - } - /** - * Right square bracket (literal): ']' - */ - - - if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ - type: 'text', - value: '\\' + value - }); - continue; - } - /** - * Left square bracket: '[' - */ - - - if (value === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - let next; - - while (index < length && (next = advance())) { - value += next; - - if (next === CHAR_LEFT_SQUARE_BRACKET) { - brackets++; - continue; - } - - if (next === CHAR_BACKSLASH) { - value += advance(); - continue; - } - - if (next === CHAR_RIGHT_SQUARE_BRACKET) { - brackets--; - - if (brackets === 0) { - break; - } - } - } - - push({ - type: 'text', - value - }); - continue; - } - /** - * Parentheses - */ - - - if (value === CHAR_LEFT_PARENTHESES) { - block = push({ - type: 'paren', - nodes: [] - }); - stack.push(block); - push({ - type: 'text', - value - }); - continue; - } - - if (value === CHAR_RIGHT_PARENTHESES) { - if (block.type !== 'paren') { - push({ - type: 'text', - value - }); - continue; - } - - block = stack.pop(); - push({ - type: 'text', - value - }); - block = stack[stack.length - 1]; - continue; - } - /** - * Quotes: '|"|` - */ - - - if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { - let open = value; - let next; - - if (options.keepQuotes !== true) { - value = ''; - } - - while (index < length && (next = advance())) { - if (next === CHAR_BACKSLASH) { - value += next + advance(); - continue; - } - - if (next === open) { - if (options.keepQuotes === true) value += next; - break; - } - - value += next; - } - - push({ - type: 'text', - value - }); - continue; - } - /** - * Left curly brace: '{' - */ - - - if (value === CHAR_LEFT_CURLY_BRACE) { - depth++; - let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true; - let brace = { - type: 'brace', - open: true, - close: false, - dollar, - depth, - commas: 0, - ranges: 0, - nodes: [] - }; - block = push(brace); - stack.push(block); - push({ - type: 'open', - value - }); - continue; - } - /** - * Right curly brace: '}' - */ - - - if (value === CHAR_RIGHT_CURLY_BRACE) { - if (block.type !== 'brace') { - push({ - type: 'text', - value - }); - continue; - } - - let type = 'close'; - block = stack.pop(); - block.close = true; - push({ - type, - value - }); - depth--; - block = stack[stack.length - 1]; - continue; - } - /** - * Comma: ',' - */ - - - if (value === CHAR_COMMA && depth > 0) { - if (block.ranges > 0) { - block.ranges = 0; - let open = block.nodes.shift(); - block.nodes = [open, { - type: 'text', - value: stringify(block) - }]; - } - - push({ - type: 'comma', - value - }); - block.commas++; - continue; - } - /** - * Dot: '.' - */ - - - if (value === CHAR_DOT && depth > 0 && block.commas === 0) { - let siblings = block.nodes; - - if (depth === 0 || siblings.length === 0) { - push({ - type: 'text', - value - }); - continue; - } - - if (prev.type === 'dot') { - block.range = []; - prev.value += value; - prev.type = 'range'; - - if (block.nodes.length !== 3 && block.nodes.length !== 5) { - block.invalid = true; - block.ranges = 0; - prev.type = 'text'; - continue; - } - - block.ranges++; - block.args = []; - continue; - } - - if (prev.type === 'range') { - siblings.pop(); - let before = siblings[siblings.length - 1]; - before.value += prev.value + value; - prev = before; - block.ranges--; - continue; - } - - push({ - type: 'dot', - value - }); - continue; - } - /** - * Text - */ - - - push({ - type: 'text', - value - }); - } // Mark imbalanced braces and brackets as invalid - - - do { - block = stack.pop(); - - if (block.type !== 'root') { - block.nodes.forEach(node => { - if (!node.nodes) { - if (node.type === 'open') node.isOpen = true; - if (node.type === 'close') node.isClose = true; - if (!node.nodes) node.type = 'text'; - node.invalid = true; - } - }); // get the location of the block on parent.nodes (block's siblings) - - let parent = stack[stack.length - 1]; - let index = parent.nodes.indexOf(block); // replace the (invalid) block with it's nodes - - parent.nodes.splice(index, 1, ...block.nodes); - } - } while (stack.length > 0); - - push({ - type: 'eos' - }); - return ast; -}; - -var parse_1 = parse; - -/** - * Expand the given pattern or create a regex-compatible string. - * - * ```js - * const braces = require('braces'); - * console.log(braces('{a,b,c}', { compile: true })); //=> ['(a|b|c)'] - * console.log(braces('{a,b,c}')); //=> ['a', 'b', 'c'] - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {String} - * @api public - */ - - -const braces = (input, options = {}) => { - let output = []; - - if (Array.isArray(input)) { - for (let pattern of input) { - let result = braces.create(pattern, options); - - if (Array.isArray(result)) { - output.push(...result); - } else { - output.push(result); - } - } - } else { - output = [].concat(braces.create(input, options)); - } - - if (options && options.expand === true && options.nodupes === true) { - output = [...new Set(output)]; - } - - return output; -}; -/** - * Parse the given `str` with the given `options`. - * - * ```js - * // braces.parse(pattern, [, options]); - * const ast = braces.parse('a/{b,c}/d'); - * console.log(ast); - * ``` - * @param {String} pattern Brace pattern to parse - * @param {Object} options - * @return {Object} Returns an AST - * @api public - */ - - -braces.parse = (input, options = {}) => parse_1(input, options); -/** - * Creates a braces string from an AST, or an AST node. - * - * ```js - * const braces = require('braces'); - * let ast = braces.parse('foo/{a,b}/bar'); - * console.log(stringify(ast.nodes[2])); //=> '{a,b}' - * ``` - * @param {String} `input` Brace pattern or AST. - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - - -braces.stringify = (input, options = {}) => { - if (typeof input === 'string') { - return stringify(braces.parse(input, options), options); - } - - return stringify(input, options); -}; -/** - * Compiles a brace pattern into a regex-compatible, optimized string. - * This method is called by the main [braces](#braces) function by default. - * - * ```js - * const braces = require('braces'); - * console.log(braces.compile('a/{b,c}/d')); - * //=> ['a/(b|c)/d'] - * ``` - * @param {String} `input` Brace pattern or AST. - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - - -braces.compile = (input, options = {}) => { - if (typeof input === 'string') { - input = braces.parse(input, options); - } - - return compile_1(input, options); -}; -/** - * Expands a brace pattern into an array. This method is called by the - * main [braces](#braces) function when `options.expand` is true. Before - * using this method it's recommended that you read the [performance notes](#performance)) - * and advantages of using [.compile](#compile) instead. - * - * ```js - * const braces = require('braces'); - * console.log(braces.expand('a/{b,c}/d')); - * //=> ['a/b/d', 'a/c/d']; - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - - -braces.expand = (input, options = {}) => { - if (typeof input === 'string') { - input = braces.parse(input, options); - } - - let result = expand_1(input, options); // filter out empty strings if specified - - if (options.noempty === true) { - result = result.filter(Boolean); - } // filter out duplicates if specified - - - if (options.nodupes === true) { - result = [...new Set(result)]; - } - - return result; -}; -/** - * Processes a brace pattern and returns either an expanded array - * (if `options.expand` is true), a highly optimized regex-compatible string. - * This method is called by the main [braces](#braces) function. - * - * ```js - * const braces = require('braces'); - * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}')) - * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)' - * ``` - * @param {String} `pattern` Brace pattern - * @param {Object} `options` - * @return {Array} Returns an array of expanded values. - * @api public - */ - - -braces.create = (input, options = {}) => { - if (input === '' || input.length < 3) { - return [input]; - } - - return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options); -}; -/** - * Expose "braces" - */ - - -var braces_1 = braces; - -const WIN_SLASH = '\\\\/'; -const WIN_NO_SLASH = `[^${WIN_SLASH}]`; -/** - * Posix glob regex - */ - -const DOT_LITERAL = '\\.'; -const PLUS_LITERAL = '\\+'; -const QMARK_LITERAL = '\\?'; -const SLASH_LITERAL = '\\/'; -const ONE_CHAR = '(?=.)'; -const QMARK = '[^/]'; -const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`; -const START_ANCHOR = `(?:^|${SLASH_LITERAL})`; -const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`; -const NO_DOT = `(?!${DOT_LITERAL})`; -const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`; -const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`; -const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`; -const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`; -const STAR = `${QMARK}*?`; -const POSIX_CHARS = { - DOT_LITERAL, - PLUS_LITERAL, - QMARK_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - QMARK, - END_ANCHOR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK_NO_DOT, - STAR, - START_ANCHOR -}; -/** - * Windows glob regex - */ - -const WINDOWS_CHARS = Object.assign({}, POSIX_CHARS, { - SLASH_LITERAL: `[${WIN_SLASH}]`, - QMARK: WIN_NO_SLASH, - STAR: `${WIN_NO_SLASH}*?`, - DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`, - NO_DOT: `(?!${DOT_LITERAL})`, - NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`, - NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`, - QMARK_NO_DOT: `[^.${WIN_SLASH}]`, - START_ANCHOR: `(?:^|[${WIN_SLASH}])`, - END_ANCHOR: `(?:[${WIN_SLASH}]|$)` -}); -/** - * POSIX Bracket Regex - */ - -const POSIX_REGEX_SOURCE = { - alnum: 'a-zA-Z0-9', - alpha: 'a-zA-Z', - ascii: '\\x00-\\x7F', - blank: ' \\t', - cntrl: '\\x00-\\x1F\\x7F', - digit: '0-9', - graph: '\\x21-\\x7E', - lower: 'a-z', - print: '\\x20-\\x7E ', - punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~', - space: ' \\t\\r\\n\\v\\f', - upper: 'A-Z', - word: 'A-Za-z0-9_', - xdigit: 'A-Fa-f0-9' -}; -var constants$1 = { - MAX_LENGTH: 1024 * 64, - POSIX_REGEX_SOURCE, - // regular expressions - REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g, - REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/, - REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/, - REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g, - REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g, - REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g, - // Replace globs with equivalent patterns to reduce parsing time. - REPLACEMENTS: { - '***': '*', - '**/**': '**', - '**/**/**': '**' - }, - // Digits - CHAR_0: 48, - - /* 0 */ - CHAR_9: 57, - - /* 9 */ - // Alphabet chars. - CHAR_UPPERCASE_A: 65, - - /* A */ - CHAR_LOWERCASE_A: 97, - - /* a */ - CHAR_UPPERCASE_Z: 90, - - /* Z */ - CHAR_LOWERCASE_Z: 122, - - /* z */ - CHAR_LEFT_PARENTHESES: 40, - - /* ( */ - CHAR_RIGHT_PARENTHESES: 41, - - /* ) */ - CHAR_ASTERISK: 42, - - /* * */ - // Non-alphabetic chars. - CHAR_AMPERSAND: 38, - - /* & */ - CHAR_AT: 64, - - /* @ */ - CHAR_BACKWARD_SLASH: 92, - - /* \ */ - CHAR_CARRIAGE_RETURN: 13, - - /* \r */ - CHAR_CIRCUMFLEX_ACCENT: 94, - - /* ^ */ - CHAR_COLON: 58, - - /* : */ - CHAR_COMMA: 44, - - /* , */ - CHAR_DOT: 46, - - /* . */ - CHAR_DOUBLE_QUOTE: 34, - - /* " */ - CHAR_EQUAL: 61, - - /* = */ - CHAR_EXCLAMATION_MARK: 33, - - /* ! */ - CHAR_FORM_FEED: 12, - - /* \f */ - CHAR_FORWARD_SLASH: 47, - - /* / */ - CHAR_GRAVE_ACCENT: 96, - - /* ` */ - CHAR_HASH: 35, - - /* # */ - CHAR_HYPHEN_MINUS: 45, - - /* - */ - CHAR_LEFT_ANGLE_BRACKET: 60, - - /* < */ - CHAR_LEFT_CURLY_BRACE: 123, - - /* { */ - CHAR_LEFT_SQUARE_BRACKET: 91, - - /* [ */ - CHAR_LINE_FEED: 10, - - /* \n */ - CHAR_NO_BREAK_SPACE: 160, - - /* \u00A0 */ - CHAR_PERCENT: 37, - - /* % */ - CHAR_PLUS: 43, - - /* + */ - CHAR_QUESTION_MARK: 63, - - /* ? */ - CHAR_RIGHT_ANGLE_BRACKET: 62, - - /* > */ - CHAR_RIGHT_CURLY_BRACE: 125, - - /* } */ - CHAR_RIGHT_SQUARE_BRACKET: 93, - - /* ] */ - CHAR_SEMICOLON: 59, - - /* ; */ - CHAR_SINGLE_QUOTE: 39, - - /* ' */ - CHAR_SPACE: 32, - - /* */ - CHAR_TAB: 9, - - /* \t */ - CHAR_UNDERSCORE: 95, - - /* _ */ - CHAR_VERTICAL_LINE: 124, - - /* | */ - CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, - - /* \uFEFF */ - SEP: path__default['default'].sep, - - /** - * Create EXTGLOB_CHARS - */ - extglobChars(chars) { - return { - '!': { - type: 'negate', - open: '(?:(?!(?:', - close: `))${chars.STAR})` - }, - '?': { - type: 'qmark', - open: '(?:', - close: ')?' - }, - '+': { - type: 'plus', - open: '(?:', - close: ')+' - }, - '*': { - type: 'star', - open: '(?:', - close: ')*' - }, - '@': { - type: 'at', - open: '(?:', - close: ')' - } - }; - }, - - /** - * Create GLOB_CHARS - */ - globChars(win32) { - return win32 === true ? WINDOWS_CHARS : POSIX_CHARS; - } - -}; - -var utils$1 = createCommonjsModule(function (module, exports) { - - const win32 = process.platform === 'win32'; - const { - REGEX_BACKSLASH, - REGEX_REMOVE_BACKSLASH, - REGEX_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_GLOBAL - } = constants$1; - - exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); - - exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); - - exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str); - - exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1'); - - exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/'); - - exports.removeBackslashes = str => { - return str.replace(REGEX_REMOVE_BACKSLASH, match => { - return match === '\\' ? '' : match; - }); - }; - - exports.supportsLookbehinds = () => { - const segs = process.version.slice(1).split('.').map(Number); - - if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) { - return true; - } - - return false; - }; - - exports.isWindows = options => { - if (options && typeof options.windows === 'boolean') { - return options.windows; - } - - return win32 === true || path__default['default'].sep === '\\'; - }; - - exports.escapeLast = (input, char, lastIdx) => { - const idx = input.lastIndexOf(char, lastIdx); - if (idx === -1) return input; - if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1); - return `${input.slice(0, idx)}\\${input.slice(idx)}`; - }; - - exports.removePrefix = (input, state = {}) => { - let output = input; - - if (output.startsWith('./')) { - output = output.slice(2); - state.prefix = './'; - } - - return output; - }; - - exports.wrapOutput = (input, state = {}, options = {}) => { - const prepend = options.contains ? '' : '^'; - const append = options.contains ? '' : '$'; - let output = `${prepend}(?:${input})${append}`; - - if (state.negated === true) { - output = `(?:^(?!${output}).*$)`; - } - - return output; - }; -}); - -const { - CHAR_ASTERISK, - - /* * */ - CHAR_AT, - - /* @ */ - CHAR_BACKWARD_SLASH, - - /* \ */ - CHAR_COMMA: CHAR_COMMA$1, - - /* , */ - CHAR_DOT: CHAR_DOT$1, - - /* . */ - CHAR_EXCLAMATION_MARK, - - /* ! */ - CHAR_FORWARD_SLASH, - - /* / */ - CHAR_LEFT_CURLY_BRACE: CHAR_LEFT_CURLY_BRACE$1, - - /* { */ - CHAR_LEFT_PARENTHESES: CHAR_LEFT_PARENTHESES$1, - - /* ( */ - CHAR_LEFT_SQUARE_BRACKET: CHAR_LEFT_SQUARE_BRACKET$1, - - /* [ */ - CHAR_PLUS, - - /* + */ - CHAR_QUESTION_MARK, - - /* ? */ - CHAR_RIGHT_CURLY_BRACE: CHAR_RIGHT_CURLY_BRACE$1, - - /* } */ - CHAR_RIGHT_PARENTHESES: CHAR_RIGHT_PARENTHESES$1, - - /* ) */ - CHAR_RIGHT_SQUARE_BRACKET: CHAR_RIGHT_SQUARE_BRACKET$1 - /* ] */ - -} = constants$1; - -const isPathSeparator = code => { - return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; -}; - -const depth = token => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; - } -}; -/** - * Quickly scans a glob pattern and returns an object with a handful of - * useful properties, like `isGlob`, `path` (the leading non-glob, if it exists), - * `glob` (the actual pattern), and `negated` (true if the path starts with `!`). - * - * ```js - * const pm = require('picomatch'); - * console.log(pm.scan('foo/bar/*.js')); - * { isGlob: true, input: 'foo/bar/*.js', base: 'foo/bar', glob: '*.js' } - * ``` - * @param {String} `str` - * @param {Object} `options` - * @return {Object} Returns an object with tokens and regex source string. - * @api public - */ - - -const scan = (input, options) => { - const opts = options || {}; - const length = input.length - 1; - const scanToEnd = opts.parts === true || opts.scanToEnd === true; - const slashes = []; - const tokens = []; - const parts = []; - let str = input; - let index = -1; - let start = 0; - let lastIndex = 0; - let isBrace = false; - let isBracket = false; - let isGlob = false; - let isExtglob = false; - let isGlobstar = false; - let braceEscaped = false; - let backslashes = false; - let negated = false; - let finished = false; - let braces = 0; - let prev; - let code; - let token = { - value: '', - depth: 0, - isGlob: false - }; - - const eos = () => index >= length; - - const peek = () => str.charCodeAt(index + 1); - - const advance = () => { - prev = code; - return str.charCodeAt(++index); - }; - - while (index < length) { - code = advance(); - let next; - - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - - if (code === CHAR_LEFT_CURLY_BRACE$1) { - braceEscaped = true; - } - - continue; - } - - if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE$1) { - braces++; - - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - - if (code === CHAR_LEFT_CURLY_BRACE$1) { - braces++; - continue; - } - - if (braceEscaped !== true && code === CHAR_DOT$1 && (code = advance()) === CHAR_DOT$1) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (braceEscaped !== true && code === CHAR_COMMA$1) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_RIGHT_CURLY_BRACE$1) { - braces--; - - if (braces === 0) { - braceEscaped = false; - isBrace = token.isBrace = true; - finished = true; - break; - } - } - } - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_FORWARD_SLASH) { - slashes.push(index); - tokens.push(token); - token = { - value: '', - depth: 0, - isGlob: false - }; - if (finished === true) continue; - - if (prev === CHAR_DOT$1 && index === start + 1) { - start += 2; - continue; - } - - lastIndex = index + 1; - continue; - } - - if (opts.noext !== true) { - const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES$1) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; - finished = true; - - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - - if (code === CHAR_RIGHT_PARENTHESES$1) { - isGlob = token.isGlob = true; - finished = true; - break; - } - } - - continue; - } - - break; - } - } - - if (code === CHAR_ASTERISK) { - if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - - if (code === CHAR_LEFT_SQUARE_BRACKET$1) { - while (eos() !== true && (next = advance())) { - if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; - advance(); - continue; - } - - if (next === CHAR_RIGHT_SQUARE_BRACKET$1) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - } - } - - if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; - start++; - continue; - } - - if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES$1) { - isGlob = token.isGlob = true; - - if (scanToEnd === true) { - while (eos() !== true && (code = advance())) { - if (code === CHAR_LEFT_PARENTHESES$1) { - backslashes = token.backslashes = true; - code = advance(); - continue; - } - - if (code === CHAR_RIGHT_PARENTHESES$1) { - finished = true; - break; - } - } - - continue; - } - - break; - } - - if (isGlob === true) { - finished = true; - - if (scanToEnd === true) { - continue; - } - - break; - } - } - - if (opts.noext === true) { - isExtglob = false; - isGlob = false; - } - - let base = str; - let prefix = ''; - let glob = ''; - - if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); - lastIndex -= start; - } - - if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); - } else if (isGlob === true) { - base = ''; - glob = str; - } else { - base = str; - } - - if (base && base !== '' && base !== '/' && base !== str) { - if (isPathSeparator(base.charCodeAt(base.length - 1))) { - base = base.slice(0, -1); - } - } - - if (opts.unescape === true) { - if (glob) glob = utils$1.removeBackslashes(glob); - - if (base && backslashes === true) { - base = utils$1.removeBackslashes(base); - } - } - - const state = { - prefix, - input, - start, - base, - glob, - isBrace, - isBracket, - isGlob, - isExtglob, - isGlobstar, - negated - }; - - if (opts.tokens === true) { - state.maxDepth = 0; - - if (!isPathSeparator(code)) { - tokens.push(token); - } - - state.tokens = tokens; - } - - if (opts.parts === true || opts.tokens === true) { - let prevIndex; - - for (let idx = 0; idx < slashes.length; idx++) { - const n = prevIndex ? prevIndex + 1 : start; - const i = slashes[idx]; - const value = input.slice(n, i); - - if (opts.tokens) { - if (idx === 0 && start !== 0) { - tokens[idx].isPrefix = true; - tokens[idx].value = prefix; - } else { - tokens[idx].value = value; - } - - depth(tokens[idx]); - state.maxDepth += tokens[idx].depth; - } - - if (idx !== 0 || value !== '') { - parts.push(value); - } - - prevIndex = i; - } - - if (prevIndex && prevIndex + 1 < input.length) { - const value = input.slice(prevIndex + 1); - parts.push(value); - - if (opts.tokens) { - tokens[tokens.length - 1].value = value; - depth(tokens[tokens.length - 1]); - state.maxDepth += tokens[tokens.length - 1].depth; - } - } - - state.slashes = slashes; - state.parts = parts; - } - - return state; -}; - -var scan_1 = scan; - -/** - * Constants - */ - - -const { - MAX_LENGTH: MAX_LENGTH$1, - POSIX_REGEX_SOURCE: POSIX_REGEX_SOURCE$1, - REGEX_NON_SPECIAL_CHARS, - REGEX_SPECIAL_CHARS_BACKREF, - REPLACEMENTS -} = constants$1; -/** - * Helpers - */ - -const expandRange = (args, options) => { - if (typeof options.expandRange === 'function') { - return options.expandRange(...args, options); - } - - args.sort(); - const value = `[${args.join('-')}]`; - - try { - /* eslint-disable-next-line no-new */ - new RegExp(value); - } catch (ex) { - return args.map(v => utils$1.escapeRegex(v)).join('..'); - } - - return value; -}; -/** - * Create the message for a syntax error - */ - - -const syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; -}; -/** - * Parse the given input string. - * @param {String} input - * @param {Object} options - * @return {Object} - */ - - -const parse$1 = (input, options) => { - if (typeof input !== 'string') { - throw new TypeError('Expected a string'); - } - - input = REPLACEMENTS[input] || input; - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; - let len = input.length; - - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - - const bos = { - type: 'bos', - value: '', - output: opts.prepend || '' - }; - const tokens = [bos]; - const capture = opts.capture ? '' : '?:'; - const win32 = utils$1.isWindows(options); // create constants based on platform, for windows or posix - - const PLATFORM_CHARS = constants$1.globChars(win32); - const EXTGLOB_CHARS = constants$1.extglobChars(PLATFORM_CHARS); - const { - DOT_LITERAL, - PLUS_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOT_SLASH, - NO_DOTS_SLASH, - QMARK, - QMARK_NO_DOT, - STAR, - START_ANCHOR - } = PLATFORM_CHARS; - - const globstar = opts => { - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - - const nodot = opts.dot ? '' : NO_DOT; - const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT; - let star = opts.bash === true ? globstar(opts) : STAR; - - if (opts.capture) { - star = `(${star})`; - } // minimatch options support - - - if (typeof opts.noext === 'boolean') { - opts.noextglob = opts.noext; - } - - const state = { - input, - index: -1, - start: 0, - dot: opts.dot === true, - consumed: '', - output: '', - prefix: '', - backtrack: false, - negated: false, - brackets: 0, - braces: 0, - parens: 0, - quotes: 0, - globstar: false, - tokens - }; - input = utils$1.removePrefix(input, state); - len = input.length; - const extglobs = []; - const braces = []; - const stack = []; - let prev = bos; - let value; - /** - * Tokenizing helpers - */ - - const eos = () => state.index === len - 1; - - const peek = state.peek = (n = 1) => input[state.index + n]; - - const advance = state.advance = () => input[++state.index]; - - const remaining = () => input.slice(state.index + 1); - - const consume = (value = '', num = 0) => { - state.consumed += value; - state.index += num; - }; - - const append = token => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); - }; - - const negate = () => { - let count = 1; - - while (peek() === '!' && (peek(2) !== '(' || peek(3) === '?')) { - advance(); - state.start++; - count++; - } - - if (count % 2 === 0) { - return false; - } - - state.negated = true; - state.start++; - return true; - }; - - const increment = type => { - state[type]++; - stack.push(type); - }; - - const decrement = type => { - state[type]--; - stack.pop(); - }; - /** - * Push tokens onto the tokens array. This helper speeds up - * tokenizing by 1) helping us avoid backtracking as much as possible, - * and 2) helping us avoid creating extra tokens when consecutive - * characters are plain text. This improves performance and simplifies - * lookbehinds. - */ - - - const push = tok => { - if (prev.type === 'globstar') { - const isBrace = state.braces > 0 && (tok.type === 'comma' || tok.type === 'brace'); - const isExtglob = tok.extglob === true || extglobs.length && (tok.type === 'pipe' || tok.type === 'paren'); - - if (tok.type !== 'slash' && tok.type !== 'paren' && !isBrace && !isExtglob) { - state.output = state.output.slice(0, -prev.output.length); - prev.type = 'star'; - prev.value = '*'; - prev.output = star; - state.output += prev.output; - } - } - - if (extglobs.length && tok.type !== 'paren' && !EXTGLOB_CHARS[tok.value]) { - extglobs[extglobs.length - 1].inner += tok.value; - } - - if (tok.value || tok.output) append(tok); - - if (prev && prev.type === 'text' && tok.type === 'text') { - prev.value += tok.value; - prev.output = (prev.output || '') + tok.value; - return; - } - - tok.prev = prev; - tokens.push(tok); - prev = tok; - }; - - const extglobOpen = (type, value) => { - const token = Object.assign({}, EXTGLOB_CHARS[value], { - conditions: 1, - inner: '' - }); - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? '(' : '') + token.open; - increment('parens'); - push({ - type, - value, - output: state.output ? '' : ONE_CHAR - }); - push({ - type: 'paren', - extglob: true, - value: advance(), - output - }); - extglobs.push(token); - }; - - const extglobClose = token => { - let output = token.close + (opts.capture ? ')' : ''); - - if (token.type === 'negate') { - let extglobStar = star; - - if (token.inner && token.inner.length > 1 && token.inner.includes('/')) { - extglobStar = globstar(opts); - } - - if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; - } - - if (token.prev.type === 'bos' && eos()) { - state.negatedExtglob = true; - } - } - - push({ - type: 'paren', - extglob: true, - value, - output - }); - decrement('parens'); - }; - /** - * Fast paths - */ - - - if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { - let backslashes = false; - let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { - if (first === '\\') { - backslashes = true; - return m; - } - - if (first === '?') { - if (esc) { - return esc + first + (rest ? QMARK.repeat(rest.length) : ''); - } - - if (index === 0) { - return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : ''); - } - - return QMARK.repeat(chars.length); - } - - if (first === '.') { - return DOT_LITERAL.repeat(chars.length); - } - - if (first === '*') { - if (esc) { - return esc + first + (rest ? star : ''); - } - - return star; - } - - return esc ? m : `\\${m}`; - }); - - if (backslashes === true) { - if (opts.unescape === true) { - output = output.replace(/\\/g, ''); - } else { - output = output.replace(/\\+/g, m => { - return m.length % 2 === 0 ? '\\\\' : m ? '\\' : ''; - }); - } - } - - if (output === input && opts.contains === true) { - state.output = input; - return state; - } - - state.output = utils$1.wrapOutput(output, state, options); - return state; - } - /** - * Tokenize input until we reach end-of-string - */ - - - while (!eos()) { - value = advance(); - - if (value === '\u0000') { - continue; - } - /** - * Escaped characters - */ - - - if (value === '\\') { - const next = peek(); - - if (next === '/' && opts.bash !== true) { - continue; - } - - if (next === '.' || next === ';') { - continue; - } - - if (!next) { - value += '\\'; - push({ - type: 'text', - value - }); - continue; - } // collapse slashes to reduce potential for exploits - - - const match = /^\\+/.exec(remaining()); - let slashes = 0; - - if (match && match[0].length > 2) { - slashes = match[0].length; - state.index += slashes; - - if (slashes % 2 !== 0) { - value += '\\'; - } - } - - if (opts.unescape === true) { - value = advance() || ''; - } else { - value += advance() || ''; - } - - if (state.brackets === 0) { - push({ - type: 'text', - value - }); - continue; - } - } - /** - * If we're inside a regex character class, continue - * until we reach the closing bracket. - */ - - - if (state.brackets > 0 && (value !== ']' || prev.value === '[' || prev.value === '[^')) { - if (opts.posix !== false && value === ':') { - const inner = prev.value.slice(1); - - if (inner.includes('[')) { - prev.posix = true; - - if (inner.includes(':')) { - const idx = prev.value.lastIndexOf('['); - const pre = prev.value.slice(0, idx); - const rest = prev.value.slice(idx + 2); - const posix = POSIX_REGEX_SOURCE$1[rest]; - - if (posix) { - prev.value = pre + posix; - state.backtrack = true; - advance(); - - if (!bos.output && tokens.indexOf(prev) === 1) { - bos.output = ONE_CHAR; - } - - continue; - } - } - } - } - - if (value === '[' && peek() !== ':' || value === '-' && peek() === ']') { - value = `\\${value}`; - } - - if (value === ']' && (prev.value === '[' || prev.value === '[^')) { - value = `\\${value}`; - } - - if (opts.posix === true && value === '!' && prev.value === '[') { - value = '^'; - } - - prev.value += value; - append({ - value - }); - continue; - } - /** - * If we're inside a quoted string, continue - * until we reach the closing double quote. - */ - - - if (state.quotes === 1 && value !== '"') { - value = utils$1.escapeRegex(value); - prev.value += value; - append({ - value - }); - continue; - } - /** - * Double quotes - */ - - - if (value === '"') { - state.quotes = state.quotes === 1 ? 0 : 1; - - if (opts.keepQuotes === true) { - push({ - type: 'text', - value - }); - } - - continue; - } - /** - * Parentheses - */ - - - if (value === '(') { - increment('parens'); - push({ - type: 'paren', - value - }); - continue; - } - - if (value === ')') { - if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '(')); - } - - const extglob = extglobs[extglobs.length - 1]; - - if (extglob && state.parens === extglob.parens + 1) { - extglobClose(extglobs.pop()); - continue; - } - - push({ - type: 'paren', - value, - output: state.parens ? ')' : '\\)' - }); - decrement('parens'); - continue; - } - /** - * Square brackets - */ - - - if (value === '[') { - if (opts.nobracket === true || !remaining().includes(']')) { - if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('closing', ']')); - } - - value = `\\${value}`; - } else { - increment('brackets'); - } - - push({ - type: 'bracket', - value - }); - continue; - } - - if (value === ']') { - if (opts.nobracket === true || prev && prev.type === 'bracket' && prev.value.length === 1) { - push({ - type: 'text', - value, - output: `\\${value}` - }); - continue; - } - - if (state.brackets === 0) { - if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError('opening', '[')); - } - - push({ - type: 'text', - value, - output: `\\${value}` - }); - continue; - } - - decrement('brackets'); - const prevValue = prev.value.slice(1); - - if (prev.posix !== true && prevValue[0] === '^' && !prevValue.includes('/')) { - value = `/${value}`; - } - - prev.value += value; - append({ - value - }); // when literal brackets are explicitly disabled - // assume we should match with a regex character class - - if (opts.literalBrackets === false || utils$1.hasRegexChars(prevValue)) { - continue; - } - - const escaped = utils$1.escapeRegex(prev.value); - state.output = state.output.slice(0, -prev.value.length); // when literal brackets are explicitly enabled - // assume we should escape the brackets to match literal characters - - if (opts.literalBrackets === true) { - state.output += escaped; - prev.value = escaped; - continue; - } // when the user specifies nothing, try to match both - - - prev.value = `(${capture}${escaped}|${prev.value})`; - state.output += prev.value; - continue; - } - /** - * Braces - */ - - - if (value === '{' && opts.nobrace !== true) { - increment('braces'); - const open = { - type: 'brace', - value, - output: '(', - outputIndex: state.output.length, - tokensIndex: state.tokens.length - }; - braces.push(open); - push(open); - continue; - } - - if (value === '}') { - const brace = braces[braces.length - 1]; - - if (opts.nobrace === true || !brace) { - push({ - type: 'text', - value, - output: value - }); - continue; - } - - let output = ')'; - - if (brace.dots === true) { - const arr = tokens.slice(); - const range = []; - - for (let i = arr.length - 1; i >= 0; i--) { - tokens.pop(); - - if (arr[i].type === 'brace') { - break; - } - - if (arr[i].type !== 'dots') { - range.unshift(arr[i].value); - } - } - - output = expandRange(range, opts); - state.backtrack = true; - } - - if (brace.comma !== true && brace.dots !== true) { - const out = state.output.slice(0, brace.outputIndex); - const toks = state.tokens.slice(brace.tokensIndex); - brace.value = brace.output = '\\{'; - value = output = '\\}'; - state.output = out; - - for (const t of toks) { - state.output += t.output || t.value; - } - } - - push({ - type: 'brace', - value, - output - }); - decrement('braces'); - braces.pop(); - continue; - } - /** - * Pipes - */ - - - if (value === '|') { - if (extglobs.length > 0) { - extglobs[extglobs.length - 1].conditions++; - } - - push({ - type: 'text', - value - }); - continue; - } - /** - * Commas - */ - - - if (value === ',') { - let output = value; - const brace = braces[braces.length - 1]; - - if (brace && stack[stack.length - 1] === 'braces') { - brace.comma = true; - output = '|'; - } - - push({ - type: 'comma', - value, - output - }); - continue; - } - /** - * Slashes - */ - - - if (value === '/') { - // if the beginning of the glob is "./", advance the start - // to the current index, and don't add the "./" characters - // to the state. This greatly simplifies lookbehinds when - // checking for BOS characters like "!" and "." (not "./") - if (prev.type === 'dot' && state.index === state.start + 1) { - state.start = state.index + 1; - state.consumed = ''; - state.output = ''; - tokens.pop(); - prev = bos; // reset "prev" to the first token - - continue; - } - - push({ - type: 'slash', - value, - output: SLASH_LITERAL - }); - continue; - } - /** - * Dots - */ - - - if (value === '.') { - if (state.braces > 0 && prev.type === 'dot') { - if (prev.value === '.') prev.output = DOT_LITERAL; - const brace = braces[braces.length - 1]; - prev.type = 'dots'; - prev.output += value; - prev.value += value; - brace.dots = true; - continue; - } - - if (state.braces + state.parens === 0 && prev.type !== 'bos' && prev.type !== 'slash') { - push({ - type: 'text', - value, - output: DOT_LITERAL - }); - continue; - } - - push({ - type: 'dot', - value, - output: DOT_LITERAL - }); - continue; - } - /** - * Question marks - */ - - - if (value === '?') { - const isGroup = prev && prev.value === '('; - - if (!isGroup && opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('qmark', value); - continue; - } - - if (prev && prev.type === 'paren') { - const next = peek(); - let output = value; - - if (next === '<' && !utils$1.supportsLookbehinds()) { - throw new Error('Node.js v10 or higher is required for regex lookbehinds'); - } - - if (prev.value === '(' && !/[!=<:]/.test(next) || next === '<' && !/<([!=]|\w+>)/.test(remaining())) { - output = `\\${value}`; - } - - push({ - type: 'text', - value, - output - }); - continue; - } - - if (opts.dot !== true && (prev.type === 'slash' || prev.type === 'bos')) { - push({ - type: 'qmark', - value, - output: QMARK_NO_DOT - }); - continue; - } - - push({ - type: 'qmark', - value, - output: QMARK - }); - continue; - } - /** - * Exclamation - */ - - - if (value === '!') { - if (opts.noextglob !== true && peek() === '(') { - if (peek(2) !== '?' || !/[!=<:]/.test(peek(3))) { - extglobOpen('negate', value); - continue; - } - } - - if (opts.nonegate !== true && state.index === 0) { - negate(); - continue; - } - } - /** - * Plus - */ - - - if (value === '+') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - extglobOpen('plus', value); - continue; - } - - if (prev && prev.value === '(' || opts.regex === false) { - push({ - type: 'plus', - value, - output: PLUS_LITERAL - }); - continue; - } - - if (prev && (prev.type === 'bracket' || prev.type === 'paren' || prev.type === 'brace') || state.parens > 0) { - push({ - type: 'plus', - value - }); - continue; - } - - push({ - type: 'plus', - value: PLUS_LITERAL - }); - continue; - } - /** - * Plain text - */ - - - if (value === '@') { - if (opts.noextglob !== true && peek() === '(' && peek(2) !== '?') { - push({ - type: 'at', - extglob: true, - value, - output: '' - }); - continue; - } - - push({ - type: 'text', - value - }); - continue; - } - /** - * Plain text - */ - - - if (value !== '*') { - if (value === '$' || value === '^') { - value = `\\${value}`; - } - - const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); - - if (match) { - value += match[0]; - state.index += match[0].length; - } - - push({ - type: 'text', - value - }); - continue; - } - /** - * Stars - */ - - - if (prev && (prev.type === 'globstar' || prev.star === true)) { - prev.type = 'star'; - prev.star = true; - prev.value += value; - prev.output = star; - state.backtrack = true; - state.globstar = true; - consume(value); - continue; - } - - let rest = remaining(); - - if (opts.noextglob !== true && /^\([^?]/.test(rest)) { - extglobOpen('star', value); - continue; - } - - if (prev.type === 'star') { - if (opts.noglobstar === true) { - consume(value); - continue; - } - - const prior = prev.prev; - const before = prior.prev; - const isStart = prior.type === 'slash' || prior.type === 'bos'; - const afterStar = before && (before.type === 'star' || before.type === 'globstar'); - - if (opts.bash === true && (!isStart || rest[0] && rest[0] !== '/')) { - push({ - type: 'star', - value, - output: '' - }); - continue; - } - - const isBrace = state.braces > 0 && (prior.type === 'comma' || prior.type === 'brace'); - const isExtglob = extglobs.length && (prior.type === 'pipe' || prior.type === 'paren'); - - if (!isStart && prior.type !== 'paren' && !isBrace && !isExtglob) { - push({ - type: 'star', - value, - output: '' - }); - continue; - } // strip consecutive `/**/` - - - while (rest.slice(0, 3) === '/**') { - const after = input[state.index + 4]; - - if (after && after !== '/') { - break; - } - - rest = rest.slice(3); - consume('/**', 3); - } - - if (prior.type === 'bos' && eos()) { - prev.type = 'globstar'; - prev.value += value; - prev.output = globstar(opts); - state.output = prev.output; - state.globstar = true; - consume(value); - continue; - } - - if (prior.type === 'slash' && prior.prev.type !== 'bos' && !afterStar && eos()) { - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = 'globstar'; - prev.output = globstar(opts) + (opts.strictSlashes ? ')' : '|$)'); - prev.value += value; - state.globstar = true; - state.output += prior.output + prev.output; - consume(value); - continue; - } - - if (prior.type === 'slash' && prior.prev.type !== 'bos' && rest[0] === '/') { - const end = rest[1] !== void 0 ? '|$' : ''; - state.output = state.output.slice(0, -(prior.output + prev.output).length); - prior.output = `(?:${prior.output}`; - prev.type = 'globstar'; - prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; - prev.value += value; - state.output += prior.output + prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: 'slash', - value: '/', - output: '' - }); - continue; - } - - if (prior.type === 'bos' && rest[0] === '/') { - prev.type = 'globstar'; - prev.value += value; - prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; - state.output = prev.output; - state.globstar = true; - consume(value + advance()); - push({ - type: 'slash', - value: '/', - output: '' - }); - continue; - } // remove single star from output - - - state.output = state.output.slice(0, -prev.output.length); // reset previous token to globstar - - prev.type = 'globstar'; - prev.output = globstar(opts); - prev.value += value; // reset output with globstar - - state.output += prev.output; - state.globstar = true; - consume(value); - continue; - } - - const token = { - type: 'star', - value, - output: star - }; - - if (opts.bash === true) { - token.output = '.*?'; - - if (prev.type === 'bos' || prev.type === 'slash') { - token.output = nodot + token.output; - } - - push(token); - continue; - } - - if (prev && (prev.type === 'bracket' || prev.type === 'paren') && opts.regex === true) { - token.output = value; - push(token); - continue; - } - - if (state.index === state.start || prev.type === 'slash' || prev.type === 'dot') { - if (prev.type === 'dot') { - state.output += NO_DOT_SLASH; - prev.output += NO_DOT_SLASH; - } else if (opts.dot === true) { - state.output += NO_DOTS_SLASH; - prev.output += NO_DOTS_SLASH; - } else { - state.output += nodot; - prev.output += nodot; - } - - if (peek() !== '*') { - state.output += ONE_CHAR; - prev.output += ONE_CHAR; - } - } - - push(token); - } - - while (state.brackets > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ']')); - state.output = utils$1.escapeLast(state.output, '['); - decrement('brackets'); - } - - while (state.parens > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', ')')); - state.output = utils$1.escapeLast(state.output, '('); - decrement('parens'); - } - - while (state.braces > 0) { - if (opts.strictBrackets === true) throw new SyntaxError(syntaxError('closing', '}')); - state.output = utils$1.escapeLast(state.output, '{'); - decrement('braces'); - } - - if (opts.strictSlashes !== true && (prev.type === 'star' || prev.type === 'bracket')) { - push({ - type: 'maybe_slash', - value: '', - output: `${SLASH_LITERAL}?` - }); - } // rebuild the output if we had to backtrack at any point - - - if (state.backtrack === true) { - state.output = ''; - - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - - if (token.suffix) { - state.output += token.suffix; - } - } - } - - return state; -}; -/** - * Fast paths for creating regular expressions for common glob patterns. - * This can significantly speed up processing and has very little downside - * impact when none of the fast paths match. - */ - - -parse$1.fastpaths = (input, options) => { - const opts = Object.assign({}, options); - const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH$1, opts.maxLength) : MAX_LENGTH$1; - const len = input.length; - - if (len > max) { - throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); - } - - input = REPLACEMENTS[input] || input; - const win32 = utils$1.isWindows(options); // create constants based on platform, for windows or posix - - const { - DOT_LITERAL, - SLASH_LITERAL, - ONE_CHAR, - DOTS_SLASH, - NO_DOT, - NO_DOTS, - NO_DOTS_SLASH, - STAR, - START_ANCHOR - } = constants$1.globChars(win32); - const nodot = opts.dot ? NO_DOTS : NO_DOT; - const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT; - const capture = opts.capture ? '' : '?:'; - const state = { - negated: false, - prefix: '' - }; - let star = opts.bash === true ? '.*?' : STAR; - - if (opts.capture) { - star = `(${star})`; - } - - const globstar = opts => { - if (opts.noglobstar === true) return star; - return `(${capture}(?:(?!${START_ANCHOR}${opts.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; - }; - - const create = str => { - switch (str) { - case '*': - return `${nodot}${ONE_CHAR}${star}`; - - case '.*': - return `${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '*.*': - return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '*/*': - return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`; - - case '**': - return nodot + globstar(opts); - - case '**/*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`; - - case '**/*.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; - - case '**/.*': - return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; - - default: - { - const match = /^(.*?)\.(\w+)$/.exec(str); - if (!match) return; - const source = create(match[1]); - if (!source) return; - return source + DOT_LITERAL + match[2]; - } - } - }; - - const output = utils$1.removePrefix(input, state); - let source = create(output); - - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; - } - - return source; -}; - -var parse_1$1 = parse$1; - -const isObject$2 = val => val && typeof val === 'object' && !Array.isArray(val); -/** - * Creates a matcher function from one or more glob patterns. The - * returned function takes a string to match as its first argument, - * and returns true if the string is a match. The returned matcher - * function also takes a boolean as the second argument that, when true, - * returns an object with additional information. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch(glob[, options]); - * - * const isMatch = picomatch('*.!(*a)'); - * console.log(isMatch('a.a')); //=> false - * console.log(isMatch('a.b')); //=> true - * ``` - * @name picomatch - * @param {String|Array} `globs` One or more glob patterns. - * @param {Object=} `options` - * @return {Function=} Returns a matcher function. - * @api public - */ - - -const picomatch = (glob, options, returnState = false) => { - if (Array.isArray(glob)) { - const fns = glob.map(input => picomatch(input, options, returnState)); - - const arrayMatcher = str => { - for (const isMatch of fns) { - const state = isMatch(str); - if (state) return state; - } - - return false; - }; - - return arrayMatcher; - } - - const isState = isObject$2(glob) && glob.tokens && glob.input; - - if (glob === '' || typeof glob !== 'string' && !isState) { - throw new TypeError('Expected pattern to be a non-empty string'); - } - - const opts = options || {}; - const posix = utils$1.isWindows(options); - const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true); - const state = regex.state; - delete regex.state; - - let isIgnored = () => false; - - if (opts.ignore) { - const ignoreOpts = Object.assign({}, options, { - ignore: null, - onMatch: null, - onResult: null - }); - isIgnored = picomatch(opts.ignore, ignoreOpts, returnState); - } - - const matcher = (input, returnObject = false) => { - const { - isMatch, - match, - output - } = picomatch.test(input, regex, options, { - glob, - posix - }); - const result = { - glob, - state, - regex, - posix, - input, - output, - match, - isMatch - }; - - if (typeof opts.onResult === 'function') { - opts.onResult(result); - } - - if (isMatch === false) { - result.isMatch = false; - return returnObject ? result : false; - } - - if (isIgnored(input)) { - if (typeof opts.onIgnore === 'function') { - opts.onIgnore(result); - } - - result.isMatch = false; - return returnObject ? result : false; - } - - if (typeof opts.onMatch === 'function') { - opts.onMatch(result); - } - - return returnObject ? result : true; - }; - - if (returnState) { - matcher.state = state; - } - - return matcher; -}; -/** - * Test `input` with the given `regex`. This is used by the main - * `picomatch()` function to test the input string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.test(input, regex[, options]); - * - * console.log(picomatch.test('foo/bar', /^(?:([^/]*?)\/([^/]*?))$/)); - * // { isMatch: true, match: [ 'foo/', 'foo', 'bar' ], output: 'foo/bar' } - * ``` - * @param {String} `input` String to test. - * @param {RegExp} `regex` - * @return {Object} Returns an object with matching info. - * @api public - */ - - -picomatch.test = (input, regex, options, { - glob, - posix -} = {}) => { - if (typeof input !== 'string') { - throw new TypeError('Expected input to be a string'); - } - - if (input === '') { - return { - isMatch: false, - output: '' - }; - } - - const opts = options || {}; - const format = opts.format || (posix ? utils$1.toPosixSlashes : null); - let match = input === glob; - let output = match && format ? format(input) : input; - - if (match === false) { - output = format ? format(input) : input; - match = output === glob; - } - - if (match === false || opts.capture === true) { - if (opts.matchBase === true || opts.basename === true) { - match = picomatch.matchBase(input, regex, options, posix); - } else { - match = regex.exec(output); - } - } - - return { - isMatch: Boolean(match), - match, - output - }; -}; -/** - * Match the basename of a filepath. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.matchBase(input, glob[, options]); - * console.log(picomatch.matchBase('foo/bar.js', '*.js'); // true - * ``` - * @param {String} `input` String to test. - * @param {RegExp|String} `glob` Glob pattern or regex created by [.makeRe](#makeRe). - * @return {Boolean} - * @api public - */ - - -picomatch.matchBase = (input, glob, options, posix = utils$1.isWindows(options)) => { - const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options); - return regex.test(path__default['default'].basename(input)); -}; -/** - * Returns true if **any** of the given glob `patterns` match the specified `string`. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.isMatch(string, patterns[, options]); - * - * console.log(picomatch.isMatch('a.a', ['b.*', '*.a'])); //=> true - * console.log(picomatch.isMatch('a.a', 'b.*')); //=> false - * ``` - * @param {String|Array} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - - -picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); -/** - * Parse a glob pattern to create the source string for a regular - * expression. - * - * ```js - * const picomatch = require('picomatch'); - * const result = picomatch.parse(pattern[, options]); - * ``` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Object} Returns an object with useful properties and output to be used as a regex source string. - * @api public - */ - - -picomatch.parse = (pattern, options) => { - if (Array.isArray(pattern)) return pattern.map(p => picomatch.parse(p, options)); - return parse_1$1(pattern, Object.assign({}, options, { - fastpaths: false - })); -}; -/** - * Scan a glob pattern to separate the pattern into segments. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.scan(input[, options]); - * - * const result = picomatch.scan('!./foo/*.js'); - * console.log(result); - * { prefix: '!./', - * input: '!./foo/*.js', - * start: 3, - * base: 'foo', - * glob: '*.js', - * isBrace: false, - * isBracket: false, - * isGlob: true, - * isExtglob: false, - * isGlobstar: false, - * negated: true } - * ``` - * @param {String} `input` Glob pattern to scan. - * @param {Object} `options` - * @return {Object} Returns an object with - * @api public - */ - - -picomatch.scan = (input, options) => scan_1(input, options); -/** - * Create a regular expression from a parsed glob pattern. - * - * ```js - * const picomatch = require('picomatch'); - * const state = picomatch.parse('*.js'); - * // picomatch.compileRe(state[, options]); - * - * console.log(picomatch.compileRe(state)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `state` The object returned from the `.parse` method. - * @param {Object} `options` - * @return {RegExp} Returns a regex created from the given pattern. - * @api public - */ - - -picomatch.compileRe = (parsed, options, returnOutput = false, returnState = false) => { - if (returnOutput === true) { - return parsed.output; - } - - const opts = options || {}; - const prepend = opts.contains ? '' : '^'; - const append = opts.contains ? '' : '$'; - let source = `${prepend}(?:${parsed.output})${append}`; - - if (parsed && parsed.negated === true) { - source = `^(?!${source}).*$`; - } - - const regex = picomatch.toRegex(source, options); - - if (returnState === true) { - regex.state = parsed; - } - - return regex; -}; - -picomatch.makeRe = (input, options, returnOutput = false, returnState = false) => { - if (!input || typeof input !== 'string') { - throw new TypeError('Expected a non-empty string'); - } - - const opts = options || {}; - let parsed = { - negated: false, - fastpaths: true - }; - let prefix = ''; - let output; - - if (input.startsWith('./')) { - input = input.slice(2); - prefix = parsed.prefix = './'; - } - - if (opts.fastpaths !== false && (input[0] === '.' || input[0] === '*')) { - output = parse_1$1.fastpaths(input, options); - } - - if (output === undefined) { - parsed = parse_1$1(input, options); - parsed.prefix = prefix + (parsed.prefix || ''); - } else { - parsed.output = output; - } - - return picomatch.compileRe(parsed, options, returnOutput, returnState); -}; -/** - * Create a regular expression from the given regex source string. - * - * ```js - * const picomatch = require('picomatch'); - * // picomatch.toRegex(source[, options]); - * - * const { output } = picomatch.parse('*.js'); - * console.log(picomatch.toRegex(output)); - * //=> /^(?:(?!\.)(?=.)[^/]*?\.js)$/ - * ``` - * @param {String} `source` Regular expression source string. - * @param {Object} `options` - * @return {RegExp} - * @api public - */ - - -picomatch.toRegex = (source, options) => { - try { - const opts = options || {}; - return new RegExp(source, opts.flags || (opts.nocase ? 'i' : '')); - } catch (err) { - if (options && options.debug === true) throw err; - return /$^/; - } -}; -/** - * Picomatch constants. - * @return {Object} - */ - - -picomatch.constants = constants$1; -/** - * Expose "picomatch" - */ - -var picomatch_1 = picomatch; - -var picomatch$1 = picomatch_1; - -const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); -/** - * Returns an array of strings that match one or more glob patterns. - * - * ```js - * const mm = require('micromatch'); - * // mm(list, patterns[, options]); - * - * console.log(mm(['a.js', 'a.txt'], ['*.js'])); - * //=> [ 'a.js' ] - * ``` - * @param {String|Array} list List of strings to match. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} options See available [options](#options) - * @return {Array} Returns an array of matches - * @summary false - * @api public - */ - - -const micromatch = (list, patterns, options) => { - patterns = [].concat(patterns); - list = [].concat(list); - let omit = new Set(); - let keep = new Set(); - let items = new Set(); - let negatives = 0; - - let onResult = state => { - items.add(state.output); - - if (options && options.onResult) { - options.onResult(state); - } - }; - - for (let i = 0; i < patterns.length; i++) { - let isMatch = picomatch$1(String(patterns[i]), Object.assign({}, options, { - onResult - }), true); - let negated = isMatch.state.negated || isMatch.state.negatedExtglob; - if (negated) negatives++; - - for (let item of list) { - let matched = isMatch(item, true); - let match = negated ? !matched.isMatch : matched.isMatch; - if (!match) continue; - - if (negated) { - omit.add(matched.output); - } else { - omit.delete(matched.output); - keep.add(matched.output); - } - } - } - - let result = negatives === patterns.length ? [...items] : [...keep]; - let matches = result.filter(item => !omit.has(item)); - - if (options && matches.length === 0) { - if (options.failglob === true) { - throw new Error(`No matches found for "${patterns.join(', ')}"`); - } - - if (options.nonull === true || options.nullglob === true) { - return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns; - } - } - - return matches; -}; -/** - * Backwards compatibility - */ - - -micromatch.match = micromatch; -/** - * Returns a matcher function from the given glob `pattern` and `options`. - * The returned function takes a string to match as its only argument and returns - * true if the string is a match. - * - * ```js - * const mm = require('micromatch'); - * // mm.matcher(pattern[, options]); - * - * const isMatch = mm.matcher('*.!(*a)'); - * console.log(isMatch('a.a')); //=> false - * console.log(isMatch('a.b')); //=> true - * ``` - * @param {String} `pattern` Glob pattern - * @param {Object} `options` - * @return {Function} Returns a matcher function. - * @api public - */ - -micromatch.matcher = (pattern, options) => picomatch$1(pattern, options); -/** - * Returns true if **any** of the given glob `patterns` match the specified `string`. - * - * ```js - * const mm = require('micromatch'); - * // mm.isMatch(string, patterns[, options]); - * - * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true - * console.log(mm.isMatch('a.a', 'b.*')); //=> false - * ``` - * @param {String} str The string to test. - * @param {String|Array} patterns One or more glob patterns to use for matching. - * @param {Object} [options] See available [options](#options). - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - - -micromatch.isMatch = (str, patterns, options) => picomatch$1(patterns, options)(str); -/** - * Backwards compatibility - */ - - -micromatch.any = micromatch.isMatch; -/** - * Returns a list of strings that _**do not match any**_ of the given `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.not(list, patterns[, options]); - * - * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); - * //=> ['b.b', 'c.c'] - * ``` - * @param {Array} `list` Array of strings to match. - * @param {String|Array} `patterns` One or more glob pattern to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Array} Returns an array of strings that **do not match** the given patterns. - * @api public - */ - -micromatch.not = (list, patterns, options = {}) => { - patterns = [].concat(patterns).map(String); - let result = new Set(); - let items = []; - - let onResult = state => { - if (options.onResult) options.onResult(state); - items.push(state.output); - }; - - let matches = micromatch(list, patterns, Object.assign({}, options, { - onResult - })); - - for (let item of items) { - if (!matches.includes(item)) { - result.add(item); - } - } - - return [...result]; -}; -/** - * Returns true if the given `string` contains the given pattern. Similar - * to [.isMatch](#isMatch) but the pattern can match any part of the string. - * - * ```js - * var mm = require('micromatch'); - * // mm.contains(string, pattern[, options]); - * - * console.log(mm.contains('aa/bb/cc', '*b')); - * //=> true - * console.log(mm.contains('aa/bb/cc', '*d')); - * //=> false - * ``` - * @param {String} `str` The string to match. - * @param {String|Array} `patterns` Glob pattern to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if the patter matches any part of `str`. - * @api public - */ - - -micromatch.contains = (str, pattern, options) => { - if (typeof str !== 'string') { - throw new TypeError(`Expected a string: "${util__default['default'].inspect(str)}"`); - } - - if (Array.isArray(pattern)) { - return pattern.some(p => micromatch.contains(str, p, options)); - } - - if (typeof pattern === 'string') { - if (isEmptyString(str) || isEmptyString(pattern)) { - return false; - } - - if (str.includes(pattern) || str.startsWith('./') && str.slice(2).includes(pattern)) { - return true; - } - } - - return micromatch.isMatch(str, pattern, Object.assign({}, options, { - contains: true - })); -}; -/** - * Filter the keys of the given object with the given `glob` pattern - * and `options`. Does not attempt to match nested keys. If you need this feature, - * use [glob-object][] instead. - * - * ```js - * const mm = require('micromatch'); - * // mm.matchKeys(object, patterns[, options]); - * - * const obj = { aa: 'a', ab: 'b', ac: 'c' }; - * console.log(mm.matchKeys(obj, '*b')); - * //=> { ab: 'b' } - * ``` - * @param {Object} `object` The object with keys to filter. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Object} Returns an object with only keys that match the given patterns. - * @api public - */ - - -micromatch.matchKeys = (obj, patterns, options) => { - if (!utils$1.isObject(obj)) { - throw new TypeError('Expected the first argument to be an object'); - } - - let keys = micromatch(Object.keys(obj), patterns, options); - let res = {}; - - for (let key of keys) res[key] = obj[key]; - - return res; -}; -/** - * Returns true if some of the strings in the given `list` match any of the given glob `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.some(list, patterns[, options]); - * - * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); - * // true - * console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); - * // false - * ``` - * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - - -micromatch.some = (list, patterns, options) => { - let items = [].concat(list); - - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); - - if (items.some(item => isMatch(item))) { - return true; - } - } - - return false; -}; -/** - * Returns true if every string in the given `list` matches - * any of the given glob `patterns`. - * - * ```js - * const mm = require('micromatch'); - * // mm.every(list, patterns[, options]); - * - * console.log(mm.every('foo.js', ['foo.js'])); - * // true - * console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); - * // true - * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); - * // false - * console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); - * // false - * ``` - * @param {String|Array} `list` The string or array of strings to test. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - - -micromatch.every = (list, patterns, options) => { - let items = [].concat(list); - - for (let pattern of [].concat(patterns)) { - let isMatch = picomatch$1(String(pattern), options); - - if (!items.every(item => isMatch(item))) { - return false; - } - } - - return true; -}; -/** - * Returns true if **all** of the given `patterns` match - * the specified string. - * - * ```js - * const mm = require('micromatch'); - * // mm.all(string, patterns[, options]); - * - * console.log(mm.all('foo.js', ['foo.js'])); - * // true - * - * console.log(mm.all('foo.js', ['*.js', '!foo.js'])); - * // false - * - * console.log(mm.all('foo.js', ['*.js', 'foo.js'])); - * // true - * - * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); - * // true - * ``` - * @param {String|Array} `str` The string to test. - * @param {String|Array} `patterns` One or more glob patterns to use for matching. - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns true if any patterns match `str` - * @api public - */ - - -micromatch.all = (str, patterns, options) => { - if (typeof str !== 'string') { - throw new TypeError(`Expected a string: "${util__default['default'].inspect(str)}"`); - } - - return [].concat(patterns).every(p => picomatch$1(p, options)(str)); -}; -/** - * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. - * - * ```js - * const mm = require('micromatch'); - * // mm.capture(pattern, string[, options]); - * - * console.log(mm.capture('test/*.js', 'test/foo.js')); - * //=> ['foo'] - * console.log(mm.capture('test/*.js', 'foo/bar.css')); - * //=> null - * ``` - * @param {String} `glob` Glob pattern to use for matching. - * @param {String} `input` String to match - * @param {Object} `options` See available [options](#options) for changing how matches are performed - * @return {Boolean} Returns an array of captures if the input matches the glob pattern, otherwise `null`. - * @api public - */ - - -micromatch.capture = (glob, input, options) => { - let posix = utils$1.isWindows(options); - let regex = picomatch$1.makeRe(String(glob), Object.assign({}, options, { - capture: true - })); - let match = regex.exec(posix ? utils$1.toPosixSlashes(input) : input); - - if (match) { - return match.slice(1).map(v => v === void 0 ? '' : v); - } -}; -/** - * Create a regular expression from the given glob `pattern`. - * - * ```js - * const mm = require('micromatch'); - * // mm.makeRe(pattern[, options]); - * - * console.log(mm.makeRe('*.js')); - * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ - * ``` - * @param {String} `pattern` A glob pattern to convert to regex. - * @param {Object} `options` - * @return {RegExp} Returns a regex created from the given pattern. - * @api public - */ - - -micromatch.makeRe = (...args) => picomatch$1.makeRe(...args); -/** - * Scan a glob pattern to separate the pattern into segments. Used - * by the [split](#split) method. - * - * ```js - * const mm = require('micromatch'); - * const state = mm.scan(pattern[, options]); - * ``` - * @param {String} `pattern` - * @param {Object} `options` - * @return {Object} Returns an object with - * @api public - */ - - -micromatch.scan = (...args) => picomatch$1.scan(...args); -/** - * Parse a glob pattern to create the source string for a regular - * expression. - * - * ```js - * const mm = require('micromatch'); - * const state = mm(pattern[, options]); - * ``` - * @param {String} `glob` - * @param {Object} `options` - * @return {Object} Returns an object with useful properties and output to be used as regex source string. - * @api public - */ - - -micromatch.parse = (patterns, options) => { - let res = []; - - for (let pattern of [].concat(patterns || [])) { - for (let str of braces_1(String(pattern), options)) { - res.push(picomatch$1.parse(str, options)); - } - } - - return res; -}; -/** - * Process the given brace `pattern`. - * - * ```js - * const { braces } = require('micromatch'); - * console.log(braces('foo/{a,b,c}/bar')); - * //=> [ 'foo/(a|b|c)/bar' ] - * - * console.log(braces('foo/{a,b,c}/bar', { expand: true })); - * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] - * ``` - * @param {String} `pattern` String with brace pattern to process. - * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options. - * @return {Array} - * @api public - */ - - -micromatch.braces = (pattern, options) => { - if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - - if (options && options.nobrace === true || !/\{.*\}/.test(pattern)) { - return [pattern]; - } - - return braces_1(pattern, options); -}; -/** - * Expand braces - */ - - -micromatch.braceExpand = (pattern, options) => { - if (typeof pattern !== 'string') throw new TypeError('Expected a string'); - return micromatch.braces(pattern, Object.assign({}, options, { - expand: true - })); -}; -/** - * Expose micromatch - */ - - -var micromatch_1 = micromatch; - -var pattern = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; - const GLOBSTAR = '**'; - const ESCAPE_SYMBOL = '\\'; - const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; - const REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[.*]/; - const REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\(.*\|.*\)/; - const GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\(.*\)/; - const BRACE_EXPANSIONS_SYMBOLS_RE = /{.*(?:,|\.\.).*}/; - - function isStaticPattern(pattern, options = {}) { - return !isDynamicPattern(pattern, options); - } - - exports.isStaticPattern = isStaticPattern; - - function isDynamicPattern(pattern, options = {}) { - /** - * A special case with an empty string is necessary for matching patterns that start with a forward slash. - * An empty string cannot be a dynamic pattern. - * For example, the pattern `/lib/*` will be spread into parts: '', 'lib', '*'. - */ - if (pattern === '') { - return false; - } - /** - * When the `caseSensitiveMatch` option is disabled, all patterns must be marked as dynamic, because we cannot check - * filepath directly (without read directory). - */ - - - if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) { - return true; - } - - if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) { - return true; - } - - if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) { - return true; - } - - if (options.braceExpansion !== false && BRACE_EXPANSIONS_SYMBOLS_RE.test(pattern)) { - return true; - } - - return false; - } - - exports.isDynamicPattern = isDynamicPattern; - - function convertToPositivePattern(pattern) { - return isNegativePattern(pattern) ? pattern.slice(1) : pattern; - } - - exports.convertToPositivePattern = convertToPositivePattern; - - function convertToNegativePattern(pattern) { - return '!' + pattern; - } - - exports.convertToNegativePattern = convertToNegativePattern; - - function isNegativePattern(pattern) { - return pattern.startsWith('!') && pattern[1] !== '('; - } - - exports.isNegativePattern = isNegativePattern; - - function isPositivePattern(pattern) { - return !isNegativePattern(pattern); - } - - exports.isPositivePattern = isPositivePattern; - - function getNegativePatterns(patterns) { - return patterns.filter(isNegativePattern); - } - - exports.getNegativePatterns = getNegativePatterns; - - function getPositivePatterns(patterns) { - return patterns.filter(isPositivePattern); - } - - exports.getPositivePatterns = getPositivePatterns; - - function getBaseDirectory(pattern) { - return globParent(pattern, { - flipBackslashes: false - }); - } - - exports.getBaseDirectory = getBaseDirectory; - - function hasGlobStar(pattern) { - return pattern.includes(GLOBSTAR); - } - - exports.hasGlobStar = hasGlobStar; - - function endsWithSlashGlobStar(pattern) { - return pattern.endsWith('/' + GLOBSTAR); - } - - exports.endsWithSlashGlobStar = endsWithSlashGlobStar; - - function isAffectDepthOfReadingPattern(pattern) { - const basename = path__default['default'].basename(pattern); - return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); - } - - exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; - - function expandPatternsWithBraceExpansion(patterns) { - return patterns.reduce((collection, pattern) => { - return collection.concat(expandBraceExpansion(pattern)); - }, []); - } - - exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; - - function expandBraceExpansion(pattern) { - return micromatch_1.braces(pattern, { - expand: true, - nodupes: true - }); - } - - exports.expandBraceExpansion = expandBraceExpansion; - - function getPatternParts(pattern, options) { - let { - parts - } = picomatch$1.scan(pattern, Object.assign(Object.assign({}, options), { - parts: true - })); - /** - * The scan method returns an empty array in some cases. - * See micromatch/picomatch#58 for more details. - */ - - if (parts.length === 0) { - parts = [pattern]; - } - /** - * The scan method does not return an empty part for the pattern with a forward slash. - * This is another part of micromatch/picomatch#58. - */ - - - if (parts[0].startsWith('/')) { - parts[0] = parts[0].slice(1); - parts.unshift(''); - } - - return parts; - } - - exports.getPatternParts = getPatternParts; - - function makeRe(pattern, options) { - return micromatch_1.makeRe(pattern, options); - } - - exports.makeRe = makeRe; - - function convertPatternsToRe(patterns, options) { - return patterns.map(pattern => makeRe(pattern, options)); - } - - exports.convertPatternsToRe = convertPatternsToRe; - - function matchAny(entry, patternsRe) { - return patternsRe.some(patternRe => patternRe.test(entry)); - } - - exports.matchAny = matchAny; -}); - -/* - * merge2 - * https://github.com/teambition/merge2 - * - * Copyright (c) 2014-2020 Teambition - * Licensed under the MIT license. - */ - - -const PassThrough = stream_1__default['default'].PassThrough; -const slice = Array.prototype.slice; -var merge2_1 = merge2; - -function merge2() { - const streamsQueue = []; - const args = slice.call(arguments); - let merging = false; - let options = args[args.length - 1]; - - if (options && !Array.isArray(options) && options.pipe == null) { - args.pop(); - } else { - options = {}; - } - - const doEnd = options.end !== false; - const doPipeError = options.pipeError === true; - - if (options.objectMode == null) { - options.objectMode = true; - } - - if (options.highWaterMark == null) { - options.highWaterMark = 64 * 1024; - } - - const mergedStream = PassThrough(options); - - function addStream() { - for (let i = 0, len = arguments.length; i < len; i++) { - streamsQueue.push(pauseStreams(arguments[i], options)); - } - - mergeStream(); - return this; - } - - function mergeStream() { - if (merging) { - return; - } - - merging = true; - let streams = streamsQueue.shift(); - - if (!streams) { - process.nextTick(endStream); - return; - } - - if (!Array.isArray(streams)) { - streams = [streams]; - } - - let pipesCount = streams.length + 1; - - function next() { - if (--pipesCount > 0) { - return; - } - - merging = false; - mergeStream(); - } - - function pipe(stream) { - function onend() { - stream.removeListener('merge2UnpipeEnd', onend); - stream.removeListener('end', onend); - - if (doPipeError) { - stream.removeListener('error', onerror); - } - - next(); - } - - function onerror(err) { - mergedStream.emit('error', err); - } // skip ended stream - - - if (stream._readableState.endEmitted) { - return next(); - } - - stream.on('merge2UnpipeEnd', onend); - stream.on('end', onend); - - if (doPipeError) { - stream.on('error', onerror); - } - - stream.pipe(mergedStream, { - end: false - }); // compatible for old stream - - stream.resume(); - } - - for (let i = 0; i < streams.length; i++) { - pipe(streams[i]); - } - - next(); - } - - function endStream() { - merging = false; // emit 'queueDrain' when all streams merged. - - mergedStream.emit('queueDrain'); - - if (doEnd) { - mergedStream.end(); - } - } - - mergedStream.setMaxListeners(0); - mergedStream.add = addStream; - mergedStream.on('unpipe', function (stream) { - stream.emit('merge2UnpipeEnd'); - }); - - if (args.length) { - addStream.apply(null, args); - } - - return mergedStream; -} // check and pause streams for pipe. - - -function pauseStreams(streams, options) { - if (!Array.isArray(streams)) { - // Backwards-compat with old-style streams - if (!streams._readableState && streams.pipe) { - streams = streams.pipe(PassThrough(options)); - } - - if (!streams._readableState || !streams.pause || !streams.pipe) { - throw new Error('Only readable stream can be merged.'); - } - - streams.pause(); - } else { - for (let i = 0, len = streams.length; i < len; i++) { - streams[i] = pauseStreams(streams[i], options); - } - } - - return streams; -} - -var stream = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.merge = void 0; - - function merge(streams) { - const mergedStream = merge2_1(streams); - streams.forEach(stream => { - stream.once('error', error => mergedStream.emit('error', error)); - }); - mergedStream.once('close', () => propagateCloseEventToSources(streams)); - mergedStream.once('end', () => propagateCloseEventToSources(streams)); - return mergedStream; - } - - exports.merge = merge; - - function propagateCloseEventToSources(streams) { - streams.forEach(stream => stream.emit('close')); - } -}); - -var string = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isEmpty = exports.isString = void 0; - - function isString(input) { - return typeof input === 'string'; - } - - exports.isString = isString; - - function isEmpty(input) { - return input === ''; - } - - exports.isEmpty = isEmpty; -}); - -var utils$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; - exports.array = array; - exports.errno = errno; - exports.fs = fs; - exports.path = path_1; - exports.pattern = pattern; - exports.stream = stream; - exports.string = string; -}); - -var tasks = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0; - - function generate(patterns, settings) { - const positivePatterns = getPositivePatterns(patterns); - const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); - const staticPatterns = positivePatterns.filter(pattern => utils$2.pattern.isStaticPattern(pattern, settings)); - const dynamicPatterns = positivePatterns.filter(pattern => utils$2.pattern.isDynamicPattern(pattern, settings)); - const staticTasks = convertPatternsToTasks(staticPatterns, negativePatterns, - /* dynamic */ - false); - const dynamicTasks = convertPatternsToTasks(dynamicPatterns, negativePatterns, - /* dynamic */ - true); - return staticTasks.concat(dynamicTasks); - } - - exports.generate = generate; - - function convertPatternsToTasks(positive, negative, dynamic) { - const positivePatternsGroup = groupPatternsByBaseDirectory(positive); // When we have a global group – there is no reason to divide the patterns into independent tasks. - // In this case, the global task covers the rest. - - if ('.' in positivePatternsGroup) { - const task = convertPatternGroupToTask('.', positive, negative, dynamic); - return [task]; - } - - return convertPatternGroupsToTasks(positivePatternsGroup, negative, dynamic); - } - - exports.convertPatternsToTasks = convertPatternsToTasks; - - function getPositivePatterns(patterns) { - return utils$2.pattern.getPositivePatterns(patterns); - } - - exports.getPositivePatterns = getPositivePatterns; - - function getNegativePatternsAsPositive(patterns, ignore) { - const negative = utils$2.pattern.getNegativePatterns(patterns).concat(ignore); - const positive = negative.map(utils$2.pattern.convertToPositivePattern); - return positive; - } - - exports.getNegativePatternsAsPositive = getNegativePatternsAsPositive; - - function groupPatternsByBaseDirectory(patterns) { - const group = {}; - return patterns.reduce((collection, pattern) => { - const base = utils$2.pattern.getBaseDirectory(pattern); - - if (base in collection) { - collection[base].push(pattern); - } else { - collection[base] = [pattern]; - } - - return collection; - }, group); - } - - exports.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory; - - function convertPatternGroupsToTasks(positive, negative, dynamic) { - return Object.keys(positive).map(base => { - return convertPatternGroupToTask(base, positive[base], negative, dynamic); - }); - } - - exports.convertPatternGroupsToTasks = convertPatternGroupsToTasks; - - function convertPatternGroupToTask(base, positive, negative, dynamic) { - return { - dynamic, - positive, - negative, - base, - patterns: [].concat(positive, negative.map(utils$2.pattern.convertToNegativePattern)) - }; - } - - exports.convertPatternGroupToTask = convertPatternGroupToTask; -}); - -var async = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function read(path, settings, callback) { - settings.fs.lstat(path, (lstatError, lstat) => { - if (lstatError !== null) { - return callFailureCallback(callback, lstatError); - } - - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return callSuccessCallback(callback, lstat); - } - - settings.fs.stat(path, (statError, stat) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - return callFailureCallback(callback, statError); - } - - return callSuccessCallback(callback, lstat); - } - - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - - callSuccessCallback(callback, stat); - }); - }); - } - - exports.read = read; - - function callFailureCallback(callback, error) { - callback(error); - } - - function callSuccessCallback(callback, result) { - callback(null, result); - } -}); - -var sync = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function read(path, settings) { - const lstat = settings.fs.lstatSync(path); - - if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { - return lstat; - } - - try { - const stat = settings.fs.statSync(path); - - if (settings.markSymbolicLink) { - stat.isSymbolicLink = () => true; - } - - return stat; - } catch (error) { - if (!settings.throwErrorOnBrokenSymbolicLink) { - return lstat; - } - - throw error; - } - } - - exports.read = read; -}); - -var fs_1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.FILE_SYSTEM_ADAPTER = { - lstat: fs__default['default'].lstat, - stat: fs__default['default'].stat, - lstatSync: fs__default['default'].lstatSync, - statSync: fs__default['default'].statSync - }; - - function createFileSystemAdapter(fsMethods) { - if (fsMethods === undefined) { - return exports.FILE_SYSTEM_ADAPTER; - } - - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); - } - - exports.createFileSystemAdapter = createFileSystemAdapter; -}); - -var settings = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs_1.createFileSystemAdapter(this._options.fs); - this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - } - - exports.default = Settings; -}); - -var out = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Settings = settings.default; - - function stat(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return async.read(path, getSettings(), optionsOrSettingsOrCallback); - } - - async.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - - exports.stat = stat; - - function statSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync.read(path, settings); - } - - exports.statSync = statSync; - - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings.default) { - return settingsOrOptions; - } - - return new settings.default(settingsOrOptions); - } -}); - -var runParallel_1 = runParallel; - -function runParallel(tasks, cb) { - var results, pending, keys; - var isSync = true; - - if (Array.isArray(tasks)) { - results = []; - pending = tasks.length; - } else { - keys = Object.keys(tasks); - results = {}; - pending = keys.length; - } - - function done(err) { - function end() { - if (cb) cb(err, results); - cb = null; - } - - if (isSync) process.nextTick(end);else end(); - } - - function each(i, err, result) { - results[i] = result; - - if (--pending === 0 || err) { - done(err); - } - } - - if (!pending) { - // empty - done(null); - } else if (keys) { - // object - keys.forEach(function (key) { - tasks[key](function (err, result) { - each(key, err, result); - }); - }); - } else { - // array - tasks.forEach(function (task, i) { - task(function (err, result) { - each(i, err, result); - }); - }); - } - - isSync = false; -} - -var constants$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - const NODE_PROCESS_VERSION_PARTS = process.versions.node.split('.'); - const MAJOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[0], 10); - const MINOR_VERSION = parseInt(NODE_PROCESS_VERSION_PARTS[1], 10); - const SUPPORTED_MAJOR_VERSION = 10; - const SUPPORTED_MINOR_VERSION = 10; - const IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION; - const IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION; - /** - * IS `true` for Node.js 10.10 and greater. - */ - - exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR; -}); - -var fs$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class DirentFromStats { - constructor(name, stats) { - this.name = name; - this.isBlockDevice = stats.isBlockDevice.bind(stats); - this.isCharacterDevice = stats.isCharacterDevice.bind(stats); - this.isDirectory = stats.isDirectory.bind(stats); - this.isFIFO = stats.isFIFO.bind(stats); - this.isFile = stats.isFile.bind(stats); - this.isSocket = stats.isSocket.bind(stats); - this.isSymbolicLink = stats.isSymbolicLink.bind(stats); - } - - } - - function createDirentFromStats(name, stats) { - return new DirentFromStats(name, stats); - } - - exports.createDirentFromStats = createDirentFromStats; -}); - -var utils$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.fs = fs$1; -}); - -var async$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function read(directory, settings, callback) { - if (!settings.stats && constants$2.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings, callback); - } - - return readdir(directory, settings, callback); - } - - exports.read = read; - - function readdirWithFileTypes(directory, settings, callback) { - settings.fs.readdir(directory, { - withFileTypes: true - }, (readdirError, dirents) => { - if (readdirError !== null) { - return callFailureCallback(callback, readdirError); - } - - const entries = dirents.map(dirent => ({ - dirent, - name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` - })); - - if (!settings.followSymbolicLinks) { - return callSuccessCallback(callback, entries); - } - - const tasks = entries.map(entry => makeRplTaskEntry(entry, settings)); - runParallel_1(tasks, (rplError, rplEntries) => { - if (rplError !== null) { - return callFailureCallback(callback, rplError); - } - - callSuccessCallback(callback, rplEntries); - }); - }); - } - - exports.readdirWithFileTypes = readdirWithFileTypes; - - function makeRplTaskEntry(entry, settings) { - return done => { - if (!entry.dirent.isSymbolicLink()) { - return done(null, entry); - } - - settings.fs.stat(entry.path, (statError, stats) => { - if (statError !== null) { - if (settings.throwErrorOnBrokenSymbolicLink) { - return done(statError); - } - - return done(null, entry); - } - - entry.dirent = utils$3.fs.createDirentFromStats(entry.name, stats); - return done(null, entry); - }); - }; - } - - function readdir(directory, settings, callback) { - settings.fs.readdir(directory, (readdirError, names) => { - if (readdirError !== null) { - return callFailureCallback(callback, readdirError); - } - - const filepaths = names.map(name => `${directory}${settings.pathSegmentSeparator}${name}`); - const tasks = filepaths.map(filepath => { - return done => out.stat(filepath, settings.fsStatSettings, done); - }); - runParallel_1(tasks, (rplError, results) => { - if (rplError !== null) { - return callFailureCallback(callback, rplError); - } - - const entries = []; - names.forEach((name, index) => { - const stats = results[index]; - const entry = { - name, - path: filepaths[index], - dirent: utils$3.fs.createDirentFromStats(name, stats) - }; - - if (settings.stats) { - entry.stats = stats; - } - - entries.push(entry); - }); - callSuccessCallback(callback, entries); - }); - }); - } - - exports.readdir = readdir; - - function callFailureCallback(callback, error) { - callback(error); - } - - function callSuccessCallback(callback, result) { - callback(null, result); - } -}); - -var sync$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function read(directory, settings) { - if (!settings.stats && constants$2.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { - return readdirWithFileTypes(directory, settings); - } - - return readdir(directory, settings); - } - - exports.read = read; - - function readdirWithFileTypes(directory, settings) { - const dirents = settings.fs.readdirSync(directory, { - withFileTypes: true - }); - return dirents.map(dirent => { - const entry = { - dirent, - name: dirent.name, - path: `${directory}${settings.pathSegmentSeparator}${dirent.name}` - }; - - if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { - try { - const stats = settings.fs.statSync(entry.path); - entry.dirent = utils$3.fs.createDirentFromStats(entry.name, stats); - } catch (error) { - if (settings.throwErrorOnBrokenSymbolicLink) { - throw error; - } - } - } - - return entry; - }); - } - - exports.readdirWithFileTypes = readdirWithFileTypes; - - function readdir(directory, settings) { - const names = settings.fs.readdirSync(directory); - return names.map(name => { - const entryPath = `${directory}${settings.pathSegmentSeparator}${name}`; - const stats = out.statSync(entryPath, settings.fsStatSettings); - const entry = { - name, - path: entryPath, - dirent: utils$3.fs.createDirentFromStats(name, stats) - }; - - if (settings.stats) { - entry.stats = stats; - } - - return entry; - }); - } - - exports.readdir = readdir; -}); - -var fs_1$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.FILE_SYSTEM_ADAPTER = { - lstat: fs__default['default'].lstat, - stat: fs__default['default'].stat, - lstatSync: fs__default['default'].lstatSync, - statSync: fs__default['default'].statSync, - readdir: fs__default['default'].readdir, - readdirSync: fs__default['default'].readdirSync - }; - - function createFileSystemAdapter(fsMethods) { - if (fsMethods === undefined) { - return exports.FILE_SYSTEM_ADAPTER; - } - - return Object.assign(Object.assign({}, exports.FILE_SYSTEM_ADAPTER), fsMethods); - } - - exports.createFileSystemAdapter = createFileSystemAdapter; -}); - -var settings$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs_1$1.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.stats = this._getValue(this._options.stats, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); - this.fsStatSettings = new out.Settings({ - followSymbolicLink: this.followSymbolicLinks, - fs: this.fs, - throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - } - - exports.default = Settings; -}); - -var out$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Settings = settings$1.default; - - function scandir(path, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return async$1.read(path, getSettings(), optionsOrSettingsOrCallback); - } - - async$1.read(path, getSettings(optionsOrSettingsOrCallback), callback); - } - - exports.scandir = scandir; - - function scandirSync(path, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - return sync$1.read(path, settings); - } - - exports.scandirSync = scandirSync; - - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$1.default) { - return settingsOrOptions; - } - - return new settings$1.default(settingsOrOptions); - } -}); - -function reusify(Constructor) { - var head = new Constructor(); - var tail = head; - - function get() { - var current = head; - - if (current.next) { - head = current.next; - } else { - head = new Constructor(); - tail = head; - } - - current.next = null; - return current; - } - - function release(obj) { - tail.next = obj; - tail = obj; - } - - return { - get: get, - release: release - }; -} - -var reusify_1 = reusify; - -function fastqueue(context, worker, concurrency) { - if (typeof context === 'function') { - concurrency = worker; - worker = context; - context = null; - } - - var cache = reusify_1(Task); - var queueHead = null; - var queueTail = null; - var _running = 0; - var self = { - push: push, - drain: noop, - saturated: noop, - pause: pause, - paused: false, - concurrency: concurrency, - running: running, - resume: resume, - idle: idle, - length: length, - getQueue: getQueue, - unshift: unshift, - empty: noop, - kill: kill, - killAndDrain: killAndDrain - }; - return self; - - function running() { - return _running; - } - - function pause() { - self.paused = true; - } - - function length() { - var current = queueHead; - var counter = 0; - - while (current) { - current = current.next; - counter++; - } - - return counter; - } - - function getQueue() { - var current = queueHead; - var tasks = []; - - while (current) { - tasks.push(current.value); - current = current.next; - } - - return tasks; - } - - function resume() { - if (!self.paused) return; - self.paused = false; - - for (var i = 0; i < self.concurrency; i++) { - _running++; - release(); - } - } - - function idle() { - return _running === 0 && self.length() === 0; - } - - function push(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - - if (_running === self.concurrency || self.paused) { - if (queueTail) { - queueTail.next = current; - queueTail = current; - } else { - queueHead = current; - queueTail = current; - self.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - - function unshift(value, done) { - var current = cache.get(); - current.context = context; - current.release = release; - current.value = value; - current.callback = done || noop; - - if (_running === self.concurrency || self.paused) { - if (queueHead) { - current.next = queueHead; - queueHead = current; - } else { - queueHead = current; - queueTail = current; - self.saturated(); - } - } else { - _running++; - worker.call(context, current.value, current.worked); - } - } - - function release(holder) { - if (holder) { - cache.release(holder); - } - - var next = queueHead; - - if (next) { - if (!self.paused) { - if (queueTail === queueHead) { - queueTail = null; - } - - queueHead = next.next; - next.next = null; - worker.call(context, next.value, next.worked); - - if (queueTail === null) { - self.empty(); - } - } else { - _running--; - } - } else if (--_running === 0) { - self.drain(); - } - } - - function kill() { - queueHead = null; - queueTail = null; - self.drain = noop; - } - - function killAndDrain() { - queueHead = null; - queueTail = null; - self.drain(); - self.drain = noop; - } -} - -function noop() {} - -function Task() { - this.value = null; - this.callback = noop; - this.next = null; - this.release = noop; - this.context = null; - var self = this; - - this.worked = function worked(err, result) { - var callback = self.callback; - self.value = null; - self.callback = noop; - callback.call(self.context, err, result); - self.release(self); - }; -} - -var queue = fastqueue; - -var common = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - function isFatalError(settings, error) { - if (settings.errorFilter === null) { - return true; - } - - return !settings.errorFilter(error); - } - - exports.isFatalError = isFatalError; - - function isAppliedFilter(filter, value) { - return filter === null || filter(value); - } - - exports.isAppliedFilter = isAppliedFilter; - - function replacePathSegmentSeparator(filepath, separator) { - return filepath.split(/[\\/]/).join(separator); - } - - exports.replacePathSegmentSeparator = replacePathSegmentSeparator; - - function joinPathSegments(a, b, separator) { - if (a === '') { - return b; - } - - return a + separator + b; - } - - exports.joinPathSegments = joinPathSegments; -}); - -var reader = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); - } - - } - - exports.default = Reader; -}); - -var async$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncReader extends reader.default { - constructor(_root, _settings) { - super(_root, _settings); - this._settings = _settings; - this._scandir = out$1.scandir; - this._emitter = new events_1__default['default'].EventEmitter(); - this._queue = queue(this._worker.bind(this), this._settings.concurrency); - this._isFatalError = false; - this._isDestroyed = false; - - this._queue.drain = () => { - if (!this._isFatalError) { - this._emitter.emit('end'); - } - }; - } - - read() { - this._isFatalError = false; - this._isDestroyed = false; - setImmediate(() => { - this._pushToQueue(this._root, this._settings.basePath); - }); - return this._emitter; - } - - destroy() { - if (this._isDestroyed) { - throw new Error('The reader is already destroyed'); - } - - this._isDestroyed = true; - - this._queue.killAndDrain(); - } - - onEntry(callback) { - this._emitter.on('entry', callback); - } - - onError(callback) { - this._emitter.once('error', callback); - } - - onEnd(callback) { - this._emitter.once('end', callback); - } - - _pushToQueue(directory, base) { - const queueItem = { - directory, - base - }; - - this._queue.push(queueItem, error => { - if (error !== null) { - this._handleError(error); - } - }); - } - - _worker(item, done) { - this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => { - if (error !== null) { - return done(error, undefined); - } - - for (const entry of entries) { - this._handleEntry(entry, item.base); - } - - done(null, undefined); - }); - } - - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - - this._isFatalError = true; - this._isDestroyed = true; - - this._emitter.emit('error', error); - } - - _handleEntry(entry, base) { - if (this._isDestroyed || this._isFatalError) { - return; - } - - const fullpath = entry.path; - - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._emitEntry(entry); - } - - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } - } - - _emitEntry(entry) { - this._emitter.emit('entry', entry); - } - - } - - exports.default = AsyncReader; -}); - -var async$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class AsyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$2.default(this._root, this._settings); - this._storage = new Set(); - } - - read(callback) { - this._reader.onError(error => { - callFailureCallback(callback, error); - }); - - this._reader.onEntry(entry => { - this._storage.add(entry); - }); - - this._reader.onEnd(() => { - callSuccessCallback(callback, [...this._storage]); - }); - - this._reader.read(); - } - - } - - exports.default = AsyncProvider; - - function callFailureCallback(callback, error) { - callback(error); - } - - function callSuccessCallback(callback, entries) { - callback(null, entries); - } -}); - -var stream$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class StreamProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new async$2.default(this._root, this._settings); - this._stream = new stream_1__default['default'].Readable({ - objectMode: true, - read: () => {}, - destroy: this._reader.destroy.bind(this._reader) - }); - } - - read() { - this._reader.onError(error => { - this._stream.emit('error', error); - }); - - this._reader.onEntry(entry => { - this._stream.push(entry); - }); - - this._reader.onEnd(() => { - this._stream.push(null); - }); - - this._reader.read(); - - return this._stream; - } - - } - - exports.default = StreamProvider; -}); - -var sync$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class SyncReader extends reader.default { - constructor() { - super(...arguments); - this._scandir = out$1.scandirSync; - this._storage = new Set(); - this._queue = new Set(); - } - - read() { - this._pushToQueue(this._root, this._settings.basePath); - - this._handleQueue(); - - return [...this._storage]; - } - - _pushToQueue(directory, base) { - this._queue.add({ - directory, - base - }); - } - - _handleQueue() { - for (const item of this._queue.values()) { - this._handleDirectory(item.directory, item.base); - } - } - - _handleDirectory(directory, base) { - try { - const entries = this._scandir(directory, this._settings.fsScandirSettings); - - for (const entry of entries) { - this._handleEntry(entry, base); - } - } catch (error) { - this._handleError(error); - } - } - - _handleError(error) { - if (!common.isFatalError(this._settings, error)) { - return; - } - - throw error; - } - - _handleEntry(entry, base) { - const fullpath = entry.path; - - if (base !== undefined) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); - } - - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { - this._pushToStorage(entry); - } - - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { - this._pushToQueue(fullpath, entry.path); - } - } - - _pushToStorage(entry) { - this._storage.add(entry); - } - - } - - exports.default = SyncReader; -}); - -var sync$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class SyncProvider { - constructor(_root, _settings) { - this._root = _root; - this._settings = _settings; - this._reader = new sync$2.default(this._root, this._settings); - } - - read() { - return this._reader.read(); - } - - } - - exports.default = SyncProvider; -}); - -var settings$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.basePath = this._getValue(this._options.basePath, undefined); - this.concurrency = this._getValue(this._options.concurrency, Infinity); - this.deepFilter = this._getValue(this._options.deepFilter, null); - this.entryFilter = this._getValue(this._options.entryFilter, null); - this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path__default['default'].sep); - this.fsScandirSettings = new out$1.Settings({ - followSymbolicLinks: this._options.followSymbolicLinks, - fs: this._options.fs, - pathSegmentSeparator: this._options.pathSegmentSeparator, - stats: this._options.stats, - throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink - }); - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - } - - exports.default = Settings; -}); - -var out$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.Settings = settings$2.default; - - function walk(directory, optionsOrSettingsOrCallback, callback) { - if (typeof optionsOrSettingsOrCallback === 'function') { - return new async$3.default(directory, getSettings()).read(optionsOrSettingsOrCallback); - } - - new async$3.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback); - } - - exports.walk = walk; - - function walkSync(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new sync$3.default(directory, settings); - return provider.read(); - } - - exports.walkSync = walkSync; - - function walkStream(directory, optionsOrSettings) { - const settings = getSettings(optionsOrSettings); - const provider = new stream$1.default(directory, settings); - return provider.read(); - } - - exports.walkStream = walkStream; - - function getSettings(settingsOrOptions = {}) { - if (settingsOrOptions instanceof settings$2.default) { - return settingsOrOptions; - } - - return new settings$2.default(settingsOrOptions); - } -}); - -var reader$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Reader { - constructor(_settings) { - this._settings = _settings; - this._fsStatSettings = new out.Settings({ - followSymbolicLink: this._settings.followSymbolicLinks, - fs: this._settings.fs, - throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks - }); - } - - _getFullEntryPath(filepath) { - return path__default['default'].resolve(this._settings.cwd, filepath); - } - - _makeEntry(stats, pattern) { - const entry = { - name: pattern, - path: pattern, - dirent: utils$2.fs.createDirentFromStats(pattern, stats) - }; - - if (this._settings.stats) { - entry.stats = stats; - } - - return entry; - } - - _isFatalError(error) { - return !utils$2.errno.isEnoentCodeError(error) && !this._settings.suppressErrors; - } - - } - - exports.default = Reader; -}); - -var stream$2 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ReaderStream extends reader$1.default { - constructor() { - super(...arguments); - this._walkStream = out$2.walkStream; - this._stat = out.stat; - } - - dynamic(root, options) { - return this._walkStream(root, options); - } - - static(patterns, options) { - const filepaths = patterns.map(this._getFullEntryPath, this); - const stream = new stream_1__default['default'].PassThrough({ - objectMode: true - }); - - stream._write = (index, _enc, done) => { - return this._getEntry(filepaths[index], patterns[index], options).then(entry => { - if (entry !== null && options.entryFilter(entry)) { - stream.push(entry); - } - - if (index === filepaths.length - 1) { - stream.end(); - } - - done(); - }).catch(done); - }; - - for (let i = 0; i < filepaths.length; i++) { - stream.write(i); - } - - return stream; - } - - _getEntry(filepath, pattern, options) { - return this._getStat(filepath).then(stats => this._makeEntry(stats, pattern)).catch(error => { - if (options.errorFilter(error)) { - return null; - } - - throw error; - }); - } - - _getStat(filepath) { - return new Promise((resolve, reject) => { - this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve(stats) : reject(error); - }); - }); - } - - } - - exports.default = ReaderStream; -}); - -var matcher = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Matcher { - constructor(_patterns, _settings, _micromatchOptions) { - this._patterns = _patterns; - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this._storage = []; - - this._fillStorage(); - } - - _fillStorage() { - /** - * The original pattern may include `{,*,**,a/*}`, which will lead to problems with matching (unresolved level). - * So, before expand patterns with brace expansion into separated patterns. - */ - const patterns = utils$2.pattern.expandPatternsWithBraceExpansion(this._patterns); - - for (const pattern of patterns) { - const segments = this._getPatternSegments(pattern); - - const sections = this._splitSegmentsIntoSections(segments); - - this._storage.push({ - complete: sections.length <= 1, - pattern, - segments, - sections - }); - } - } - - _getPatternSegments(pattern) { - const parts = utils$2.pattern.getPatternParts(pattern, this._micromatchOptions); - return parts.map(part => { - const dynamic = utils$2.pattern.isDynamicPattern(part, this._settings); - - if (!dynamic) { - return { - dynamic: false, - pattern: part - }; - } - - return { - dynamic: true, - pattern: part, - patternRe: utils$2.pattern.makeRe(part, this._micromatchOptions) - }; - }); - } - - _splitSegmentsIntoSections(segments) { - return utils$2.array.splitWhen(segments, segment => segment.dynamic && utils$2.pattern.hasGlobStar(segment.pattern)); - } - - } - - exports.default = Matcher; -}); - -var partial = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class PartialMatcher extends matcher.default { - match(filepath) { - const parts = filepath.split('/'); - const levels = parts.length; - - const patterns = this._storage.filter(info => !info.complete || info.segments.length > levels); - - for (const pattern of patterns) { - const section = pattern.sections[0]; - /** - * In this case, the pattern has a globstar and we must read all directories unconditionally, - * but only if the level has reached the end of the first group. - * - * fixtures/{a,b}/** - * ^ true/false ^ always true - */ - - if (!pattern.complete && levels > section.length) { - return true; - } - - const match = parts.every((part, index) => { - const segment = pattern.segments[index]; - - if (segment.dynamic && segment.patternRe.test(part)) { - return true; - } - - if (!segment.dynamic && segment.pattern === part) { - return true; - } - - return false; - }); - - if (match) { - return true; - } - } - - return false; - } - - } - - exports.default = PartialMatcher; -}); - -var deep = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class DeepFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - } - - getFilter(basePath, positive, negative) { - const matcher = this._getMatcher(positive); - - const negativeRe = this._getNegativePatternsRe(negative); - - return entry => this._filter(basePath, entry, matcher, negativeRe); - } - - _getMatcher(patterns) { - return new partial.default(patterns, this._settings, this._micromatchOptions); - } - - _getNegativePatternsRe(patterns) { - const affectDepthOfReadingPatterns = patterns.filter(utils$2.pattern.isAffectDepthOfReadingPattern); - return utils$2.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions); - } - - _filter(basePath, entry, matcher, negativeRe) { - if (this._isSkippedByDeep(basePath, entry.path)) { - return false; - } - - if (this._isSkippedSymbolicLink(entry)) { - return false; - } - - const filepath = utils$2.path.removeLeadingDotSegment(entry.path); - - if (this._isSkippedByPositivePatterns(filepath, matcher)) { - return false; - } - - return this._isSkippedByNegativePatterns(filepath, negativeRe); - } - - _isSkippedByDeep(basePath, entryPath) { - /** - * Avoid unnecessary depth calculations when it doesn't matter. - */ - if (this._settings.deep === Infinity) { - return false; - } - - return this._getEntryLevel(basePath, entryPath) >= this._settings.deep; - } - - _getEntryLevel(basePath, entryPath) { - const entryPathDepth = entryPath.split('/').length; - - if (basePath === '') { - return entryPathDepth; - } - - const basePathDepth = basePath.split('/').length; - return entryPathDepth - basePathDepth; - } - - _isSkippedSymbolicLink(entry) { - return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink(); - } - - _isSkippedByPositivePatterns(entryPath, matcher) { - return !this._settings.baseNameMatch && !matcher.match(entryPath); - } - - _isSkippedByNegativePatterns(entryPath, patternsRe) { - return !utils$2.pattern.matchAny(entryPath, patternsRe); - } - - } - - exports.default = DeepFilter; -}); - -var entry = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryFilter { - constructor(_settings, _micromatchOptions) { - this._settings = _settings; - this._micromatchOptions = _micromatchOptions; - this.index = new Map(); - } - - getFilter(positive, negative) { - const positiveRe = utils$2.pattern.convertPatternsToRe(positive, this._micromatchOptions); - const negativeRe = utils$2.pattern.convertPatternsToRe(negative, this._micromatchOptions); - return entry => this._filter(entry, positiveRe, negativeRe); - } - - _filter(entry, positiveRe, negativeRe) { - if (this._settings.unique && this._isDuplicateEntry(entry)) { - return false; - } - - if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) { - return false; - } - - if (this._isSkippedByAbsoluteNegativePatterns(entry.path, negativeRe)) { - return false; - } - - const filepath = this._settings.baseNameMatch ? entry.name : entry.path; - const isMatched = this._isMatchToPatterns(filepath, positiveRe) && !this._isMatchToPatterns(entry.path, negativeRe); - - if (this._settings.unique && isMatched) { - this._createIndexRecord(entry); - } - - return isMatched; - } - - _isDuplicateEntry(entry) { - return this.index.has(entry.path); - } - - _createIndexRecord(entry) { - this.index.set(entry.path, undefined); - } - - _onlyFileFilter(entry) { - return this._settings.onlyFiles && !entry.dirent.isFile(); - } - - _onlyDirectoryFilter(entry) { - return this._settings.onlyDirectories && !entry.dirent.isDirectory(); - } - - _isSkippedByAbsoluteNegativePatterns(entryPath, patternsRe) { - if (!this._settings.absolute) { - return false; - } - - const fullpath = utils$2.path.makeAbsolute(this._settings.cwd, entryPath); - return utils$2.pattern.matchAny(fullpath, patternsRe); - } - - _isMatchToPatterns(entryPath, patternsRe) { - const filepath = utils$2.path.removeLeadingDotSegment(entryPath); - return utils$2.pattern.matchAny(filepath, patternsRe); - } - - } - - exports.default = EntryFilter; -}); - -var error = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ErrorFilter { - constructor(_settings) { - this._settings = _settings; - } - - getFilter() { - return error => this._isNonFatalError(error); - } - - _isNonFatalError(error) { - return utils$2.errno.isEnoentCodeError(error) || this._settings.suppressErrors; - } - - } - - exports.default = ErrorFilter; -}); - -var entry$1 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class EntryTransformer { - constructor(_settings) { - this._settings = _settings; - } - - getTransformer() { - return entry => this._transform(entry); - } - - _transform(entry) { - let filepath = entry.path; - - if (this._settings.absolute) { - filepath = utils$2.path.makeAbsolute(this._settings.cwd, filepath); - filepath = utils$2.path.unixify(filepath); - } - - if (this._settings.markDirectories && entry.dirent.isDirectory()) { - filepath += '/'; - } - - if (!this._settings.objectMode) { - return filepath; - } - - return Object.assign(Object.assign({}, entry), { - path: filepath - }); - } - - } - - exports.default = EntryTransformer; -}); - -var provider = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class Provider { - constructor(_settings) { - this._settings = _settings; - this.errorFilter = new error.default(this._settings); - this.entryFilter = new entry.default(this._settings, this._getMicromatchOptions()); - this.deepFilter = new deep.default(this._settings, this._getMicromatchOptions()); - this.entryTransformer = new entry$1.default(this._settings); - } - - _getRootDirectory(task) { - return path__default['default'].resolve(this._settings.cwd, task.base); - } - - _getReaderOptions(task) { - const basePath = task.base === '.' ? '' : task.base; - return { - basePath, - pathSegmentSeparator: '/', - concurrency: this._settings.concurrency, - deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative), - entryFilter: this.entryFilter.getFilter(task.positive, task.negative), - errorFilter: this.errorFilter.getFilter(), - followSymbolicLinks: this._settings.followSymbolicLinks, - fs: this._settings.fs, - stats: this._settings.stats, - throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink, - transform: this.entryTransformer.getTransformer() - }; - } - - _getMicromatchOptions() { - return { - dot: this._settings.dot, - matchBase: this._settings.baseNameMatch, - nobrace: !this._settings.braceExpansion, - nocase: !this._settings.caseSensitiveMatch, - noext: !this._settings.extglob, - noglobstar: !this._settings.globstar, - posix: true, - strictSlashes: false - }; - } - - } - - exports.default = Provider; -}); - -var async$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderAsync extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$2.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = []; - return new Promise((resolve, reject) => { - const stream = this.api(root, task, options); - stream.once('error', reject); - stream.on('data', entry => entries.push(options.transform(entry))); - stream.once('end', () => resolve(entries)); - }); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - - } - - exports.default = ProviderAsync; -}); - -var stream$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderStream extends provider.default { - constructor() { - super(...arguments); - this._reader = new stream$2.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const source = this.api(root, task, options); - const destination = new stream_1__default['default'].Readable({ - objectMode: true, - read: () => {} - }); - source.once('error', error => destination.emit('error', error)).on('data', entry => destination.emit('data', options.transform(entry))).once('end', () => destination.emit('end')); - destination.once('close', () => source.destroy()); - return destination; - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - - } - - exports.default = ProviderStream; -}); - -var sync$4 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ReaderSync extends reader$1.default { - constructor() { - super(...arguments); - this._walkSync = out$2.walkSync; - this._statSync = out.statSync; - } - - dynamic(root, options) { - return this._walkSync(root, options); - } - - static(patterns, options) { - const entries = []; - - for (const pattern of patterns) { - const filepath = this._getFullEntryPath(pattern); - - const entry = this._getEntry(filepath, pattern, options); - - if (entry === null || !options.entryFilter(entry)) { - continue; - } - - entries.push(entry); - } - - return entries; - } - - _getEntry(filepath, pattern, options) { - try { - const stats = this._getStat(filepath); - - return this._makeEntry(stats, pattern); - } catch (error) { - if (options.errorFilter(error)) { - return null; - } - - throw error; - } - } - - _getStat(filepath) { - return this._statSync(filepath, this._fsStatSettings); - } - - } - - exports.default = ReaderSync; -}); - -var sync$5 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - class ProviderSync extends provider.default { - constructor() { - super(...arguments); - this._reader = new sync$4.default(this._settings); - } - - read(task) { - const root = this._getRootDirectory(task); - - const options = this._getReaderOptions(task); - - const entries = this.api(root, task, options); - return entries.map(options.transform); - } - - api(root, task, options) { - if (task.dynamic) { - return this._reader.dynamic(root, options); - } - - return this._reader.static(task.patterns, options); - } - - } - - exports.default = ProviderSync; -}); - -var settings$3 = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - const CPU_COUNT = os__default['default'].cpus().length; - exports.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs__default['default'].lstat, - lstatSync: fs__default['default'].lstatSync, - stat: fs__default['default'].stat, - statSync: fs__default['default'].statSync, - readdir: fs__default['default'].readdir, - readdirSync: fs__default['default'].readdirSync - }; - - class Settings { - constructor(_options = {}) { - this._options = _options; - this.absolute = this._getValue(this._options.absolute, false); - this.baseNameMatch = this._getValue(this._options.baseNameMatch, false); - this.braceExpansion = this._getValue(this._options.braceExpansion, true); - this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true); - this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT); - this.cwd = this._getValue(this._options.cwd, process.cwd()); - this.deep = this._getValue(this._options.deep, Infinity); - this.dot = this._getValue(this._options.dot, false); - this.extglob = this._getValue(this._options.extglob, true); - this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true); - this.fs = this._getFileSystemMethods(this._options.fs); - this.globstar = this._getValue(this._options.globstar, true); - this.ignore = this._getValue(this._options.ignore, []); - this.markDirectories = this._getValue(this._options.markDirectories, false); - this.objectMode = this._getValue(this._options.objectMode, false); - this.onlyDirectories = this._getValue(this._options.onlyDirectories, false); - this.onlyFiles = this._getValue(this._options.onlyFiles, true); - this.stats = this._getValue(this._options.stats, false); - this.suppressErrors = this._getValue(this._options.suppressErrors, false); - this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false); - this.unique = this._getValue(this._options.unique, true); - - if (this.onlyDirectories) { - this.onlyFiles = false; - } - - if (this.stats) { - this.objectMode = true; - } - } - - _getValue(option, value) { - return option === undefined ? value : option; - } - - _getFileSystemMethods(methods = {}) { - return Object.assign(Object.assign({}, exports.DEFAULT_FILE_SYSTEM_ADAPTER), methods); - } - - } - - exports.default = Settings; -}); - -async function FastGlob(source, options) { - assertPatternsInput(source); - const works = getWorks(source, async$4.default, options); - const result = await Promise.all(works); - return utils$2.array.flatten(result); -} // https://github.com/typescript-eslint/typescript-eslint/issues/60 -// eslint-disable-next-line no-redeclare - - -(function (FastGlob) { - function sync(source, options) { - assertPatternsInput(source); - const works = getWorks(source, sync$5.default, options); - return utils$2.array.flatten(works); - } - - FastGlob.sync = sync; - - function stream(source, options) { - assertPatternsInput(source); - const works = getWorks(source, stream$3.default, options); - /** - * The stream returned by the provider cannot work with an asynchronous iterator. - * To support asynchronous iterators, regardless of the number of tasks, we always multiplex streams. - * This affects performance (+25%). I don't see best solution right now. - */ - - return utils$2.stream.merge(works); - } - - FastGlob.stream = stream; - - function generateTasks(source, options) { - assertPatternsInput(source); - const patterns = [].concat(source); - const settings = new settings$3.default(options); - return tasks.generate(patterns, settings); - } - - FastGlob.generateTasks = generateTasks; - - function isDynamicPattern(source, options) { - assertPatternsInput(source); - const settings = new settings$3.default(options); - return utils$2.pattern.isDynamicPattern(source, settings); - } - - FastGlob.isDynamicPattern = isDynamicPattern; - - function escapePath(source) { - assertPatternsInput(source); - return utils$2.path.escape(source); - } - - FastGlob.escapePath = escapePath; -})(FastGlob || (FastGlob = {})); - -function getWorks(source, _Provider, options) { - const patterns = [].concat(source); - const settings = new settings$3.default(options); - const tasks$1 = tasks.generate(patterns, settings); - const provider = new _Provider(settings); - return tasks$1.map(provider.read, provider); -} - -function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every(item => utils$2.string.isString(item) && !utils$2.string.isEmpty(item)); - - if (!isValidSource) { - throw new TypeError('Patterns must be a string (non empty) or an array of strings'); - } -} - -var out$3 = FastGlob; - -/** @typedef {import('./util').Context} Context */ - -/** - * @param {Context} context - */ - - -function* expandPatterns(context) { - const cwd = process.cwd(); - const seen = new Set(); - let noResults = true; - - for (const pathOrError of expandPatternsInternal(context)) { - noResults = false; - - if (typeof pathOrError !== "string") { - yield pathOrError; - continue; - } - - const relativePath = path__default['default'].relative(cwd, pathOrError); // filter out duplicates - - if (seen.has(relativePath)) { - continue; - } - - seen.add(relativePath); - yield relativePath; - } - - if (noResults) { - // If there was no files and no other errors, let's yield a general error. - yield { - error: `No matching files. Patterns: ${context.filePatterns.join(" ")}` - }; - } -} -/** - * @param {Context} context - */ - - -function* expandPatternsInternal(context) { - // Ignores files in version control systems directories and `node_modules` - const silentlyIgnoredDirs = { - ".git": true, - ".svn": true, - ".hg": true, - node_modules: context.argv["with-node-modules"] !== true - }; - const globOptions = { - dot: true, - ignore: Object.keys(silentlyIgnoredDirs).filter(dir => silentlyIgnoredDirs[dir]).map(dir => "**/" + dir) - }; - let supportedFilesGlob; - const cwd = process.cwd(); - /** @type {Array<{ type: 'file' | 'dir' | 'glob'; glob: string; input: string; }>} */ - - const entries = []; - - for (const pattern of context.filePatterns) { - const absolutePath = path__default['default'].resolve(cwd, pattern); - - if (containsIgnoredPathSegment(absolutePath, cwd, silentlyIgnoredDirs)) { - continue; - } - - const stat = statSafeSync(absolutePath); - - if (stat) { - if (stat.isFile()) { - entries.push({ - type: "file", - glob: escapePathForGlob(fixWindowsSlashes(pattern)), - input: pattern - }); - } else if (stat.isDirectory()) { - entries.push({ - type: "dir", - glob: escapePathForGlob(fixWindowsSlashes(pattern)) + "/" + getSupportedFilesGlob(), - input: pattern - }); - } - } else if (pattern[0] === "!") { - // convert negative patterns to `ignore` entries - globOptions.ignore.push(fixWindowsSlashes(pattern.slice(1))); - } else { - entries.push({ - type: "glob", - glob: fixWindowsSlashes(pattern), - input: pattern - }); - } - } - - for (const { - type, - glob, - input - } of entries) { - let result; - - try { - result = out$3.sync(glob, globOptions); - } catch ({ - message - }) { - /* istanbul ignore next */ - yield { - error: `${errorMessages.globError[type]}: ${input}\n${message}` - }; - /* istanbul ignore next */ - - continue; - } - - if (result.length === 0) { - yield { - error: `${errorMessages.emptyResults[type]}: "${input}".` - }; - } else { - yield* sortPaths(result); - } - } - - function getSupportedFilesGlob() { - if (!supportedFilesGlob) { - const extensions = flatten_1(context.languages.map(lang => lang.extensions || [])); - const filenames = flatten_1(context.languages.map(lang => lang.filenames || [])); - supportedFilesGlob = `**/{${extensions.map(ext => "*" + (ext[0] === "." ? ext : "." + ext)).concat(filenames)}}`; - } - - return supportedFilesGlob; - } -} - -const errorMessages = { - globError: { - file: "Unable to resolve file", - dir: "Unable to expand directory", - glob: "Unable to expand glob pattern" - }, - emptyResults: { - file: "Explicitly specified file was ignored due to negative glob patterns", - dir: "No supported files were found in the directory", - glob: "No files matching the pattern were found" - } -}; -/** - * @param {string} absolutePath - * @param {string} cwd - * @param {Record} ignoredDirectories - */ - -function containsIgnoredPathSegment(absolutePath, cwd, ignoredDirectories) { - return path__default['default'].relative(cwd, absolutePath).split(path__default['default'].sep).some(dir => ignoredDirectories[dir]); -} -/** - * @param {string[]} paths - */ - - -function sortPaths(paths) { - return paths.sort((a, b) => a.localeCompare(b)); -} -/** - * Get stats of a given path. - * @param {string} filePath The path to target file. - * @returns {fs.Stats | undefined} The stats. - */ - - -function statSafeSync(filePath) { - try { - return fs__default['default'].statSync(filePath); - } catch (error) { - /* istanbul ignore next */ - if (error.code !== "ENOENT") { - throw error; - } - } -} -/** - * This function should be replaced with `fastGlob.escapePath` when these issues are fixed: - * - https://github.com/mrmlnc/fast-glob/issues/261 - * - https://github.com/mrmlnc/fast-glob/issues/262 - * @param {string} path - */ - - -function escapePathForGlob(path) { - return out$3.escapePath(path.replace(/\\/g, "\0") // Workaround for fast-glob#262 (part 1) - ).replace(/\\!/g, "@(!)") // Workaround for fast-glob#261 - .replace(/\0/g, "@(\\\\)"); // Workaround for fast-glob#262 (part 2) -} - -const isWindows = path__default['default'].sep === "\\"; -/** - * Using backslashes in globs is probably not okay, but not accepting - * backslashes as path separators on Windows is even more not okay. - * https://github.com/prettier/prettier/pull/6776#discussion_r380723717 - * https://github.com/mrmlnc/fast-glob#how-to-write-patterns-on-windows - * @param {string} pattern - */ - -function fixWindowsSlashes(pattern) { - return isWindows ? pattern.replace(/\\/g, "/") : pattern; -} - -var expandPatterns_1 = { - expandPatterns, - fixWindowsSlashes -}; - -var lib = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. - - function noop() { - var args = []; - - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - } - - function createWeakMap() { - if (typeof WeakMap !== 'undefined') { - return new WeakMap(); - } else { - return fakeSetOrMap(); - } - } - /** - * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. - */ - - - function fakeSetOrMap() { - return { - add: noop, - delete: noop, - get: noop, - set: noop, - has: function (k) { - return false; - } - }; - } // Safe hasOwnProperty - - - var hop = Object.prototype.hasOwnProperty; - - var has = function (obj, prop) { - return hop.call(obj, prop); - }; // Copy all own enumerable properties from source to target - - - function extend(target, source) { - for (var prop in source) { - if (has(source, prop)) { - target[prop] = source[prop]; - } - } - - return target; - } - - var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; - var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; - var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; - var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; - var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; - - function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { - // If first interpolated value is a reference to outdent, - // determine indentation level from the indentation of the interpolated value. - var indentationLevel = 0; - var match = strings[0].match(reDetectIndentation); - - if (match) { - indentationLevel = match[1].length; - } - - var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, 'g'); - - if (firstInterpolatedValueSetsIndentationLevel) { - strings = strings.slice(1); - } - - var newline = options.newline, - trimLeadingNewline = options.trimLeadingNewline, - trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === 'string'; - var l = strings.length; - var outdentedStrings = strings.map(function (v, i) { - // Remove leading indentation from all lines - v = v.replace(reMatchIndent, '$1'); // Trim a leading newline from the first string - - if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ''); - } // Trim a trailing newline from the last string - - - if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ''); - } // Normalize newlines - - - if (normalizeNewlines) { - v = v.replace(/\r\n|\n|\r/g, function (_) { - return newline; - }); - } - - return v; - }); - return outdentedStrings; - } - - function concatStringsAndValues(strings, values) { - var ret = ''; - - for (var i = 0, l = strings.length; i < l; i++) { - ret += strings[i]; - - if (i < l - 1) { - ret += values[i]; - } - } - - return ret; - } - - function isTemplateStringsArray(v) { - return has(v, 'raw') && has(v, 'length'); - } - /** - * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to - * makeInstance - * @param options - * @return {outdent} - */ - - - function createInstance(options) { - /** Cache of pre-processed template literal arrays */ - var arrayAutoIndentCache = createWeakMap(); - /** - * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, - * before interpolated values are injected. - */ - - var arrayFirstInterpSetsIndentCache = createWeakMap(); - - function outdent(stringsOrOptions) { - var values = []; - - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - /* tslint:enable:no-shadowed-variable */ - - - if (isTemplateStringsArray(stringsOrOptions)) { - var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? - - var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation - - var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; - var renderedArray = cache.get(strings); - - if (!renderedArray) { - renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); - cache.set(strings, renderedArray); - } - /** If no interpolated values, skip concatenation step */ - - - if (values.length === 0) { - return renderedArray[0]; - } - /** Concatenate string literals with interpolated values */ - - - var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); - return rendered; - } else { - // Create and return a new instance of outdent with the given options - return createInstance(extend(extend({}, options), stringsOrOptions || {})); - } - } - - var fullOutdent = extend(outdent, { - string: function (str) { - return _outdentArray([str], false, options)[0]; - } - }); - return fullOutdent; - } - - var defaultOutdent = createInstance({ - trimLeadingNewline: true, - trimTrailingNewline: true - }); - exports.outdent = defaultOutdent; // Named exports. Simple and preferred. - // import outdent from 'outdent'; - - exports.default = defaultOutdent; - - { - // In webpack harmony-modules environments, module.exports is read-only, - // so we fail gracefully. - try { - module.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, '__esModule', { - value: true - }); - defaultOutdent.default = defaultOutdent; - defaultOutdent.outdent = defaultOutdent; - } catch (e) {} - } -}); - -const { - outdent -} = lib; -const { - coreOptions -} = prettierInternal; -const categoryOrder = [coreOptions.CATEGORY_OUTPUT, coreOptions.CATEGORY_FORMAT, coreOptions.CATEGORY_CONFIG, coreOptions.CATEGORY_EDITOR, coreOptions.CATEGORY_OTHER]; -/** - * { - * [optionName]: { - * // The type of the option. For 'choice', see also `choices` below. - * // When passing a type other than the ones listed below, the option is - * // treated as taking any string as argument, and `--option <${type}>` will - * // be displayed in --help. - * type: "boolean" | "choice" | "int" | string; - * - * // Default value to be passed to the minimist option `default`. - * default?: any; - * - * // Alias name to be passed to the minimist option `alias`. - * alias?: string; - * - * // For grouping options by category in --help. - * category?: string; - * - * // Description to be displayed in --help. If omitted, the option won't be - * // shown at all in --help (but see also `oppositeDescription` below). - * description?: string; - * - * // Description for `--no-${name}` to be displayed in --help. If omitted, - * // `--no-${name}` won't be shown. - * oppositeDescription?: string; - * - * // Indicate if this option is simply passed to the API. - * // true: use camelified name as the API option name. - * // string: use this value as the API option name. - * forwardToApi?: boolean | string; - * - * // Indicate that a CLI flag should be an array when forwarded to the API. - * array?: boolean; - * - * // Specify available choices for validation. They will also be displayed - * // in --help as . - * // Use an object instead of a string if a choice is deprecated and should - * // be treated as `redirect` instead, or if you'd like to add description for - * // the choice. - * choices?: Array< - * | string - * | { value: string, description?: string, deprecated?: boolean, redirect?: string } - * >; - * - * // If the option has a value that is an exception to the regular value - * // constraints, indicate that value here (or use a function for more - * // flexibility). - * exception?: ((value: any) => boolean); - * - * // Indicate that the option is deprecated. Use a string to add an extra - * // message to --help for the option, for example to suggest a replacement - * // option. - * deprecated?: true | string; - * } - * } - * - * Note: The options below are sorted alphabetically. - */ - -const options = { - check: { - type: "boolean", - category: coreOptions.CATEGORY_OUTPUT, - alias: "c", - description: outdent` - Check if the given files are formatted, print a human-friendly summary - message and paths to unformatted files (see also --list-different). - ` - }, - color: { - // The supports-color package (a sub sub dependency) looks directly at - // `process.argv` for `--no-color` and such-like options. The reason it is - // listed here is to avoid "Ignored unknown option: --no-color" warnings. - // See https://github.com/chalk/supports-color/#info for more information. - type: "boolean", - default: true, - description: "Colorize error messages.", - oppositeDescription: "Do not colorize error messages." - }, - config: { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - description: "Path to a Prettier configuration file (.prettierrc, package.json, prettier.config.js).", - oppositeDescription: "Do not look for a configuration file.", - exception: value => value === false - }, - "config-precedence": { - type: "choice", - category: coreOptions.CATEGORY_CONFIG, - default: "cli-override", - choices: [{ - value: "cli-override", - description: "CLI options take precedence over config file" - }, { - value: "file-override", - description: "Config file take precedence over CLI options" - }, { - value: "prefer-file", - description: outdent` - If a config file is found will evaluate it and ignore other CLI options. - If no config file is found CLI options will evaluate as normal. - ` - }], - description: "Define in which order config files and CLI options should be evaluated." - }, - "debug-benchmark": { - // Run the formatting benchmarks. Requires 'benchmark' module to be installed. - type: "boolean" - }, - "debug-check": { - // Run the formatting once again on the formatted output, throw if different. - type: "boolean" - }, - "debug-print-doc": { - type: "boolean" - }, - "debug-repeat": { - // Repeat the formatting a few times and measure the average duration. - type: "int", - default: 0 - }, - editorconfig: { - type: "boolean", - category: coreOptions.CATEGORY_CONFIG, - description: "Take .editorconfig into account when parsing configuration.", - oppositeDescription: "Don't take .editorconfig into account when parsing configuration.", - default: true - }, - "find-config-path": { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - description: "Find and print the path to a configuration file for the given input file." - }, - "file-info": { - type: "path", - description: outdent` - Extract the following info (as JSON) for a given file path. Reported fields: - * ignored (boolean) - true if file path is filtered by --ignore-path - * inferredParser (string | null) - name of parser inferred from file path - ` - }, - help: { - type: "flag", - alias: "h", - description: outdent` - Show CLI usage, or details about the given flag. - Example: --help write - `, - exception: value => value === "" - }, - "ignore-path": { - type: "path", - category: coreOptions.CATEGORY_CONFIG, - default: ".prettierignore", - description: "Path to a file with patterns describing files to ignore." - }, - "ignore-unknown": { - type: "boolean", - alias: "u", - description: "Ignore unknown files." - }, - "list-different": { - type: "boolean", - category: coreOptions.CATEGORY_OUTPUT, - alias: "l", - description: "Print the names of files that are different from Prettier's formatting (see also --check)." - }, - loglevel: { - type: "choice", - description: "What level of logs to report.", - default: "log", - choices: ["silent", "error", "warn", "log", "debug"] - }, - "support-info": { - type: "boolean", - description: "Print support information as JSON." - }, - version: { - type: "boolean", - alias: "v", - description: "Print Prettier version." - }, - "with-node-modules": { - type: "boolean", - category: coreOptions.CATEGORY_CONFIG, - description: "Process files inside 'node_modules' directory." - }, - write: { - type: "boolean", - alias: "w", - category: coreOptions.CATEGORY_OUTPUT, - description: "Edit files in-place. (Beware!)" - } -}; -const usageSummary = outdent` - Usage: prettier [options] [file/dir/glob ...] - - By default, output is written to stdout. - Stdin is read if it is piped to Prettier and no files are given. -`; -var constant$1 = { - categoryOrder, - options, - usageSummary -}; - -const { - isCI -} = thirdParty; // Some CI pipelines incorrectly report process.stdout.isTTY status, -// which causes unwanted lines in the output. An additional check for isCI() helps. -// See https://github.com/prettier/prettier/issues/5801 - -var isTty = function isTTY() { - return process.stdout.isTTY && !isCI(); -}; - -function Diff() {} - -Diff.prototype = { - diff: function diff(oldString, newString) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - var callback = options.callback; - - if (typeof options === 'function') { - callback = options; - options = {}; - } - - this.options = options; - var self = this; - - function done(value) { - if (callback) { - setTimeout(function () { - callback(undefined, value); - }, 0); - return true; - } else { - return value; - } - } // Allow subclasses to massage the input prior to running - - - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, - oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - var bestPath = [{ - newPos: -1, - components: [] - }]; // Seed editLength = 0, i.e. the content starts with the same values - - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - // Identity per the equality and tokenizer - return done([{ - value: this.join(newString), - count: newString.length - }]); - } // Main worker method. checks all permutations of a given edit length for acceptance. - - - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = void 0; - - var addPath = bestPath[diagonalPath - 1], - removePath = bestPath[diagonalPath + 1], - _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - - if (addPath) { - // No one else is going to attempt to use this value, clear it - bestPath[diagonalPath - 1] = undefined; - } - - var canAdd = addPath && addPath.newPos + 1 < newLen, - canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - - if (!canAdd && !canRemove) { - // If this path is a terminal then prune - bestPath[diagonalPath] = undefined; - continue; - } // Select the diagonal that we want to branch from. We select the prior - // path whose position in the new string is the farthest from the origin - // and does not pass the bounds of the diff graph - - - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self.pushComponent(basePath.components, undefined, true); - } else { - basePath = addPath; // No need to clone, we've pulled it from the list - - basePath.newPos++; - self.pushComponent(basePath.components, true, undefined); - } - - _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done - - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); - } else { - // Otherwise track this path as a potential candidate and continue. - bestPath[diagonalPath] = basePath; - } - } - - editLength++; - } // Performs the length of edit iteration. Is a bit fugly as this has to support the - // sync and async mode which is never fun. Loops over execEditLength until a value - // is produced. - - - if (callback) { - (function exec() { - setTimeout(function () { - // This should not happen, but we want to be safe. - - /* istanbul ignore next */ - if (editLength > maxEditLength) { - return callback(); - } - - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - - if (ret) { - return ret; - } - } - } - }, - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; - - if (last && last.added === added && last.removed === removed) { - // We need to clone here as the component clone operation is just - // as shallow array clone - components[components.length - 1] = { - count: last.count + 1, - added: added, - removed: removed - }; - } else { - components.push({ - count: 1, - added: added, - removed: removed - }); - } - }, - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, - oldLen = oldString.length, - newPos = basePath.newPos, - oldPos = newPos - diagonalPath, - commonCount = 0; - - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - - basePath.newPos = newPos; - return oldPos; - }, - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - removeEmpty: function removeEmpty(array) { - var ret = []; - - for (var i = 0; i < array.length; i++) { - if (array[i]) { - ret.push(array[i]); - } - } - - return ret; - }, - castInput: function castInput(value) { - return value; - }, - tokenize: function tokenize(value) { - return value.split(''); - }, - join: function join(chars) { - return chars.join(''); - } -}; - -function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, - componentLen = components.length, - newPos = 0, - oldPos = 0; - - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function (value, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value.length ? oldValue : value; - }); - component.value = diff.join(value); - } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); - } - - newPos += component.count; // Common case - - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; // Reverse add and remove so removes are output first to match common convention - // The diffing algorithm is tied to add then remove output and this is the simplest - // route to get the desired output with minimal overhead. - - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } // Special case handle for when one terminal is ignored (i.e. whitespace). - // For this case we merge the terminal into the prior string and drop the change. - // This is only available for string mode. - - - var lastComponent = components[componentLen - 1]; - - if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); - } - - return components; -} - -function clonePath(path) { - return { - newPos: path.newPos, - components: path.components.slice(0) - }; -} - -var characterDiff = new Diff(); - -function diffChars(oldStr, newStr, options) { - return characterDiff.diff(oldStr, newStr, options); -} - -function generateOptions(options, defaults) { - if (typeof options === 'function') { - defaults.callback = options; - } else if (options) { - for (var name in options) { - /* istanbul ignore else */ - if (options.hasOwnProperty(name)) { - defaults[name] = options[name]; - } - } - } - - return defaults; -} // -// Ranges and exceptions: -// Latin-1 Supplement, 0080–00FF -// - U+00D7 × Multiplication sign -// - U+00F7 ÷ Division sign -// Latin Extended-A, 0100–017F -// Latin Extended-B, 0180–024F -// IPA Extensions, 0250–02AF -// Spacing Modifier Letters, 02B0–02FF -// - U+02C7 ˇ ˇ Caron -// - U+02D8 ˘ ˘ Breve -// - U+02D9 ˙ ˙ Dot Above -// - U+02DA ˚ ˚ Ring Above -// - U+02DB ˛ ˛ Ogonek -// - U+02DC ˜ ˜ Small Tilde -// - U+02DD ˝ ˝ Double Acute Accent -// Latin Extended Additional, 1E00–1EFF - - -var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; -var reWhitespace = /\S/; -var wordDiff = new Diff(); - -wordDiff.equals = function (left, right) { - if (this.options.ignoreCase) { - left = left.toLowerCase(); - right = right.toLowerCase(); - } - - return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); -}; - -wordDiff.tokenize = function (value) { - // All whitespace symbols except newline group into one token, each newline - in separate token - var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. - - for (var i = 0; i < tokens.length - 1; i++) { - // If we have an empty string in the next field and we have only word chars before and after, merge - if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { - tokens[i] += tokens[i + 2]; - tokens.splice(i + 1, 2); - i--; - } - } - - return tokens; -}; - -function diffWords(oldStr, newStr, options) { - options = generateOptions(options, { - ignoreWhitespace: true - }); - return wordDiff.diff(oldStr, newStr, options); -} - -function diffWordsWithSpace(oldStr, newStr, options) { - return wordDiff.diff(oldStr, newStr, options); -} - -var lineDiff = new Diff(); - -lineDiff.tokenize = function (value) { - var retLines = [], - linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line - - if (!linesAndNewlines[linesAndNewlines.length - 1]) { - linesAndNewlines.pop(); - } // Merge the content and line separators into single tokens - - - for (var i = 0; i < linesAndNewlines.length; i++) { - var line = linesAndNewlines[i]; - - if (i % 2 && !this.options.newlineIsToken) { - retLines[retLines.length - 1] += line; - } else { - if (this.options.ignoreWhitespace) { - line = line.trim(); - } - - retLines.push(line); - } - } - - return retLines; -}; - -function diffLines(oldStr, newStr, callback) { - return lineDiff.diff(oldStr, newStr, callback); -} - -function diffTrimmedLines(oldStr, newStr, callback) { - var options = generateOptions(callback, { - ignoreWhitespace: true - }); - return lineDiff.diff(oldStr, newStr, options); -} - -var sentenceDiff = new Diff(); - -sentenceDiff.tokenize = function (value) { - return value.split(/(\S.+?[.!?])(?=\s+|$)/); -}; - -function diffSentences(oldStr, newStr, callback) { - return sentenceDiff.diff(oldStr, newStr, callback); -} - -var cssDiff = new Diff(); - -cssDiff.tokenize = function (value) { - return value.split(/([{}:;,]|\s+)/); -}; - -function diffCss(oldStr, newStr, callback) { - return cssDiff.diff(oldStr, newStr, callback); -} - -function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function (obj) { - return typeof obj; - }; - } else { - _typeof = function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); -} - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); -} - -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); -} - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); -} - -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - - return arr2; -} - -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} - -var objectPrototypeToString = Object.prototype.toString; -var jsonDiff = new Diff(); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a -// dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: - -jsonDiff.useLongestToken = true; -jsonDiff.tokenize = lineDiff.tokenize; - -jsonDiff.castInput = function (value) { - var _this$options = this.options, - undefinedReplacement = _this$options.undefinedReplacement, - _this$options$stringi = _this$options.stringifyReplacer, - stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) { - return typeof v === 'undefined' ? undefinedReplacement : v; - } : _this$options$stringi; - return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); -}; - -jsonDiff.equals = function (left, right) { - return Diff.prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); -}; - -function diffJson(oldObj, newObj, options) { - return jsonDiff.diff(oldObj, newObj, options); -} // This function handles the presence of circular references by bailing out when encountering an -// object that is already on the "stack" of items being processed. Accepts an optional replacer - - -function canonicalize(obj, stack, replacementStack, replacer, key) { - stack = stack || []; - replacementStack = replacementStack || []; - - if (replacer) { - obj = replacer(key, obj); - } - - var i; - - for (i = 0; i < stack.length; i += 1) { - if (stack[i] === obj) { - return replacementStack[i]; - } - } - - var canonicalizedObj; - - if ('[object Array]' === objectPrototypeToString.call(obj)) { - stack.push(obj); - canonicalizedObj = new Array(obj.length); - replacementStack.push(canonicalizedObj); - - for (i = 0; i < obj.length; i += 1) { - canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); - } - - stack.pop(); - replacementStack.pop(); - return canonicalizedObj; - } - - if (obj && obj.toJSON) { - obj = obj.toJSON(); - } - - if (_typeof(obj) === 'object' && obj !== null) { - stack.push(obj); - canonicalizedObj = {}; - replacementStack.push(canonicalizedObj); - - var sortedKeys = [], - _key; - - for (_key in obj) { - /* istanbul ignore else */ - if (obj.hasOwnProperty(_key)) { - sortedKeys.push(_key); - } - } - - sortedKeys.sort(); - - for (i = 0; i < sortedKeys.length; i += 1) { - _key = sortedKeys[i]; - canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); - } - - stack.pop(); - replacementStack.pop(); - } else { - canonicalizedObj = obj; - } - - return canonicalizedObj; -} - -var arrayDiff = new Diff(); - -arrayDiff.tokenize = function (value) { - return value.slice(); -}; - -arrayDiff.join = arrayDiff.removeEmpty = function (value) { - return value; -}; - -function diffArrays(oldArr, newArr, callback) { - return arrayDiff.diff(oldArr, newArr, callback); -} - -function parsePatch(uniDiff) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), - delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], - list = [], - i = 0; - - function parseIndex() { - var index = {}; - list.push(index); // Parse diff metadata - - while (i < diffstr.length) { - var line = diffstr[i]; // File header found, end parsing diff metadata - - if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { - break; - } // Diff index - - - var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); - - if (header) { - index.index = header[1]; - } - - i++; - } // Parse file headers if they are defined. Unified diff requires them, but - // there's no technical issues to have an isolated hunk without file header - - - parseFileHeader(index); - parseFileHeader(index); // Parse hunks - - index.hunks = []; - - while (i < diffstr.length) { - var _line = diffstr[i]; - - if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { - break; - } else if (/^@@/.test(_line)) { - index.hunks.push(parseHunk()); - } else if (_line && options.strict) { - // Ignore unexpected content unless in strict mode - throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line)); - } else { - i++; - } - } - } // Parses the --- and +++ headers, if none are found, no lines - // are consumed. - - - function parseFileHeader(index) { - var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); - - if (fileHeader) { - var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; - var data = fileHeader[2].split('\t', 2); - var fileName = data[0].replace(/\\\\/g, '\\'); - - if (/^".*"$/.test(fileName)) { - fileName = fileName.substr(1, fileName.length - 2); - } - - index[keyPrefix + 'FileName'] = fileName; - index[keyPrefix + 'Header'] = (data[1] || '').trim(); - i++; - } - } // Parses a hunk - // This assumes that we are at the start of a hunk. - - - function parseHunk() { - var chunkHeaderIndex = i, - chunkHeaderLine = diffstr[i++], - chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); - var hunk = { - oldStart: +chunkHeader[1], - oldLines: typeof chunkHeader[2] === 'undefined' ? 1 : +chunkHeader[2], - newStart: +chunkHeader[3], - newLines: typeof chunkHeader[4] === 'undefined' ? 1 : +chunkHeader[4], - lines: [], - linedelimiters: [] - }; // Unified Diff Format quirk: If the chunk size is 0, - // the first number is one lower than one would expect. - // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 - - if (hunk.oldLines === 0) { - hunk.oldStart += 1; - } - - if (hunk.newLines === 0) { - hunk.newStart += 1; - } - - var addCount = 0, - removeCount = 0; - - for (; i < diffstr.length; i++) { - // Lines starting with '---' could be mistaken for the "remove line" operation - // But they could be the header for the next file. Therefore prune such cases out. - if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) { - break; - } - - var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0]; - - if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') { - hunk.lines.push(diffstr[i]); - hunk.linedelimiters.push(delimiters[i] || '\n'); - - if (operation === '+') { - addCount++; - } else if (operation === '-') { - removeCount++; - } else if (operation === ' ') { - addCount++; - removeCount++; - } - } else { - break; - } - } // Handle the empty block count case - - - if (!addCount && hunk.newLines === 1) { - hunk.newLines = 0; - } - - if (!removeCount && hunk.oldLines === 1) { - hunk.oldLines = 0; - } // Perform optional sanity checking - - - if (options.strict) { - if (addCount !== hunk.newLines) { - throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); - } - - if (removeCount !== hunk.oldLines) { - throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); - } - } - - return hunk; - } - - while (i < diffstr.length) { - parseIndex(); - } - - return list; -} // Iterator that traverses in the range of [min, max], stepping -// by distance from a given start position. I.e. for [0, 4], with -// start of 2, this will iterate 2, 3, 1, 4, 0. - - -function distanceIterator(start, minLine, maxLine) { - var wantForward = true, - backwardExhausted = false, - forwardExhausted = false, - localOffset = 1; - return function iterator() { - if (wantForward && !forwardExhausted) { - if (backwardExhausted) { - localOffset++; - } else { - wantForward = false; - } // Check if trying to fit beyond text length, and if not, check it fits - // after offset location (or desired location on first iteration) - - - if (start + localOffset <= maxLine) { - return localOffset; - } - - forwardExhausted = true; - } - - if (!backwardExhausted) { - if (!forwardExhausted) { - wantForward = true; - } // Check if trying to fit before text beginning, and if not, check it fits - // before offset location - - - if (minLine <= start - localOffset) { - return -localOffset++; - } - - backwardExhausted = true; - return iterator(); - } // We tried to fit hunk before text beginning and beyond text length, then - // hunk can't fit on the text. Return undefined - - }; -} - -function applyPatch(source, uniDiff) { - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - - if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); - } - - if (Array.isArray(uniDiff)) { - if (uniDiff.length > 1) { - throw new Error('applyPatch only works with a single input.'); - } - - uniDiff = uniDiff[0]; - } // Apply the diff to the input - - - var lines = source.split(/\r\n|[\n\v\f\r\x85]/), - delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], - hunks = uniDiff.hunks, - compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) { - return line === patchContent; - }, - errorCount = 0, - fuzzFactor = options.fuzzFactor || 0, - minLine = 0, - offset = 0, - removeEOFNL, - addEOFNL; - /** - * Checks if the hunk exactly fits on the provided location - */ - - - function hunkFits(hunk, toPos) { - for (var j = 0; j < hunk.lines.length; j++) { - var line = hunk.lines[j], - operation = line.length > 0 ? line[0] : ' ', - content = line.length > 0 ? line.substr(1) : line; - - if (operation === ' ' || operation === '-') { - // Context sanity check - if (!compareLine(toPos + 1, lines[toPos], operation, content)) { - errorCount++; - - if (errorCount > fuzzFactor) { - return false; - } - } - - toPos++; - } - } - - return true; - } // Search best fit offsets for each hunk based on the previous ones - - - for (var i = 0; i < hunks.length; i++) { - var hunk = hunks[i], - maxLine = lines.length - hunk.oldLines, - localOffset = 0, - toPos = offset + hunk.oldStart - 1; - var iterator = distanceIterator(toPos, minLine, maxLine); - - for (; localOffset !== undefined; localOffset = iterator()) { - if (hunkFits(hunk, toPos + localOffset)) { - hunk.offset = offset += localOffset; - break; - } - } - - if (localOffset === undefined) { - return false; - } // Set lower text limit to end of the current hunk, so next ones don't try - // to fit over already patched text - - - minLine = hunk.offset + hunk.oldStart + hunk.oldLines; - } // Apply patch hunks - - - var diffOffset = 0; - - for (var _i = 0; _i < hunks.length; _i++) { - var _hunk = hunks[_i], - _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; - - diffOffset += _hunk.newLines - _hunk.oldLines; - - for (var j = 0; j < _hunk.lines.length; j++) { - var line = _hunk.lines[j], - operation = line.length > 0 ? line[0] : ' ', - content = line.length > 0 ? line.substr(1) : line, - delimiter = _hunk.linedelimiters[j]; - - if (operation === ' ') { - _toPos++; - } else if (operation === '-') { - lines.splice(_toPos, 1); - delimiters.splice(_toPos, 1); - /* istanbul ignore else */ - } else if (operation === '+') { - lines.splice(_toPos, 0, content); - delimiters.splice(_toPos, 0, delimiter); - _toPos++; - } else if (operation === '\\') { - var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; - - if (previousOperation === '+') { - removeEOFNL = true; - } else if (previousOperation === '-') { - addEOFNL = true; - } - } - } - } // Handle EOFNL insertion/removal - - - if (removeEOFNL) { - while (!lines[lines.length - 1]) { - lines.pop(); - delimiters.pop(); - } - } else if (addEOFNL) { - lines.push(''); - delimiters.push('\n'); - } - - for (var _k = 0; _k < lines.length - 1; _k++) { - lines[_k] = lines[_k] + delimiters[_k]; - } - - return lines.join(''); -} // Wrapper that supports multiple file patches via callbacks. - - -function applyPatches(uniDiff, options) { - if (typeof uniDiff === 'string') { - uniDiff = parsePatch(uniDiff); - } - - var currentIndex = 0; - - function processIndex() { - var index = uniDiff[currentIndex++]; - - if (!index) { - return options.complete(); - } - - options.loadFile(index, function (err, data) { - if (err) { - return options.complete(err); - } - - var updatedContent = applyPatch(data, index, options); - options.patched(index, updatedContent, function (err) { - if (err) { - return options.complete(err); - } - - processIndex(); - }); - }); - } - - processIndex(); -} - -function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - if (!options) { - options = {}; - } - - if (typeof options.context === 'undefined') { - options.context = 4; - } - - var diff = diffLines(oldStr, newStr, options); - diff.push({ - value: '', - lines: [] - }); // Append an empty value to make cleanup easier - - function contextLines(lines) { - return lines.map(function (entry) { - return ' ' + entry; - }); - } - - var hunks = []; - var oldRangeStart = 0, - newRangeStart = 0, - curRange = [], - oldLine = 1, - newLine = 1; - - var _loop = function _loop(i) { - var current = diff[i], - lines = current.lines || current.value.replace(/\n$/, '').split('\n'); - current.lines = lines; - - if (current.added || current.removed) { - var _curRange; // If we have previous context, start with that - - - if (!oldRangeStart) { - var prev = diff[i - 1]; - oldRangeStart = oldLine; - newRangeStart = newLine; - - if (prev) { - curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; - oldRangeStart -= curRange.length; - newRangeStart -= curRange.length; - } - } // Output our changes - - - (_curRange = curRange).push.apply(_curRange, _toConsumableArray(lines.map(function (entry) { - return (current.added ? '+' : '-') + entry; - }))); // Track the updated file position - - - if (current.added) { - newLine += lines.length; - } else { - oldLine += lines.length; - } - } else { - // Identical context lines. Track line changes - if (oldRangeStart) { - // Close out any changes that have been output (or join overlapping) - if (lines.length <= options.context * 2 && i < diff.length - 2) { - var _curRange2; // Overlapping - - - (_curRange2 = curRange).push.apply(_curRange2, _toConsumableArray(contextLines(lines))); - } else { - var _curRange3; // end the range and output - - - var contextSize = Math.min(lines.length, options.context); - - (_curRange3 = curRange).push.apply(_curRange3, _toConsumableArray(contextLines(lines.slice(0, contextSize)))); - - var hunk = { - oldStart: oldRangeStart, - oldLines: oldLine - oldRangeStart + contextSize, - newStart: newRangeStart, - newLines: newLine - newRangeStart + contextSize, - lines: curRange - }; - - if (i >= diff.length - 2 && lines.length <= options.context) { - // EOF is inside this hunk - var oldEOFNewline = /\n$/.test(oldStr); - var newEOFNewline = /\n$/.test(newStr); - var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; - - if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) { - // special case: old has no eol and no trailing context; no-nl can end up before adds - // however, if the old file is empty, do not output the no-nl line - curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); - } - - if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { - curRange.push('\\ No newline at end of file'); - } - } - - hunks.push(hunk); - oldRangeStart = 0; - newRangeStart = 0; - curRange = []; - } - } - - oldLine += lines.length; - newLine += lines.length; - } - }; - - for (var i = 0; i < diff.length; i++) { - _loop(i); - } - - return { - oldFileName: oldFileName, - newFileName: newFileName, - oldHeader: oldHeader, - newHeader: newHeader, - hunks: hunks - }; -} - -function formatPatch(diff) { - var ret = []; - - if (diff.oldFileName == diff.newFileName) { - ret.push('Index: ' + diff.oldFileName); - } - - ret.push('==================================================================='); - ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); - ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); - - for (var i = 0; i < diff.hunks.length; i++) { - var hunk = diff.hunks[i]; // Unified Diff Format quirk: If the chunk size is 0, - // the first number is one lower than one would expect. - // https://www.artima.com/weblogs/viewpost.jsp?thread=164293 - - if (hunk.oldLines === 0) { - hunk.oldStart -= 1; - } - - if (hunk.newLines === 0) { - hunk.newStart -= 1; - } - - ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); - ret.push.apply(ret, hunk.lines); - } - - return ret.join('\n') + '\n'; -} - -function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { - return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options)); -} - -function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { - return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); -} - -function arrayEqual(a, b) { - if (a.length !== b.length) { - return false; - } - - return arrayStartsWith(a, b); -} - -function arrayStartsWith(array, start) { - if (start.length > array.length) { - return false; - } - - for (var i = 0; i < start.length; i++) { - if (start[i] !== array[i]) { - return false; - } - } - - return true; -} - -function calcLineCount(hunk) { - var _calcOldNewLineCount = calcOldNewLineCount(hunk.lines), - oldLines = _calcOldNewLineCount.oldLines, - newLines = _calcOldNewLineCount.newLines; - - if (oldLines !== undefined) { - hunk.oldLines = oldLines; - } else { - delete hunk.oldLines; - } - - if (newLines !== undefined) { - hunk.newLines = newLines; - } else { - delete hunk.newLines; - } -} - -function merge(mine, theirs, base) { - mine = loadPatch(mine, base); - theirs = loadPatch(theirs, base); - var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning. - // Leaving sanity checks on this to the API consumer that may know more about the - // meaning in their own context. - - if (mine.index || theirs.index) { - ret.index = mine.index || theirs.index; - } - - if (mine.newFileName || theirs.newFileName) { - if (!fileNameChanged(mine)) { - // No header or no change in ours, use theirs (and ours if theirs does not exist) - ret.oldFileName = theirs.oldFileName || mine.oldFileName; - ret.newFileName = theirs.newFileName || mine.newFileName; - ret.oldHeader = theirs.oldHeader || mine.oldHeader; - ret.newHeader = theirs.newHeader || mine.newHeader; - } else if (!fileNameChanged(theirs)) { - // No header or no change in theirs, use ours - ret.oldFileName = mine.oldFileName; - ret.newFileName = mine.newFileName; - ret.oldHeader = mine.oldHeader; - ret.newHeader = mine.newHeader; - } else { - // Both changed... figure it out - ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); - ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); - ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); - ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); - } - } - - ret.hunks = []; - var mineIndex = 0, - theirsIndex = 0, - mineOffset = 0, - theirsOffset = 0; - - while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { - var mineCurrent = mine.hunks[mineIndex] || { - oldStart: Infinity - }, - theirsCurrent = theirs.hunks[theirsIndex] || { - oldStart: Infinity - }; - - if (hunkBefore(mineCurrent, theirsCurrent)) { - // This patch does not overlap with any of the others, yay. - ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); - mineIndex++; - theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; - } else if (hunkBefore(theirsCurrent, mineCurrent)) { - // This patch does not overlap with any of the others, yay. - ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); - theirsIndex++; - mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; - } else { - // Overlap, merge as best we can - var mergedHunk = { - oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), - oldLines: 0, - newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), - newLines: 0, - lines: [] - }; - mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); - theirsIndex++; - mineIndex++; - ret.hunks.push(mergedHunk); - } - } - - return ret; -} - -function loadPatch(param, base) { - if (typeof param === 'string') { - if (/^@@/m.test(param) || /^Index:/m.test(param)) { - return parsePatch(param)[0]; - } - - if (!base) { - throw new Error('Must provide a base reference or pass in a patch'); - } - - return structuredPatch(undefined, undefined, base, param); - } - - return param; -} - -function fileNameChanged(patch) { - return patch.newFileName && patch.newFileName !== patch.oldFileName; -} - -function selectField(index, mine, theirs) { - if (mine === theirs) { - return mine; - } else { - index.conflict = true; - return { - mine: mine, - theirs: theirs - }; - } -} - -function hunkBefore(test, check) { - return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; -} - -function cloneHunk(hunk, offset) { - return { - oldStart: hunk.oldStart, - oldLines: hunk.oldLines, - newStart: hunk.newStart + offset, - newLines: hunk.newLines, - lines: hunk.lines - }; -} - -function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { - // This will generally result in a conflicted hunk, but there are cases where the context - // is the only overlap where we can successfully merge the content here. - var mine = { - offset: mineOffset, - lines: mineLines, - index: 0 - }, - their = { - offset: theirOffset, - lines: theirLines, - index: 0 - }; // Handle any leading content - - insertLeading(hunk, mine, their); - insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each. - - while (mine.index < mine.lines.length && their.index < their.lines.length) { - var mineCurrent = mine.lines[mine.index], - theirCurrent = their.lines[their.index]; - - if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) { - // Both modified ... - mutualChange(hunk, mine, their); - } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { - var _hunk$lines; // Mine inserted - - - (_hunk$lines = hunk.lines).push.apply(_hunk$lines, _toConsumableArray(collectChange(mine))); - } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { - var _hunk$lines2; // Theirs inserted - - - (_hunk$lines2 = hunk.lines).push.apply(_hunk$lines2, _toConsumableArray(collectChange(their))); - } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { - // Mine removed or edited - removal(hunk, mine, their); - } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') { - // Their removed or edited - removal(hunk, their, mine, true); - } else if (mineCurrent === theirCurrent) { - // Context identity - hunk.lines.push(mineCurrent); - mine.index++; - their.index++; - } else { - // Context mismatch - conflict(hunk, collectChange(mine), collectChange(their)); - } - } // Now push anything that may be remaining - - - insertTrailing(hunk, mine); - insertTrailing(hunk, their); - calcLineCount(hunk); -} - -function mutualChange(hunk, mine, their) { - var myChanges = collectChange(mine), - theirChanges = collectChange(their); - - if (allRemoves(myChanges) && allRemoves(theirChanges)) { - // Special case for remove changes that are supersets of one another - if (arrayStartsWith(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { - var _hunk$lines3; - - (_hunk$lines3 = hunk.lines).push.apply(_hunk$lines3, _toConsumableArray(myChanges)); - - return; - } else if (arrayStartsWith(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { - var _hunk$lines4; - - (_hunk$lines4 = hunk.lines).push.apply(_hunk$lines4, _toConsumableArray(theirChanges)); - - return; - } - } else if (arrayEqual(myChanges, theirChanges)) { - var _hunk$lines5; - - (_hunk$lines5 = hunk.lines).push.apply(_hunk$lines5, _toConsumableArray(myChanges)); - - return; - } - - conflict(hunk, myChanges, theirChanges); -} - -function removal(hunk, mine, their, swap) { - var myChanges = collectChange(mine), - theirChanges = collectContext(their, myChanges); - - if (theirChanges.merged) { - var _hunk$lines6; - - (_hunk$lines6 = hunk.lines).push.apply(_hunk$lines6, _toConsumableArray(theirChanges.merged)); - } else { - conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); - } -} - -function conflict(hunk, mine, their) { - hunk.conflict = true; - hunk.lines.push({ - conflict: true, - mine: mine, - theirs: their - }); -} - -function insertLeading(hunk, insert, their) { - while (insert.offset < their.offset && insert.index < insert.lines.length) { - var line = insert.lines[insert.index++]; - hunk.lines.push(line); - insert.offset++; - } -} - -function insertTrailing(hunk, insert) { - while (insert.index < insert.lines.length) { - var line = insert.lines[insert.index++]; - hunk.lines.push(line); - } -} - -function collectChange(state) { - var ret = [], - operation = state.lines[state.index][0]; - - while (state.index < state.lines.length) { - var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change. - - if (operation === '-' && line[0] === '+') { - operation = '+'; - } - - if (operation === line[0]) { - ret.push(line); - state.index++; - } else { - break; - } - } - - return ret; -} - -function collectContext(state, matchChanges) { - var changes = [], - merged = [], - matchIndex = 0, - contextChanges = false, - conflicted = false; - - while (matchIndex < matchChanges.length && state.index < state.lines.length) { - var change = state.lines[state.index], - match = matchChanges[matchIndex]; // Once we've hit our add, then we are done - - if (match[0] === '+') { - break; - } - - contextChanges = contextChanges || change[0] !== ' '; - merged.push(match); - matchIndex++; // Consume any additions in the other block as a conflict to attempt - // to pull in the remaining context after this - - if (change[0] === '+') { - conflicted = true; - - while (change[0] === '+') { - changes.push(change); - change = state.lines[++state.index]; - } - } - - if (match.substr(1) === change.substr(1)) { - changes.push(change); - state.index++; - } else { - conflicted = true; - } - } - - if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) { - conflicted = true; - } - - if (conflicted) { - return changes; - } - - while (matchIndex < matchChanges.length) { - merged.push(matchChanges[matchIndex++]); - } - - return { - merged: merged, - changes: changes - }; -} - -function allRemoves(changes) { - return changes.reduce(function (prev, change) { - return prev && change[0] === '-'; - }, true); -} - -function skipRemoveSuperset(state, removeChanges, delta) { - for (var i = 0; i < delta; i++) { - var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); - - if (state.lines[state.index + i] !== ' ' + changeContent) { - return false; - } - } - - state.index += delta; - return true; -} - -function calcOldNewLineCount(lines) { - var oldLines = 0; - var newLines = 0; - lines.forEach(function (line) { - if (typeof line !== 'string') { - var myCount = calcOldNewLineCount(line.mine); - var theirCount = calcOldNewLineCount(line.theirs); - - if (oldLines !== undefined) { - if (myCount.oldLines === theirCount.oldLines) { - oldLines += myCount.oldLines; - } else { - oldLines = undefined; - } - } - - if (newLines !== undefined) { - if (myCount.newLines === theirCount.newLines) { - newLines += myCount.newLines; - } else { - newLines = undefined; - } - } - } else { - if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) { - newLines++; - } - - if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) { - oldLines++; - } - } - }); - return { - oldLines: oldLines, - newLines: newLines - }; -} // See: http://code.google.com/p/google-diff-match-patch/wiki/API - - -function convertChangesToDMP(changes) { - var ret = [], - change, - operation; - - for (var i = 0; i < changes.length; i++) { - change = changes[i]; - - if (change.added) { - operation = 1; - } else if (change.removed) { - operation = -1; - } else { - operation = 0; - } - - ret.push([operation, change.value]); - } - - return ret; -} - -function convertChangesToXML(changes) { - var ret = []; - - for (var i = 0; i < changes.length; i++) { - var change = changes[i]; - - if (change.added) { - ret.push(''); - } else if (change.removed) { - ret.push(''); - } - - ret.push(escapeHTML(change.value)); - - if (change.added) { - ret.push(''); - } else if (change.removed) { - ret.push(''); - } - } - - return ret.join(''); -} - -function escapeHTML(s) { - var n = s; - n = n.replace(/&/g, '&'); - n = n.replace(//g, '>'); - n = n.replace(/"/g, '"'); - return n; -} - -var index_es6 = /*#__PURE__*/Object.freeze({ - __proto__: null, - Diff: Diff, - applyPatch: applyPatch, - applyPatches: applyPatches, - canonicalize: canonicalize, - convertChangesToDMP: convertChangesToDMP, - convertChangesToXML: convertChangesToXML, - createPatch: createPatch, - createTwoFilesPatch: createTwoFilesPatch, - diffArrays: diffArrays, - diffChars: diffChars, - diffCss: diffCss, - diffJson: diffJson, - diffLines: diffLines, - diffSentences: diffSentences, - diffTrimmedLines: diffTrimmedLines, - diffWords: diffWords, - diffWordsWithSpace: diffWordsWithSpace, - merge: merge, - parsePatch: parsePatch, - structuredPatch: structuredPatch -}); - -// eslint-disable-next-line no-restricted-modules - - -const { - getStdin -} = thirdParty; -const { - createIgnorer, - errors, - coreOptions: coreOptions$1, - optionsModule, - optionsNormalizer, - utils: { - arrayify - } -} = prettierInternal; -const { - expandPatterns: expandPatterns$1, - fixWindowsSlashes: fixWindowsSlashes$1 -} = expandPatterns_1; -const OPTION_USAGE_THRESHOLD = 25; -const CHOICE_USAGE_MARGIN = 3; -const CHOICE_USAGE_INDENTATION = 2; - -function getOptions(argv, detailedOptions) { - return fromPairs_1(detailedOptions.filter(({ - forwardToApi - }) => forwardToApi).map(({ - forwardToApi, - name - }) => [forwardToApi, argv[name]])); -} - -function cliifyOptions(object, apiDetailedOptionMap) { - return Object.keys(object || {}).reduce((output, key) => { - const apiOption = apiDetailedOptionMap[key]; - const cliKey = apiOption ? apiOption.name : key; - output[dashify(cliKey)] = object[key]; - return output; - }, {}); -} - -function diff(a, b) { - return index_es6.createTwoFilesPatch("", "", a, b, "", "", { - context: 2 - }); -} - -function handleError(context, filename, error) { - if (error instanceof errors.UndefinedParserError) { - // Can't test on CI, `isTTY()` is always false, see ./is-tty.js - - /* istanbul ignore next */ - if ((context.argv.write || context.argv["ignore-unknown"]) && isTty()) { - readline__default['default'].clearLine(process.stdout, 0); - readline__default['default'].cursorTo(process.stdout, 0, null); - } - - if (context.argv["ignore-unknown"]) { - return; - } - - if (!context.argv.check && !context.argv["list-different"]) { - process.exitCode = 2; - } - - context.logger.error(error.message); - return; - } - - if (context.argv.write) { - // Add newline to split errors from filename line. - process.stdout.write("\n"); - } - - const isParseError = Boolean(error && error.loc); - const isValidationError = /^Invalid \S+ value\./.test(error && error.message); - - if (isParseError) { - // `invalid.js: SyntaxError: Unexpected token (1:1)`. - context.logger.error(`${filename}: ${String(error)}`); - } else if (isValidationError || error instanceof errors.ConfigError) { - // `Invalid printWidth value. Expected an integer, but received 0.5.` - context.logger.error(error.message); // If validation fails for one file, it will fail for all of them. - - process.exit(1); - } else if (error instanceof errors.DebugError) { - // `invalid.js: Some debug error message` - context.logger.error(`${filename}: ${error.message}`); - } else { - // `invalid.js: Error: Some unexpected error\n[stack trace]` - - /* istanbul ignore next */ - context.logger.error(filename + ": " + (error.stack || error)); - } // Don't exit the process if one file failed - - - process.exitCode = 2; -} - -function logResolvedConfigPathOrDie(context) { - const configFile = src.resolveConfigFile.sync(context.argv["find-config-path"]); - - if (configFile) { - context.logger.log(path__default['default'].relative(process.cwd(), configFile)); - } else { - process.exit(1); - } -} - -function logFileInfoOrDie(context) { - const options = { - ignorePath: context.argv["ignore-path"], - withNodeModules: context.argv["with-node-modules"], - plugins: context.argv.plugin, - pluginSearchDirs: context.argv["plugin-search-dir"], - resolveConfig: context.argv.config !== false - }; - context.logger.log(src.format(fastJsonStableStringify(src.getFileInfo.sync(context.argv["file-info"], options)), { - parser: "json" - })); -} - -function writeOutput(context, result, options) { - // Don't use `console.log` here since it adds an extra newline at the end. - process.stdout.write(context.argv["debug-check"] ? result.filepath : result.formatted); - - if (options && options.cursorOffset >= 0) { - process.stderr.write(result.cursorOffset + "\n"); - } -} - -function listDifferent(context, input, options, filename) { - if (!context.argv.check && !context.argv["list-different"]) { - return; - } - - try { - if (!options.filepath && !options.parser) { - throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); - } - - if (!src.check(input, options)) { - if (!context.argv.write) { - context.logger.log(filename); - process.exitCode = 1; - } - } - } catch (error) { - context.logger.error(error.message); - } - - return true; -} - -function format(context, input, opt) { - if (!opt.parser && !opt.filepath) { - throw new errors.UndefinedParserError("No parser and no file path given, couldn't infer a parser."); - } - - if (context.argv["debug-print-doc"]) { - const doc = src.__debug.printToDoc(input, opt); - - return { - formatted: src.__debug.formatDoc(doc) - }; - } - - if (context.argv["debug-check"]) { - const pp = src.format(input, opt); - const pppp = src.format(pp, opt); - - if (pp !== pppp) { - throw new errors.DebugError("prettier(input) !== prettier(prettier(input))\n" + diff(pp, pppp)); - } else { - const stringify = obj => JSON.stringify(obj, null, 2); - - const ast = stringify(src.__debug.parse(input, opt, - /* massage */ - true).ast); - const past = stringify(src.__debug.parse(pp, opt, - /* massage */ - true).ast); - /* istanbul ignore next */ - - if (ast !== past) { - const MAX_AST_SIZE = 2097152; // 2MB - - const astDiff = ast.length > MAX_AST_SIZE || past.length > MAX_AST_SIZE ? "AST diff too large to render" : diff(ast, past); - throw new errors.DebugError("ast(input) !== ast(prettier(input))\n" + astDiff + "\n" + diff(input, pp)); - } - } - - return { - formatted: pp, - filepath: opt.filepath || "(stdin)\n" - }; - } - /* istanbul ignore next */ - - - if (context.argv["debug-benchmark"]) { - let benchmark; - - try { - benchmark = require("benchmark"); - } catch (err) { - context.logger.debug("'--debug-benchmark' requires the 'benchmark' package to be installed."); - process.exit(2); - } - - context.logger.debug("'--debug-benchmark' option found, measuring formatWithCursor with 'benchmark' module."); - const suite = new benchmark.Suite(); - suite.add("format", () => { - src.formatWithCursor(input, opt); - }).on("cycle", event => { - const results = { - benchmark: String(event.target), - hz: event.target.hz, - ms: event.target.times.cycle * 1000 - }; - context.logger.debug("'--debug-benchmark' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); - }).run({ - async: false - }); - } else if (context.argv["debug-repeat"] > 0) { - const repeat = context.argv["debug-repeat"]; - context.logger.debug("'--debug-repeat' option found, running formatWithCursor " + repeat + " times."); // should be using `performance.now()`, but only `Date` is cross-platform enough - - const now = Date.now ? () => Date.now() : () => +new Date(); - let totalMs = 0; - - for (let i = 0; i < repeat; ++i) { - const startMs = now(); - src.formatWithCursor(input, opt); - totalMs += now() - startMs; - } - - const averageMs = totalMs / repeat; - const results = { - repeat, - hz: 1000 / averageMs, - ms: averageMs - }; - context.logger.debug("'--debug-repeat' measurements for formatWithCursor: " + JSON.stringify(results, null, 2)); - } - - return src.formatWithCursor(input, opt); -} - -function getOptionsOrDie(context, filePath) { - try { - if (context.argv.config === false) { - context.logger.debug("'--no-config' option found, skip loading config file."); - return null; - } - - context.logger.debug(context.argv.config ? `load config file from '${context.argv.config}'` : `resolve config from '${filePath}'`); - const options = src.resolveConfig.sync(filePath, { - editorconfig: context.argv.editorconfig, - config: context.argv.config - }); - context.logger.debug("loaded options `" + JSON.stringify(options) + "`"); - return options; - } catch (error) { - context.logger.error(`Invalid configuration file \`${filePath}\`: ` + error.message); - process.exit(2); - } -} - -function getOptionsForFile(context, filepath) { - const options = getOptionsOrDie(context, filepath); - const hasPlugins = options && options.plugins; - - if (hasPlugins) { - pushContextPlugins(context, options.plugins); - } - - const appliedOptions = Object.assign({ - filepath - }, applyConfigPrecedence(context, options && optionsNormalizer.normalizeApiOptions(options, context.supportOptions, { - logger: context.logger - }))); - context.logger.debug(`applied config-precedence (${context.argv["config-precedence"]}): ` + `${JSON.stringify(appliedOptions)}`); - - if (hasPlugins) { - popContextPlugins(context); - } - - return appliedOptions; -} - -function parseArgsToOptions(context, overrideDefaults) { - const minimistOptions = createMinimistOptions(context.detailedOptions); - const apiDetailedOptionMap = createApiDetailedOptionMap(context.detailedOptions); - return getOptions(optionsNormalizer.normalizeCliOptions(minimist_1(context.args, { - string: minimistOptions.string, - boolean: minimistOptions.boolean, - default: cliifyOptions(overrideDefaults, apiDetailedOptionMap) - }), context.detailedOptions, { - logger: false - }), context.detailedOptions); -} - -function applyConfigPrecedence(context, options) { - try { - switch (context.argv["config-precedence"]) { - case "cli-override": - return parseArgsToOptions(context, options); - - case "file-override": - return Object.assign({}, parseArgsToOptions(context), options); - - case "prefer-file": - return options || parseArgsToOptions(context); - } - } catch (error) { - /* istanbul ignore next */ - context.logger.error(error.toString()); - /* istanbul ignore next */ - - process.exit(2); - } -} - -function formatStdin(context) { - const filepath = context.argv["stdin-filepath"] ? path__default['default'].resolve(process.cwd(), context.argv["stdin-filepath"]) : process.cwd(); - const ignorer = createIgnorerFromContextOrDie(context); // If there's an ignore-path set, the filename must be relative to the - // ignore path, not the current working directory. - - const relativeFilepath = context.argv["ignore-path"] ? path__default['default'].relative(path__default['default'].dirname(context.argv["ignore-path"]), filepath) : path__default['default'].relative(process.cwd(), filepath); - getStdin().then(input => { - if (relativeFilepath && ignorer.ignores(fixWindowsSlashes$1(relativeFilepath))) { - writeOutput(context, { - formatted: input - }); - return; - } - - const options = getOptionsForFile(context, filepath); - - if (listDifferent(context, input, options, "(stdin)")) { - return; - } - - writeOutput(context, format(context, input, options), options); - }).catch(error => { - handleError(context, relativeFilepath || "stdin", error); - }); -} - -function createIgnorerFromContextOrDie(context) { - try { - return createIgnorer.sync(context.argv["ignore-path"], context.argv["with-node-modules"]); - } catch (e) { - context.logger.error(e.message); - process.exit(2); - } -} - -function formatFiles(context) { - // The ignorer will be used to filter file paths after the glob is checked, - // before any files are actually written - const ignorer = createIgnorerFromContextOrDie(context); - let numberOfUnformattedFilesFound = 0; - - if (context.argv.check) { - context.logger.log("Checking formatting..."); - } - - for (const pathOrError of expandPatterns$1(context)) { - if (typeof pathOrError === "object") { - context.logger.error(pathOrError.error); // Don't exit, but set the exit code to 2 - - process.exitCode = 2; - continue; - } - - const filename = pathOrError; // If there's an ignore-path set, the filename must be relative to the - // ignore path, not the current working directory. - - const ignoreFilename = context.argv["ignore-path"] ? path__default['default'].relative(path__default['default'].dirname(context.argv["ignore-path"]), filename) : filename; - const fileIgnored = ignorer.ignores(fixWindowsSlashes$1(ignoreFilename)); - - if (fileIgnored && (context.argv["debug-check"] || context.argv.write || context.argv.check || context.argv["list-different"])) { - continue; - } - - const options = Object.assign({}, getOptionsForFile(context, filename), { - filepath: filename - }); - - if (isTty()) { - context.logger.log(filename, { - newline: false - }); - } - - let input; - - try { - input = fs__default['default'].readFileSync(filename, "utf8"); - } catch (error) { - // Add newline to split errors from filename line. - - /* istanbul ignore next */ - context.logger.log(""); - /* istanbul ignore next */ - - context.logger.error(`Unable to read file: ${filename}\n${error.message}`); // Don't exit the process if one file failed - - /* istanbul ignore next */ - - process.exitCode = 2; - /* istanbul ignore next */ - - continue; - } - - if (fileIgnored) { - writeOutput(context, { - formatted: input - }, options); - continue; - } - - const start = Date.now(); - let result; - let output; - - try { - result = format(context, input, options); - output = result.formatted; - } catch (error) { - handleError(context, filename, error); - continue; - } - - const isDifferent = output !== input; - - if (isTty()) { - // Remove previously printed filename to log it with duration. - readline__default['default'].clearLine(process.stdout, 0); - readline__default['default'].cursorTo(process.stdout, 0, null); - } - - if (context.argv.write) { - // Don't write the file if it won't change in order not to invalidate - // mtime based caches. - if (isDifferent) { - if (!context.argv.check && !context.argv["list-different"]) { - context.logger.log(`${filename} ${Date.now() - start}ms`); - } - - try { - fs__default['default'].writeFileSync(filename, output, "utf8"); - } catch (error) { - /* istanbul ignore next */ - context.logger.error(`Unable to write file: ${filename}\n${error.message}`); // Don't exit the process if one file failed - - /* istanbul ignore next */ - - process.exitCode = 2; - } - } else if (!context.argv.check && !context.argv["list-different"]) { - context.logger.log(`${source.grey(filename)} ${Date.now() - start}ms`); - } - } else if (context.argv["debug-check"]) { - /* istanbul ignore else */ - if (result.filepath) { - context.logger.log(result.filepath); - } else { - process.exitCode = 2; - } - } else if (!context.argv.check && !context.argv["list-different"]) { - writeOutput(context, result, options); - } - - if (isDifferent) { - if (context.argv.check) { - context.logger.warn(filename); - } else if (context.argv["list-different"]) { - context.logger.log(filename); - } - - numberOfUnformattedFilesFound += 1; - } - } // Print check summary based on expected exit code - - - if (context.argv.check) { - if (numberOfUnformattedFilesFound === 0) { - context.logger.log("All matched files use Prettier code style!"); - } else { - context.logger.warn(context.argv.write ? "Code style issues fixed in the above file(s)." : "Code style issues found in the above file(s). Forgot to run Prettier?"); - } - } // Ensure non-zero exitCode when using --check/list-different is not combined with --write - - - if ((context.argv.check || context.argv["list-different"]) && numberOfUnformattedFilesFound > 0 && !process.exitCode && !context.argv.write) { - process.exitCode = 1; - } -} - -function getOptionsWithOpposites(options) { - // Add --no-foo after --foo. - const optionsWithOpposites = options.map(option => [option.description ? option : null, option.oppositeDescription ? Object.assign({}, option, { - name: `no-${option.name}`, - type: "boolean", - description: option.oppositeDescription - }) : null]); - return flatten_1(optionsWithOpposites).filter(Boolean); -} - -function createUsage(context) { - const options = getOptionsWithOpposites(context.detailedOptions).filter( // remove unnecessary option (e.g. `semi`, `color`, etc.), which is only used for --help - option => !(option.type === "boolean" && option.oppositeDescription && !option.name.startsWith("no-"))); - const groupedOptions = groupBy_1(options, option => option.category); - const firstCategories = constant$1.categoryOrder.slice(0, -1); - const lastCategories = constant$1.categoryOrder.slice(-1); - const restCategories = Object.keys(groupedOptions).filter(category => !constant$1.categoryOrder.includes(category)); - const allCategories = [...firstCategories, ...restCategories, ...lastCategories]; - const optionsUsage = allCategories.map(category => { - const categoryOptions = groupedOptions[category].map(option => createOptionUsage(context, option, OPTION_USAGE_THRESHOLD)).join("\n"); - return `${category} options:\n\n${indent(categoryOptions, 2)}`; - }); - return [constant$1.usageSummary].concat(optionsUsage, [""]).join("\n\n"); -} - -function createOptionUsage(context, option, threshold) { - const header = createOptionUsageHeader(option); - const optionDefaultValue = getOptionDefaultValue(context, option.name); - return createOptionUsageRow(header, `${option.description}${optionDefaultValue === undefined ? "" : `\nDefaults to ${createDefaultValueDisplay(optionDefaultValue)}.`}`, threshold); -} - -function createDefaultValueDisplay(value) { - return Array.isArray(value) ? `[${value.map(createDefaultValueDisplay).join(", ")}]` : value; -} - -function createOptionUsageHeader(option) { - const name = `--${option.name}`; - const alias = option.alias ? `-${option.alias},` : null; - const type = createOptionUsageType(option); - return [alias, name, type].filter(Boolean).join(" "); -} - -function createOptionUsageRow(header, content, threshold) { - const separator = header.length >= threshold ? `\n${" ".repeat(threshold)}` : " ".repeat(threshold - header.length); - const description = content.replace(/\n/g, `\n${" ".repeat(threshold)}`); - return `${header}${separator}${description}`; -} - -function createOptionUsageType(option) { - switch (option.type) { - case "boolean": - return null; - - case "choice": - return `<${option.choices.filter(choice => !choice.deprecated && choice.since !== null).map(choice => choice.value).join("|")}>`; - - default: - return `<${option.type}>`; - } -} - -function createChoiceUsages(choices, margin, indentation) { - const activeChoices = choices.filter(choice => !choice.deprecated && choice.since !== null); - const threshold = activeChoices.map(choice => choice.value.length).reduce((current, length) => Math.max(current, length), 0) + margin; - return activeChoices.map(choice => indent(createOptionUsageRow(choice.value, choice.description, threshold), indentation)); -} - -function createDetailedUsage(context, flag) { - const option = getOptionsWithOpposites(context.detailedOptions).find(option => option.name === flag || option.alias === flag); - const header = createOptionUsageHeader(option); - const description = `\n\n${indent(option.description, 2)}`; - const choices = option.type !== "choice" ? "" : `\n\nValid options:\n\n${createChoiceUsages(option.choices, CHOICE_USAGE_MARGIN, CHOICE_USAGE_INDENTATION).join("\n")}`; - const optionDefaultValue = getOptionDefaultValue(context, option.name); - const defaults = optionDefaultValue !== undefined ? `\n\nDefault: ${createDefaultValueDisplay(optionDefaultValue)}` : ""; - const pluginDefaults = option.pluginDefaults && Object.keys(option.pluginDefaults).length ? `\nPlugin defaults:${Object.keys(option.pluginDefaults).map(key => `\n* ${key}: ${createDefaultValueDisplay(option.pluginDefaults[key])}`)}` : ""; - return `${header}${description}${choices}${defaults}${pluginDefaults}`; -} - -function getOptionDefaultValue(context, optionName) { - // --no-option - if (!(optionName in context.detailedOptionMap)) { - return; - } - - const option = context.detailedOptionMap[optionName]; - - if (option.default !== undefined) { - return option.default; - } - - const optionCamelName = camelcase(optionName); - - if (optionCamelName in context.apiDefaultOptions) { - return context.apiDefaultOptions[optionCamelName]; - } -} - -function indent(str, spaces) { - return str.replace(/^/gm, " ".repeat(spaces)); -} - -function createLogger(logLevel) { - return { - warn: createLogFunc("warn", "yellow"), - error: createLogFunc("error", "red"), - debug: createLogFunc("debug", "blue"), - log: createLogFunc("log") - }; - - function createLogFunc(loggerName, color) { - if (!shouldLog(loggerName)) { - return () => {}; - } - - const prefix = color ? `[${source[color](loggerName)}] ` : ""; - return function (message, opts) { - opts = Object.assign({ - newline: true - }, opts); - const stream = process[loggerName === "log" ? "stdout" : "stderr"]; - stream.write(message.replace(/^/gm, prefix) + (opts.newline ? "\n" : "")); - }; - } - - function shouldLog(loggerName) { - switch (logLevel) { - case "silent": - return false; - - case "debug": - if (loggerName === "debug") { - return true; - } - - // fall through - - case "log": - if (loggerName === "log") { - return true; - } - - // fall through - - case "warn": - if (loggerName === "warn") { - return true; - } - - // fall through - - case "error": - return loggerName === "error"; - } - } -} - -function normalizeDetailedOption(name, option) { - return Object.assign({ - category: coreOptions$1.CATEGORY_OTHER - }, option, { - choices: option.choices && option.choices.map(choice => { - const newChoice = Object.assign({ - description: "", - deprecated: false - }, typeof choice === "object" ? choice : { - value: choice - }); - /* istanbul ignore next */ - - if (newChoice.value === true) { - newChoice.value = ""; // backward compatibility for original boolean option - } - - return newChoice; - }) - }); -} - -function normalizeDetailedOptionMap(detailedOptionMap) { - return fromPairs_1(Object.entries(detailedOptionMap).sort(([leftName], [rightName]) => leftName.localeCompare(rightName)).map(([name, option]) => [name, normalizeDetailedOption(name, option)])); -} - -function createMinimistOptions(detailedOptions) { - const [boolean, string] = partition_1(detailedOptions, ({ - type - }) => type === "boolean").map(detailedOptions => flatten_1(detailedOptions.map(({ - name, - alias - }) => alias ? [name, alias] : [name]))); - const defaults = fromPairs_1(detailedOptions.filter(option => !option.deprecated && (!option.forwardToApi || option.name === "plugin" || option.name === "plugin-search-dir") && option.default !== undefined).map(option => [option.name, option.default])); - return { - // we use vnopts' AliasSchema to handle aliases for better error messages - alias: {}, - boolean, - string, - default: defaults - }; -} - -function createApiDetailedOptionMap(detailedOptions) { - return fromPairs_1(detailedOptions.filter(option => option.forwardToApi && option.forwardToApi !== option.name).map(option => [option.forwardToApi, option])); -} - -function createDetailedOptionMap(supportOptions) { - return fromPairs_1(supportOptions.map(option => { - const newOption = Object.assign({}, option, { - name: option.cliName || dashify(option.name), - description: option.cliDescription || option.description, - category: option.cliCategory || coreOptions$1.CATEGORY_FORMAT, - forwardToApi: option.name - }); - /* istanbul ignore next */ - - if (option.deprecated) { - delete newOption.forwardToApi; - delete newOption.description; - delete newOption.oppositeDescription; - newOption.deprecated = true; - } - - return [newOption.name, newOption]; - })); -} //-----------------------------context-util-start------------------------------- - -/** - * @typedef {Object} Context - * @property logger - * @property {string[]} args - * @property argv - * @property {string[]} filePatterns - * @property {any[]} supportOptions - * @property detailedOptions - * @property detailedOptionMap - * @property apiDefaultOptions - * @property languages - * @property {Partial[]} stack - */ - -/** @returns {Context} */ - - -function createContext(args) { - const context = { - args, - stack: [] - }; - updateContextArgv(context); - normalizeContextArgv(context, ["loglevel", "plugin", "plugin-search-dir"]); - context.logger = createLogger(context.argv.loglevel); - updateContextArgv(context, context.argv.plugin, context.argv["plugin-search-dir"]); - return ( - /** @type {Context} */ - context - ); -} - -function initContext(context) { - // split into 2 step so that we could wrap this in a `try..catch` in cli/index.js - normalizeContextArgv(context); -} -/** - * @param {Context} context - * @param {string[]} plugins - * @param {string[]=} pluginSearchDirs - */ - - -function updateContextOptions(context, plugins, pluginSearchDirs) { - const { - options: supportOptions, - languages - } = src.getSupportInfo({ - showDeprecated: true, - showUnreleased: true, - showInternal: true, - plugins, - pluginSearchDirs - }); - const detailedOptionMap = normalizeDetailedOptionMap(Object.assign({}, createDetailedOptionMap(supportOptions), constant$1.options)); - const detailedOptions = arrayify(detailedOptionMap, "name"); - const apiDefaultOptions = Object.assign({}, optionsModule.hiddenDefaults, fromPairs_1(supportOptions.filter(({ - deprecated - }) => !deprecated).map(option => [option.name, option.default]))); - Object.assign(context, { - supportOptions, - detailedOptions, - detailedOptionMap, - apiDefaultOptions, - languages - }); -} -/** - * @param {Context} context - * @param {string[]} plugins - * @param {string[]=} pluginSearchDirs - */ - - -function pushContextPlugins(context, plugins, pluginSearchDirs) { - context.stack.push(pick_1(context, ["supportOptions", "detailedOptions", "detailedOptionMap", "apiDefaultOptions", "languages"])); - updateContextOptions(context, plugins, pluginSearchDirs); -} -/** - * @param {Context} context - */ - - -function popContextPlugins(context) { - Object.assign(context, context.stack.pop()); -} - -function updateContextArgv(context, plugins, pluginSearchDirs) { - pushContextPlugins(context, plugins, pluginSearchDirs); - const minimistOptions = createMinimistOptions(context.detailedOptions); - const argv = minimist_1(context.args, minimistOptions); - context.argv = argv; - context.filePatterns = argv._.map(file => String(file)); -} - -function normalizeContextArgv(context, keys) { - const detailedOptions = !keys ? context.detailedOptions : context.detailedOptions.filter(option => keys.includes(option.name)); - const argv = !keys ? context.argv : pick_1(context.argv, keys); - context.argv = optionsNormalizer.normalizeCliOptions(argv, detailedOptions, { - logger: context.logger - }); -} //------------------------------context-util-end-------------------------------- - - -var util$1 = { - createContext, - createDetailedOptionMap, - createDetailedUsage, - createUsage, - format, - formatFiles, - formatStdin, - initContext, - logResolvedConfigPathOrDie, - logFileInfoOrDie, - normalizeDetailedOptionMap -}; - -pleaseUpgradeNode(require$$1); // eslint-disable-next-line no-restricted-modules - -function run(args) { - const context = util$1.createContext(args); - - try { - util$1.initContext(context); - context.logger.debug(`normalized argv: ${JSON.stringify(context.argv)}`); - - if (context.argv.check && context.argv["list-different"]) { - context.logger.error("Cannot use --check and --list-different together."); - process.exit(1); - } - - if (context.argv.write && context.argv["debug-check"]) { - context.logger.error("Cannot use --write and --debug-check together."); - process.exit(1); - } - - if (context.argv["find-config-path"] && context.filePatterns.length) { - context.logger.error("Cannot use --find-config-path with multiple files"); - process.exit(1); - } - - if (context.argv["file-info"] && context.filePatterns.length) { - context.logger.error("Cannot use --file-info with multiple files"); - process.exit(1); - } - - if (context.argv.version) { - context.logger.log(src.version); - process.exit(0); - } - - if (context.argv.help !== undefined) { - context.logger.log(typeof context.argv.help === "string" && context.argv.help !== "" ? util$1.createDetailedUsage(context, context.argv.help) : util$1.createUsage(context)); - process.exit(0); - } - - if (context.argv["support-info"]) { - context.logger.log(src.format(fastJsonStableStringify(src.getSupportInfo()), { - parser: "json" - })); - process.exit(0); - } - - const hasFilePatterns = context.filePatterns.length !== 0; - const useStdin = !hasFilePatterns && (!process.stdin.isTTY || context.args["stdin-filepath"]); - - if (context.argv["find-config-path"]) { - util$1.logResolvedConfigPathOrDie(context); - } else if (context.argv["file-info"]) { - util$1.logFileInfoOrDie(context); - } else if (useStdin) { - util$1.formatStdin(context); - } else if (hasFilePatterns) { - util$1.formatFiles(context); - } else { - context.logger.log(util$1.createUsage(context)); - process.exit(1); - } - } catch (error) { - context.logger.error(error.message); - process.exit(1); - } -} - -var cli = { - run -}; - -cli.run(process.argv.slice(2)); -var prettier = {}; - -module.exports = prettier; diff --git a/node_modules/prettier/bin/prettier.cjs b/node_modules/prettier/bin/prettier.cjs new file mode 100755 index 00000000..bbf005be --- /dev/null +++ b/node_modules/prettier/bin/prettier.cjs @@ -0,0 +1,68 @@ +#!/usr/bin/env node +"use strict"; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __commonJS = function(cb, mod) { + return function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; +}; + +// node_modules/semver-compare/index.js +var require_semver_compare = __commonJS({ + "node_modules/semver-compare/index.js": function(exports2, module2) { + module2.exports = function cmp(a, b) { + var pa = a.split("."); + var pb = b.split("."); + for (var i = 0; i < 3; i++) { + var na = Number(pa[i]); + var nb = Number(pb[i]); + if (na > nb) + return 1; + if (nb > na) + return -1; + if (!isNaN(na) && isNaN(nb)) + return 1; + if (isNaN(na) && !isNaN(nb)) + return -1; + } + return 0; + }; + } +}); + +// node_modules/please-upgrade-node/index.js +var require_please_upgrade_node = __commonJS({ + "node_modules/please-upgrade-node/index.js": function(exports2, module2) { + var semverCompare = require_semver_compare(); + module2.exports = function pleaseUpgradeNode2(pkg, opts) { + var opts = opts || {}; + var requiredVersion = pkg.engines.node.replace(">=", ""); + var currentVersion = process.version.replace("v", ""); + if (semverCompare(currentVersion, requiredVersion) === -1) { + if (opts.message) { + console.error(opts.message(requiredVersion)); + } else { + console.error( + pkg.name + " requires at least version " + requiredVersion + " of Node, please upgrade" + ); + } + if (opts.hasOwnProperty("exitCode")) { + process.exit(opts.exitCode); + } else { + process.exit(1); + } + } + }; + } +}); + +// bin/prettier.cjs +var pleaseUpgradeNode = require_please_upgrade_node(); +var packageJson = require("../package.json"); +pleaseUpgradeNode(packageJson); +function runCli(cli) { + return cli.run(); +} +var dynamicImport = new Function("module", "return import(module)"); +var promise = dynamicImport("../internal/cli.mjs").then(runCli); +module.exports.__promise = promise; diff --git a/node_modules/prettier/doc.d.ts b/node_modules/prettier/doc.d.ts new file mode 100644 index 00000000..c9265116 --- /dev/null +++ b/node_modules/prettier/doc.d.ts @@ -0,0 +1,243 @@ +// https://github.com/prettier/prettier/blob/next/src/document/public.js +export namespace builders { + type DocCommand = + | Align + | BreakParent + | Cursor + | Fill + | Group + | IfBreak + | Indent + | IndentIfBreak + | Label + | Line + | LineSuffix + | LineSuffixBoundary + | Trim; + type Doc = string | Doc[] | DocCommand; + + interface Align { + type: "align"; + contents: Doc; + n: number | string | { type: "root" }; + } + + interface BreakParent { + type: "break-parent"; + } + + interface Cursor { + type: "cursor"; + placeholder: symbol; + } + + interface Fill { + type: "fill"; + parts: Doc[]; + } + + interface Group { + type: "group"; + id?: symbol; + contents: Doc; + break: boolean; + expandedStates: Doc[]; + } + + interface HardlineWithoutBreakParent extends Line { + hard: true; + } + + interface IfBreak { + type: "if-break"; + breakContents: Doc; + flatContents: Doc; + } + + interface Indent { + type: "indent"; + contents: Doc; + } + + interface IndentIfBreak { + type: "indent-if-break"; + } + + interface Label { + type: "label"; + label: any; + contents: Doc; + } + + interface Line { + type: "line"; + soft?: boolean | undefined; + hard?: boolean | undefined; + literal?: boolean | undefined; + } + + interface LineSuffix { + type: "line-suffix"; + contents: Doc; + } + + interface LineSuffixBoundary { + type: "line-suffix-boundary"; + } + + interface LiterallineWithoutBreakParent extends Line { + hard: true; + literal: true; + } + + type LiteralLine = [LiterallineWithoutBreakParent, BreakParent]; + + interface Softline extends Line { + soft: true; + } + + type Hardline = [HardlineWithoutBreakParent, BreakParent]; + + interface Trim { + type: "trim"; + } + + interface GroupOptions { + shouldBreak?: boolean | undefined; + id?: symbol | undefined; + } + + function addAlignmentToDoc(doc: Doc, size: number, tabWidth: number): Doc; + + /** @see [align](https://github.com/prettier/prettier/blob/main/commands.md#align) */ + function align(widthOrString: Align["n"], doc: Doc): Align; + + /** @see [breakParent](https://github.com/prettier/prettier/blob/main/commands.md#breakparent) */ + const breakParent: BreakParent; + + /** @see [conditionalGroup](https://github.com/prettier/prettier/blob/main/commands.md#conditionalgroup) */ + function conditionalGroup(alternatives: Doc[], options?: GroupOptions): Group; + + /** @see [dedent](https://github.com/prettier/prettier/blob/main/commands.md#dedent) */ + function dedent(doc: Doc): Align; + + /** @see [dedentToRoot](https://github.com/prettier/prettier/blob/main/commands.md#dedenttoroot) */ + function dedentToRoot(doc: Doc): Align; + + /** @see [fill](https://github.com/prettier/prettier/blob/main/commands.md#fill) */ + function fill(docs: Doc[]): Fill; + + /** @see [group](https://github.com/prettier/prettier/blob/main/commands.md#group) */ + function group(doc: Doc, opts?: GroupOptions): Group; + + /** @see [hardline](https://github.com/prettier/prettier/blob/main/commands.md#hardline) */ + const hardline: Hardline; + + /** @see [hardlineWithoutBreakParent](https://github.com/prettier/prettier/blob/main/commands.md#hardlinewithoutbreakparent-and-literallinewithoutbreakparent) */ + const hardlineWithoutBreakParent: HardlineWithoutBreakParent; + + /** @see [ifBreak](https://github.com/prettier/prettier/blob/main/commands.md#ifbreak) */ + function ifBreak( + ifBreak: Doc, + noBreak?: Doc, + options?: { groupId?: symbol | undefined }, + ): IfBreak; + + /** @see [indent](https://github.com/prettier/prettier/blob/main/commands.md#indent) */ + function indent(doc: Doc): Indent; + + /** @see [indentIfBreak](https://github.com/prettier/prettier/blob/main/commands.md#indentifbreak) */ + function indentIfBreak( + doc: Doc, + opts: { groupId: symbol; negate?: boolean | undefined }, + ): IndentIfBreak; + + /** @see [join](https://github.com/prettier/prettier/blob/main/commands.md#join) */ + function join(sep: Doc, docs: Doc[]): Doc[]; + + /** @see [label](https://github.com/prettier/prettier/blob/main/commands.md#label) */ + function label(label: any | undefined, contents: Doc): Doc; + + /** @see [line](https://github.com/prettier/prettier/blob/main/commands.md#line) */ + const line: Line; + + /** @see [lineSuffix](https://github.com/prettier/prettier/blob/main/commands.md#linesuffix) */ + function lineSuffix(suffix: Doc): LineSuffix; + + /** @see [lineSuffixBoundary](https://github.com/prettier/prettier/blob/main/commands.md#linesuffixboundary) */ + const lineSuffixBoundary: LineSuffixBoundary; + + /** @see [literalline](https://github.com/prettier/prettier/blob/main/commands.md#literalline) */ + const literalline: LiteralLine; + + /** @see [literallineWithoutBreakParent](https://github.com/prettier/prettier/blob/main/commands.md#hardlinewithoutbreakparent-and-literallinewithoutbreakparent) */ + const literallineWithoutBreakParent: LiterallineWithoutBreakParent; + + /** @see [markAsRoot](https://github.com/prettier/prettier/blob/main/commands.md#markasroot) */ + function markAsRoot(doc: Doc): Align; + + /** @see [softline](https://github.com/prettier/prettier/blob/main/commands.md#softline) */ + const softline: Softline; + + /** @see [trim](https://github.com/prettier/prettier/blob/main/commands.md#trim) */ + const trim: Trim; + + /** @see [cursor](https://github.com/prettier/prettier/blob/main/commands.md#cursor) */ + const cursor: Cursor; +} + +export namespace printer { + function printDocToString( + doc: builders.Doc, + options: Options, + ): { + formatted: string; + cursorNodeStart?: number | undefined; + cursorNodeText?: string | undefined; + }; + interface Options { + /** + * Specify the line length that the printer will wrap on. + * @default 80 + */ + printWidth: number; + /** + * Specify the number of spaces per indentation-level. + * @default 2 + */ + tabWidth: number; + /** + * Indent lines with tabs instead of spaces + * @default false + */ + useTabs?: boolean; + parentParser?: string | undefined; + __embeddedInHtml?: boolean | undefined; + } +} + +export namespace utils { + function willBreak(doc: builders.Doc): boolean; + function traverseDoc( + doc: builders.Doc, + onEnter?: (doc: builders.Doc) => void | boolean, + onExit?: (doc: builders.Doc) => void, + shouldTraverseConditionalGroups?: boolean, + ): void; + function findInDoc( + doc: builders.Doc, + callback: (doc: builders.Doc) => T, + defaultValue: T, + ): T; + function mapDoc( + doc: builders.Doc, + callback: (doc: builders.Doc) => T, + ): T; + function removeLines(doc: builders.Doc): builders.Doc; + function stripTrailingHardline(doc: builders.Doc): builders.Doc; + function replaceEndOfLine( + doc: builders.Doc, + replacement?: builders.Doc, + ): builders.Doc; + function canBreak(doc: builders.Doc): boolean; +} diff --git a/node_modules/prettier/doc.js b/node_modules/prettier/doc.js index 45a59b29..4c69b07e 100644 --- a/node_modules/prettier/doc.js +++ b/node_modules/prettier/doc.js @@ -1,3300 +1,1275 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.doc = factory()); -}(this, (function () { 'use strict'; - - /** - * @param {Doc[]} parts - * @returns Doc - */ - - - function concat(parts) { - // access the internals of a document directly. - // if(parts.length === 1) { - // // If it's a single document, no need to concat it. - // return parts[0]; - // } - +(function (factory) { + function interopModuleDefault() { + var module = factory(); + return module.default || module; + } + + if (typeof exports === "object" && typeof module === "object") { + module.exports = interopModuleDefault(); + } else if (typeof define === "function" && define.amd) { + define(interopModuleDefault); + } else { + var root = + typeof globalThis !== "undefined" + ? globalThis + : typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : this || {}; + root.doc = interopModuleDefault(); + } +})(function () { + "use strict"; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + + // src/document/public.js + var public_exports = {}; + __export(public_exports, { + builders: () => builders, + printer: () => printer, + utils: () => utils + }); - return { - type: "concat", - parts - }; + // src/document/constants.js + var DOC_TYPE_STRING = "string"; + var DOC_TYPE_ARRAY = "array"; + var DOC_TYPE_CURSOR = "cursor"; + var DOC_TYPE_INDENT = "indent"; + var DOC_TYPE_ALIGN = "align"; + var DOC_TYPE_TRIM = "trim"; + var DOC_TYPE_GROUP = "group"; + var DOC_TYPE_FILL = "fill"; + var DOC_TYPE_IF_BREAK = "if-break"; + var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break"; + var DOC_TYPE_LINE_SUFFIX = "line-suffix"; + var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary"; + var DOC_TYPE_LINE = "line"; + var DOC_TYPE_LABEL = "label"; + var DOC_TYPE_BREAK_PARENT = "break-parent"; + var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([ + DOC_TYPE_CURSOR, + DOC_TYPE_INDENT, + DOC_TYPE_ALIGN, + DOC_TYPE_TRIM, + DOC_TYPE_GROUP, + DOC_TYPE_FILL, + DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LINE_SUFFIX, + DOC_TYPE_LINE_SUFFIX_BOUNDARY, + DOC_TYPE_LINE, + DOC_TYPE_LABEL, + DOC_TYPE_BREAK_PARENT + ]); + + // src/document/utils/get-doc-type.js + function getDocType(doc) { + if (typeof doc === "string") { + return DOC_TYPE_STRING; + } + if (Array.isArray(doc)) { + return DOC_TYPE_ARRAY; + } + if (!doc) { + return; + } + const { type } = doc; + if (VALID_OBJECT_DOC_TYPES.has(type)) { + return type; + } } - /** - * @param {Doc} contents - * @returns Doc - */ + var get_doc_type_default = getDocType; - - function indent(contents) { - - return { - type: "indent", - contents - }; + // src/document/invalid-doc-error.js + var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); + function getDocErrorMessage(doc) { + const type = doc === null ? "null" : typeof doc; + if (type !== "string" && type !== "object") { + return `Unexpected doc '${type}', +Expected it to be 'string' or 'object'.`; + } + if (get_doc_type_default(doc)) { + throw new Error("doc is valid."); + } + const objectType = Object.prototype.toString.call(doc); + if (objectType !== "[object Object]") { + return `Unexpected doc '${objectType}'.`; + } + const EXPECTED_TYPE_VALUES = disjunctionListFormat( + [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + ); + return `Unexpected doc.type '${doc.type}'. +Expected it to be ${EXPECTED_TYPE_VALUES}.`; } - /** - * @param {number | string} n - * @param {Doc} contents - * @returns Doc - */ - - - function align(n, contents) { + var InvalidDocError = class extends Error { + name = "InvalidDocError"; + constructor(doc) { + super(getDocErrorMessage(doc)); + this.doc = doc; + } + }; + var invalid_doc_error_default = InvalidDocError; - return { - type: "align", - contents, - n - }; + // src/document/utils/traverse-doc.js + var traverseDocOnExitStackMarker = {}; + function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + while (docsStack.length > 0) { + const doc2 = docsStack.pop(); + if (doc2 === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + if (onExit) { + docsStack.push(doc2, traverseDocOnExitStackMarker); + } + const docType = get_doc_type_default(doc2); + if (!docType) { + throw new invalid_doc_error_default(doc2); + } + if ((onEnter == null ? void 0 : onEnter(doc2)) === false) { + continue; + } + switch (docType) { + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts; + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + break; + } + case DOC_TYPE_IF_BREAK: + docsStack.push(doc2.flatContents, doc2.breakContents); + break; + case DOC_TYPE_GROUP: + if (shouldTraverseConditionalGroups && doc2.expandedStates) { + for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc2.expandedStates[i]); + } + } else { + docsStack.push(doc2.contents); + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + docsStack.push(doc2.contents); + break; + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + } } - /** - * @param {Doc} contents - * @param {object} [opts] - TBD ??? - * @returns Doc - */ + var traverse_doc_default = traverseDoc; + // src/document/utils/assert-doc.js + var noop = () => { + }; + var assertDoc = true ? noop : function(doc) { + traverse_doc_default(doc, (doc2) => { + if (checked.has(doc2)) { + return false; + } + if (typeof doc2 !== "string") { + checked.add(doc2); + } + }); + }; + var assertDocArray = true ? noop : function(docs, optional = false) { + if (optional && !docs) { + return; + } + if (!Array.isArray(docs)) { + throw new TypeError("Unexpected doc array."); + } + for (const doc of docs) { + assertDoc(doc); + } + }; - function group(contents, opts) { - opts = opts || {}; - + // src/document/builders.js + function indent(contents) { + assertDoc(contents); + return { type: DOC_TYPE_INDENT, contents }; + } + function align(widthOrString, contents) { + assertDoc(contents); + return { type: DOC_TYPE_ALIGN, contents, n: widthOrString }; + } + function group(contents, opts = {}) { + assertDoc(contents); + assertDocArray( + opts.expandedStates, + /* optional */ + true + ); return { - type: "group", + type: DOC_TYPE_GROUP, id: opts.id, contents, - break: !!opts.shouldBreak, + break: Boolean(opts.shouldBreak), expandedStates: opts.expandedStates }; } - /** - * @param {Doc} contents - * @returns Doc - */ - - function dedentToRoot(contents) { - return align(-Infinity, contents); + return align(Number.NEGATIVE_INFINITY, contents); } - /** - * @param {Doc} contents - * @returns Doc - */ - - function markAsRoot(contents) { - // @ts-ignore - TBD ???: - return align({ - type: "root" - }, contents); + return align({ type: "root" }, contents); } - /** - * @param {Doc} contents - * @returns Doc - */ - - function dedent(contents) { return align(-1, contents); } - /** - * @param {Doc[]} states - * @param {object} [opts] - TBD ??? - * @returns Doc - */ - - function conditionalGroup(states, opts) { - return group(states[0], Object.assign({}, opts, { - expandedStates: states - })); + return group(states[0], { ...opts, expandedStates: states }); } - /** - * @param {Doc[]} parts - * @returns Doc - */ - - function fill(parts) { - - return { - type: "fill", - parts - }; + assertDocArray(parts); + return { type: DOC_TYPE_FILL, parts }; } - /** - * @param {Doc} [breakContents] - * @param {Doc} [flatContents] - * @param {object} [opts] - TBD ??? - * @returns Doc - */ - - - function ifBreak(breakContents, flatContents, opts) { - opts = opts || {}; - + function ifBreak(breakContents, flatContents = "", opts = {}) { + assertDoc(breakContents); + if (flatContents !== "") { + assertDoc(flatContents); + } return { - type: "if-break", + type: DOC_TYPE_IF_BREAK, breakContents, flatContents, groupId: opts.groupId }; } - /** - * @param {Doc} contents - * @returns Doc - */ - - - function lineSuffix(contents) { - + function indentIfBreak(contents, opts) { + assertDoc(contents); return { - type: "line-suffix", - contents + type: DOC_TYPE_INDENT_IF_BREAK, + contents, + groupId: opts.groupId, + negate: opts.negate }; } - - const lineSuffixBoundary = { - type: "line-suffix-boundary" - }; - const breakParent = { - type: "break-parent" - }; - const trim = { - type: "trim" - }; - const line = { - type: "line" - }; - const softline = { - type: "line", - soft: true - }; - const hardline = concat([{ - type: "line", - hard: true - }, breakParent]); - const literalline = concat([{ - type: "line", + function lineSuffix(contents) { + assertDoc(contents); + return { type: DOC_TYPE_LINE_SUFFIX, contents }; + } + var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY }; + var breakParent = { type: DOC_TYPE_BREAK_PARENT }; + var trim = { type: DOC_TYPE_TRIM }; + var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; + var literallineWithoutBreakParent = { + type: DOC_TYPE_LINE, hard: true, literal: true - }, breakParent]); - const cursor = { - type: "cursor", - placeholder: Symbol("cursor") }; - /** - * @param {Doc} sep - * @param {Doc[]} arr - * @returns Doc - */ - - function join(sep, arr) { - const res = []; - - for (let i = 0; i < arr.length; i++) { + var line = { type: DOC_TYPE_LINE }; + var softline = { type: DOC_TYPE_LINE, soft: true }; + var hardline = [hardlineWithoutBreakParent, breakParent]; + var literalline = [literallineWithoutBreakParent, breakParent]; + var cursor = { type: DOC_TYPE_CURSOR }; + function join(separator, docs) { + assertDoc(separator); + assertDocArray(docs); + const parts = []; + for (let i = 0; i < docs.length; i++) { if (i !== 0) { - res.push(sep); + parts.push(separator); } - - res.push(arr[i]); + parts.push(docs[i]); } - - return concat(res); + return parts; } - /** - * @param {Doc} doc - * @param {number} size - * @param {number} tabWidth - */ - - function addAlignmentToDoc(doc, size, tabWidth) { + assertDoc(doc); let aligned = doc; - if (size > 0) { - // Use indent to add tabs for all the levels of tabs we need for (let i = 0; i < Math.floor(size / tabWidth); ++i) { aligned = indent(aligned); - } // Use align for all the spaces that are needed - - - aligned = align(size % tabWidth, aligned); // size is absolute from 0 and not relative to the current - // indentation, so we use -Infinity to reset the indentation to 0 - - aligned = align(-Infinity, aligned); + } + aligned = align(size % tabWidth, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); } - return aligned; } + function label(label2, contents) { + assertDoc(contents); + return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents; + } - var docBuilders = { - concat, - join, - line, - softline, - hardline, - literalline, - group, - conditionalGroup, - fill, - lineSuffix, - lineSuffixBoundary, - cursor, - breakParent, - ifBreak, - trim, - indent, - align, - addAlignmentToDoc, - markAsRoot, - dedentToRoot, - dedent + // scripts/build/shims/at.js + var at = (isOptionalObject, object, index) => { + if (isOptionalObject && (object === void 0 || object === null)) { + return; + } + if (Array.isArray(object) || typeof object === "string") { + return object[index < 0 ? object.length + index : index]; + } + return object.at(index); }; + var at_default = at; - var ansiRegex = ({ - onlyFirst = false - } = {}) => { - const pattern = ['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); - return new RegExp(pattern, onlyFirst ? undefined : 'g'); + // scripts/build/shims/string-replace-all.js + var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); }; + var string_replace_all_default = stringReplaceAll; - var stripAnsi = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; - - /* eslint-disable yoda */ - - const isFullwidthCodePoint = codePoint => { - if (Number.isNaN(codePoint)) { - return false; - } // Code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - - - if (codePoint >= 0x1100 && (codePoint <= 0x115F || // Hangul Jamo - codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET - codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - 0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - 0x3250 <= codePoint && codePoint <= 0x4DBF || // CJK Unified Ideographs .. Yi Radicals - 0x4E00 <= codePoint && codePoint <= 0xA4C6 || // Hangul Jamo Extended-A - 0xA960 <= codePoint && codePoint <= 0xA97C || // Hangul Syllables - 0xAC00 <= codePoint && codePoint <= 0xD7A3 || // CJK Compatibility Ideographs - 0xF900 <= codePoint && codePoint <= 0xFAFF || // Vertical Forms - 0xFE10 <= codePoint && codePoint <= 0xFE19 || // CJK Compatibility Forms .. Small Form Variants - 0xFE30 <= codePoint && codePoint <= 0xFE6B || // Halfwidth and Fullwidth Forms - 0xFF01 <= codePoint && codePoint <= 0xFF60 || 0xFFE0 <= codePoint && codePoint <= 0xFFE6 || // Kana Supplement - 0x1B000 <= codePoint && codePoint <= 0x1B001 || // Enclosed Ideographic Supplement - 0x1F200 <= codePoint && codePoint <= 0x1F251 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - 0x20000 <= codePoint && codePoint <= 0x3FFFD)) { - return true; + // src/common/end-of-line.js + function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; } + } - return false; + // node_modules/emoji-regex/index.mjs + var emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; }; - var isFullwidthCodePoint_1 = isFullwidthCodePoint; - var _default = isFullwidthCodePoint; - isFullwidthCodePoint_1.default = _default; - - var emojiRegex = function () { - // https://mths.be/emoji - return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g; - }; + // node_modules/get-east-asian-width/lookup.js + function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; + } + function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; + } - const stringWidth = string => { - string = string.replace(emojiRegex(), ' '); + // node_modules/get-east-asian-width/index.js + var _isNarrowWidth = (codePoint) => !(isFullWidth(codePoint) || isWide(codePoint)); - if (typeof string !== 'string' || string.length === 0) { + // src/utils/get-string-width.js + var notAsciiRegex = /[^\x20-\x7F]/; + function getStringWidth(text) { + if (!text) { return 0; } - - string = stripAnsi(string); + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace(emoji_regex_default(), " "); let width = 0; - - for (let i = 0; i < string.length; i++) { - const code = string.codePointAt(i); // Ignore control characters - - if (code <= 0x1F || code >= 0x7F && code <= 0x9F) { + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { continue; - } // Ignore combining characters - - - if (code >= 0x300 && code <= 0x36F) { + } + if (codePoint >= 768 && codePoint <= 879) { continue; - } // Surrogates - - - if (code > 0xFFFF) { - i++; } - - width += isFullwidthCodePoint_1(code) ? 2 : 1; + width += _isNarrowWidth(codePoint) ? 1 : 2; } - return width; - }; - - var stringWidth_1 = stringWidth; // TODO: remove this in the next major version - - var _default$1 = stringWidth; - stringWidth_1.default = _default$1; - - var escapeStringRegexp = string => { - if (typeof string !== 'string') { - throw new TypeError('Expected a string'); - } // Escape characters with special meaning either inside or outside character sets. - // Use a simple backslash escape when it’s always valid, and a \unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar. - - - return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d'); - }; - - var getLast = arr => arr[arr.length - 1]; - - function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - - return target; } + var get_string_width_default = getStringWidth; - function _taggedTemplateLiteral(strings, raw) { - if (!raw) { - raw = strings.slice(0); + // src/document/utils.js + var getDocParts = (doc) => { + if (Array.isArray(doc)) { + return doc; } - - return Object.freeze(Object.defineProperties(strings, { - raw: { - value: Object.freeze(raw) - } - })); - } - - var global$1 = typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}; - - // based off https://github.com/defunctzombie/node-process/blob/master/browser.js - - function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); - } - - function defaultClearTimeout() { - throw new Error('clearTimeout has not been defined'); - } - - var cachedSetTimeout = defaultSetTimout; - var cachedClearTimeout = defaultClearTimeout; - - if (typeof global$1.setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } - - if (typeof global$1.clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } - - function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } // if setTimeout wasn't available but was latter defined - - - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); + if (doc.type !== DOC_TYPE_FILL) { + throw new Error(`Expect doc to be 'array' or '${DOC_TYPE_FILL}'.`); } - - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); + return doc.parts; + }; + function mapDoc(doc, cb) { + if (typeof doc === "string") { + return cb(doc); + } + const mapped = /* @__PURE__ */ new Map(); + return rec(doc); + function rec(doc2) { + if (mapped.has(doc2)) { + return mapped.get(doc2); + } + const result = process2(doc2); + mapped.set(doc2, result); + return result; + } + function process2(doc2) { + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_ARRAY: + return cb(doc2.map(rec)); + case DOC_TYPE_FILL: + return cb({ + ...doc2, + parts: doc2.parts.map(rec) + }); + case DOC_TYPE_IF_BREAK: + return cb({ + ...doc2, + breakContents: rec(doc2.breakContents), + flatContents: rec(doc2.flatContents) + }); + case DOC_TYPE_GROUP: { + let { + expandedStates, + contents + } = doc2; + if (expandedStates) { + expandedStates = expandedStates.map(rec); + contents = expandedStates[0]; + } else { + contents = rec(contents); + } + return cb({ + ...doc2, + contents, + expandedStates + }); + } + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + return cb({ + ...doc2, + contents: rec(doc2.contents) + }); + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + return cb(doc2); + default: + throw new invalid_doc_error_default(doc2); } } } - - function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } // if clearTimeout wasn't available but was latter defined - - - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); + function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let shouldSkipFurtherProcessing = false; + function findInDocOnEnterFn(doc2) { + if (shouldSkipFurtherProcessing) { + return false; + } + const maybeResult = fn(doc2); + if (maybeResult !== void 0) { + shouldSkipFurtherProcessing = true; + result = maybeResult; } } + traverse_doc_default(doc, findInDocOnEnterFn); + return result; } - - var queue = []; - var draining = false; - var currentQueue; - var queueIndex = -1; - - function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; + function willBreakFn(doc) { + if (doc.type === DOC_TYPE_GROUP && doc.break) { + return true; } - - draining = false; - - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; + if (doc.type === DOC_TYPE_LINE && doc.hard) { + return true; } - - if (queue.length) { - drainQueue(); + if (doc.type === DOC_TYPE_BREAK_PARENT) { + return true; } } - - function drainQueue() { - if (draining) { - return; - } - - var timeout = runTimeout(cleanUpNextTick); - draining = true; - var len = queue.length; - - while (len) { - currentQueue = queue; - queue = []; - - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } + function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); + } + function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = at_default( + /* isOptionalObject*/ + false, + groupStack, + -1 + ); + if (!parentGroup.expandedStates && !parentGroup.break) { + parentGroup.break = "propagated"; } - - queueIndex = -1; - len = queue.length; } - - currentQueue = null; - draining = false; - runClearTimeout(timeout); + return null; } - - function nextTick(fun) { - var args = new Array(arguments.length - 1); - - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; + function propagateBreaks(doc) { + const alreadyVisitedSet = /* @__PURE__ */ new Set(); + const groupStack = []; + function propagateBreaksOnEnterFn(doc2) { + if (doc2.type === DOC_TYPE_BREAK_PARENT) { + breakParentGroup(groupStack); + } + if (doc2.type === DOC_TYPE_GROUP) { + groupStack.push(doc2); + if (alreadyVisitedSet.has(doc2)) { + return false; + } + alreadyVisitedSet.add(doc2); } } - - queue.push(new Item(fun, args)); - - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); + function propagateBreaksOnExitFn(doc2) { + if (doc2.type === DOC_TYPE_GROUP) { + const group2 = groupStack.pop(); + if (group2.break) { + breakParentGroup(groupStack); + } + } } - } // v8 likes predictible objects - - function Item(fun, array) { - this.fun = fun; - this.array = array; + traverse_doc_default( + doc, + propagateBreaksOnEnterFn, + propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true + ); } - - Item.prototype.run = function () { - this.fun.apply(null, this.array); - }; - - var title = 'browser'; - var platform = 'browser'; - var browser = true; - var env = {}; - var argv = []; - var version = ''; // empty string to avoid regexp issues - - var versions = {}; - var release = {}; - var config = {}; - - function noop() {} - - var on = noop; - var addListener = noop; - var once = noop; - var off = noop; - var removeListener = noop; - var removeAllListeners = noop; - var emit = noop; - function binding(name) { - throw new Error('process.binding is not supported'); + function removeLinesFn(doc) { + if (doc.type === DOC_TYPE_LINE && !doc.hard) { + return doc.soft ? "" : " "; + } + if (doc.type === DOC_TYPE_IF_BREAK) { + return doc.flatContents; + } + return doc; } - function cwd() { - return '/'; + function removeLines(doc) { + return mapDoc(doc, removeLinesFn); } - function chdir(dir) { - throw new Error('process.chdir is not supported'); + function stripTrailingHardlineFromParts(parts) { + parts = [...parts]; + while (parts.length >= 2 && at_default( + /* isOptionalObject*/ + false, + parts, + -2 + ).type === DOC_TYPE_LINE && at_default( + /* isOptionalObject*/ + false, + parts, + -1 + ).type === DOC_TYPE_BREAK_PARENT) { + parts.length -= 2; + } + if (parts.length > 0) { + const lastPart = stripTrailingHardlineFromDoc(at_default( + /* isOptionalObject*/ + false, + parts, + -1 + )); + parts[parts.length - 1] = lastPart; + } + return parts; } - function umask() { - return 0; - } // from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js - - var performance = global$1.performance || {}; - - var performanceNow = performance.now || performance.mozNow || performance.msNow || performance.oNow || performance.webkitNow || function () { - return new Date().getTime(); - }; // generate timestamp or delta - // see http://nodejs.org/api/process.html#process_process_hrtime - - - function hrtime(previousTimestamp) { - var clocktime = performanceNow.call(performance) * 1e-3; - var seconds = Math.floor(clocktime); - var nanoseconds = Math.floor(clocktime % 1 * 1e9); - - if (previousTimestamp) { - seconds = seconds - previousTimestamp[0]; - nanoseconds = nanoseconds - previousTimestamp[1]; - - if (nanoseconds < 0) { - seconds--; - nanoseconds += 1e9; + function stripTrailingHardlineFromDoc(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_GROUP: + case DOC_TYPE_LINE_SUFFIX: + case DOC_TYPE_LABEL: { + const contents = stripTrailingHardlineFromDoc(doc.contents); + return { + ...doc, + contents + }; } + case DOC_TYPE_IF_BREAK: + return { + ...doc, + breakContents: stripTrailingHardlineFromDoc(doc.breakContents), + flatContents: stripTrailingHardlineFromDoc(doc.flatContents) + }; + case DOC_TYPE_FILL: + return { + ...doc, + parts: stripTrailingHardlineFromParts(doc.parts) + }; + case DOC_TYPE_ARRAY: + return stripTrailingHardlineFromParts(doc); + case DOC_TYPE_STRING: + return doc.replace(/[\n\r]*$/, ""); + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); } - - return [seconds, nanoseconds]; + return doc; } - var startTime = new Date(); - function uptime() { - var currentTime = new Date(); - var dif = currentTime - startTime; - return dif / 1000; + function stripTrailingHardline(doc) { + return stripTrailingHardlineFromDoc(cleanDoc(doc)); } - var process = { - nextTick: nextTick, - title: title, - browser: browser, - env: env, - argv: argv, - version: version, - versions: versions, - on: on, - addListener: addListener, - once: once, - off: off, - removeListener: removeListener, - removeAllListeners: removeAllListeners, - emit: emit, - binding: binding, - cwd: cwd, - chdir: chdir, - umask: umask, - hrtime: hrtime, - platform: platform, - release: release, - config: config, - uptime: uptime - }; - - const debug = typeof process === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error('SEMVER', ...args) : () => {}; - var debug_1 = debug; - - // Note: this is the semver.org version of the spec that it implements - // Not necessarily the package version of this code. - const SEMVER_SPEC_VERSION = '2.0.0'; - const MAX_LENGTH = 256; - const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || - /* istanbul ignore next */ - 9007199254740991; // Max safe segment length for coercion. - - const MAX_SAFE_COMPONENT_LENGTH = 16; - var constants = { - SEMVER_SPEC_VERSION, - MAX_LENGTH, - MAX_SAFE_INTEGER, - MAX_SAFE_COMPONENT_LENGTH - }; - - function createCommonjsModule(fn, basedir, module) { - return module = { - path: basedir, - exports: {}, - require: function (path, base) { - return commonjsRequire(path, (base === undefined || base === null) ? module.path : base); - } - }, fn(module, module.exports), module.exports; + function cleanDocFn(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_FILL: + if (doc.parts.every((part) => part === "")) { + return ""; + } + break; + case DOC_TYPE_GROUP: + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } + if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LINE_SUFFIX: + if (!doc.contents) { + return ""; + } + break; + case DOC_TYPE_IF_BREAK: + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + break; + case DOC_TYPE_ARRAY: { + const parts = []; + for (const part of doc) { + if (!part) { + continue; + } + const [currentPart, ...restParts] = Array.isArray(part) ? part : [part]; + if (typeof currentPart === "string" && typeof at_default( + /* isOptionalObject*/ + false, + parts, + -1 + ) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + parts.push(...restParts); + } + if (parts.length === 0) { + return ""; + } + if (parts.length === 1) { + return parts[0]; + } + return parts; + } + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_LABEL: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; } - - function commonjsRequire () { - throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs'); + function cleanDoc(doc) { + return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); } - - var re_1 = createCommonjsModule(function (module, exports) { - const { - MAX_SAFE_COMPONENT_LENGTH - } = constants; - exports = module.exports = {}; // The actual regexps go on exports.re - - const re = exports.re = []; - const src = exports.src = []; - const t = exports.t = {}; - let R = 0; - - const createToken = (name, value, isGlobal) => { - const index = R++; - debug_1(index, value); - t[name] = index; - src[index] = value; - re[index] = new RegExp(value, isGlobal ? 'g' : undefined); - }; // The following Regular Expressions can be used for tokenizing, - // validating, and parsing SemVer version strings. - // ## Numeric Identifier - // A single `0`, or a non-zero digit followed by zero or more digits. - - - createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*'); - createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier - // Zero or more digits, followed by a letter or hyphen, and then zero or - // more letters, digits, or hyphens. - - createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version - // Three dot-separated numeric identifiers. - - createToken('MAINVERSION', "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIER], ")")); - createToken('MAINVERSIONLOOSE', "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")\\.") + "(".concat(src[t.NUMERICIDENTIFIERLOOSE], ")")); // ## Pre-release Version Identifier - // A numeric identifier, or a non-numeric identifier. - - createToken('PRERELEASEIDENTIFIER', "(?:".concat(src[t.NUMERICIDENTIFIER], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); - createToken('PRERELEASEIDENTIFIERLOOSE', "(?:".concat(src[t.NUMERICIDENTIFIERLOOSE], "|").concat(src[t.NONNUMERICIDENTIFIER], ")")); // ## Pre-release Version - // Hyphen, followed by one or more dot-separated pre-release version - // identifiers. - - createToken('PRERELEASE', "(?:-(".concat(src[t.PRERELEASEIDENTIFIER], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIER], ")*))")); - createToken('PRERELEASELOOSE', "(?:-?(".concat(src[t.PRERELEASEIDENTIFIERLOOSE], "(?:\\.").concat(src[t.PRERELEASEIDENTIFIERLOOSE], ")*))")); // ## Build Metadata Identifier - // Any combination of digits, letters, or hyphens. - - createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata - // Plus sign, followed by one or more period-separated build metadata - // identifiers. - - createToken('BUILD', "(?:\\+(".concat(src[t.BUILDIDENTIFIER], "(?:\\.").concat(src[t.BUILDIDENTIFIER], ")*))")); // ## Full Version String - // A main version, followed optionally by a pre-release version and - // build metadata. - // Note that the only major, minor, patch, and pre-release sections of - // the version string are capturing groups. The build metadata is not a - // capturing group, because it should not ever be used in version - // comparison. - - createToken('FULLPLAIN', "v?".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], "?").concat(src[t.BUILD], "?")); - createToken('FULL', "^".concat(src[t.FULLPLAIN], "$")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. - // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty - // common in the npm registry. - - createToken('LOOSEPLAIN', "[v=\\s]*".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], "?").concat(src[t.BUILD], "?")); - createToken('LOOSE', "^".concat(src[t.LOOSEPLAIN], "$")); - createToken('GTLT', '((?:<|>)?=?)'); // Something like "2.*" or "1.2.x". - // Note that "x.x" is a valid xRange identifer, meaning "any version" - // Only the first item is strictly required. - - createToken('XRANGEIDENTIFIERLOOSE', "".concat(src[t.NUMERICIDENTIFIERLOOSE], "|x|X|\\*")); - createToken('XRANGEIDENTIFIER', "".concat(src[t.NUMERICIDENTIFIER], "|x|X|\\*")); - createToken('XRANGEPLAIN', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIER], ")") + "(?:".concat(src[t.PRERELEASE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGEPLAINLOOSE', "[v=\\s]*(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:\\.(".concat(src[t.XRANGEIDENTIFIERLOOSE], ")") + "(?:".concat(src[t.PRERELEASELOOSE], ")?").concat(src[t.BUILD], "?") + ")?)?"); - createToken('XRANGE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAIN], "$")); - createToken('XRANGELOOSE', "^".concat(src[t.GTLT], "\\s*").concat(src[t.XRANGEPLAINLOOSE], "$")); // Coercion. - // Extract anything that could conceivably be a part of a valid semver - - createToken('COERCE', "".concat('(^|[^\\d])' + '(\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, "})") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:\\.(\\d{1,".concat(MAX_SAFE_COMPONENT_LENGTH, "}))?") + "(?:$|[^\\d])"); - createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges. - // Meaning is "reasonably at or greater than" - - createToken('LONETILDE', '(?:~>?)'); - createToken('TILDETRIM', "(\\s*)".concat(src[t.LONETILDE], "\\s+"), true); - exports.tildeTrimReplace = '$1~'; - createToken('TILDE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], "$")); - createToken('TILDELOOSE', "^".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], "$")); // Caret ranges. - // Meaning is "at least and backwards compatible with" - - createToken('LONECARET', '(?:\\^)'); - createToken('CARETTRIM', "(\\s*)".concat(src[t.LONECARET], "\\s+"), true); - exports.caretTrimReplace = '$1^'; - createToken('CARET', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], "$")); - createToken('CARETLOOSE', "^".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], "$")); // A simple gt/lt/eq thing, or just "" to indicate "any version" - - createToken('COMPARATORLOOSE', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], ")$|^$")); - createToken('COMPARATOR', "^".concat(src[t.GTLT], "\\s*(").concat(src[t.FULLPLAIN], ")$|^$")); // An expression to strip any whitespace between the gtlt and the thing - // it modifies, so that `> 1.2.3` ==> `>1.2.3` - - createToken('COMPARATORTRIM', "(\\s*)".concat(src[t.GTLT], "\\s*(").concat(src[t.LOOSEPLAIN], "|").concat(src[t.XRANGEPLAIN], ")"), true); - exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` - // Note that these all use the loose form, because they'll be - // checked against either the strict or loose comparator form - // later. - - createToken('HYPHENRANGE', "^\\s*(".concat(src[t.XRANGEPLAIN], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAIN], ")") + "\\s*$"); - createToken('HYPHENRANGELOOSE', "^\\s*(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s+-\\s+" + "(".concat(src[t.XRANGEPLAINLOOSE], ")") + "\\s*$"); // Star ranges basically just allow anything at all. - - createToken('STAR', '(<|>)?=?\\s*\\*'); // >=0.0.0 is like a star - - createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$'); - createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$'); - }); - - const numeric = /^[0-9]+$/; - - const compareIdentifiers = (a, b) => { - const anum = numeric.test(a); - const bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; + function replaceEndOfLine(doc, replacement = literalline) { + return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc); + } + function canBreakFn(doc) { + if (doc.type === DOC_TYPE_LINE) { + return true; } + } + function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); + } - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; - }; - - const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a); - - var identifiers = { - compareIdentifiers, - rcompareIdentifiers - }; - - const { - MAX_LENGTH: MAX_LENGTH$1, - MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$1 - } = constants; - const { - re, - t - } = re_1; - const { - compareIdentifiers: compareIdentifiers$1 - } = identifiers; - - class SemVer { - constructor(version, options) { - if (!options || typeof options !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - if (version instanceof SemVer) { - if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== 'string') { - throw new TypeError("Invalid Version: ".concat(version)); - } - - if (version.length > MAX_LENGTH$1) { - throw new TypeError("version is longer than ".concat(MAX_LENGTH$1, " characters")); - } - - debug_1('SemVer', version, options); - this.options = options; - this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we - // don't run into trouble passing this.options around. - - this.includePrerelease = !!options.includePrerelease; - const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - - if (!m) { - throw new TypeError("Invalid Version: ".concat(version)); - } - - this.raw = version; // these are actually numbers - - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER$1 || this.major < 0) { - throw new TypeError('Invalid major version'); - } - - if (this.minor > MAX_SAFE_INTEGER$1 || this.minor < 0) { - throw new TypeError('Invalid minor version'); - } - - if (this.patch > MAX_SAFE_INTEGER$1 || this.patch < 0) { - throw new TypeError('Invalid patch version'); - } // numberify any prerelease numeric ids - - - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split('.').map(id => { - if (/^[0-9]+$/.test(id)) { - const num = +id; - - if (num >= 0 && num < MAX_SAFE_INTEGER$1) { - return num; - } + // src/document/printer.js + var MODE_BREAK = Symbol("MODE_BREAK"); + var MODE_FLAT = Symbol("MODE_FLAT"); + var CURSOR_PLACEHOLDER = Symbol("cursor"); + function rootIndent() { + return { + value: "", + length: 0, + queue: [] + }; + } + function makeIndent(ind, options) { + return generateInd(ind, { + type: "indent" + }, options); + } + function makeAlign(indent2, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent2.root || rootIndent(); + } + if (widthOrDoc < 0) { + return generateInd(indent2, { + type: "dedent" + }, options); + } + if (!widthOrDoc) { + return indent2; + } + if (widthOrDoc.type === "root") { + return { + ...indent2, + root: indent2 + }; + } + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent2, { + type: alignType, + n: widthOrDoc + }, options); + } + function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); } - - return id; - }); + break; + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + default: + throw new Error(`Unexpected type '${part.type}'`); } - - this.build = m[5] ? m[5].split('.') : []; - this.format(); } - - format() { - this.version = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch); - - if (this.prerelease.length) { - this.version += "-".concat(this.prerelease.join('.')); - } - - return this.version; + flushSpaces(); + return { + ...ind, + value, + length, + queue + }; + function addTabs(count) { + value += " ".repeat(count); + length += options.tabWidth * count; } - - toString() { - return this.version; + function addSpaces(count) { + value += " ".repeat(count); + length += count; } - - compare(other) { - debug_1('SemVer.compare', this.version, this.options, other); - - if (!(other instanceof SemVer)) { - if (typeof other === 'string' && other === this.version) { - return 0; - } - - other = new SemVer(other, this.options); - } - - if (other.version === this.version) { - return 0; + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); } - - return this.compareMain(other) || this.comparePre(other); } - - compareMain(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); } - - return compareIdentifiers$1(this.major, other.major) || compareIdentifiers$1(this.minor, other.minor) || compareIdentifiers$1(this.patch, other.patch); + resetLast(); } - - comparePre(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } // NOT having a prerelease is > having one - - - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); } - - let i = 0; - - do { - const a = this.prerelease[i]; - const b = other.prerelease[i]; - debug_1('prerelease compare', i, a, b); - - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { + resetLast(); + } + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } + } + function trim2(out) { + let trimCount = 0; + let cursorCount = 0; + let outIndex = out.length; + outer: + while (outIndex--) { + const last = out[outIndex]; + if (last === CURSOR_PLACEHOLDER) { + cursorCount++; continue; - } else { - return compareIdentifiers$1(a, b); } - } while (++i); - } - - compareBuild(other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); + if (false) { + throw new Error(`Unexpected value in trim: '${typeof last}'`); + } + for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) { + const char = last[charIndex]; + if (char === " " || char === " ") { + trimCount++; + } else { + out[outIndex] = last.slice(0, charIndex + 1); + break outer; + } + } } - - let i = 0; - - do { - const a = this.build[i]; - const b = other.build[i]; - debug_1('prerelease compare', i, a, b); - - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers$1(a, b); + if (trimCount > 0 || cursorCount > 0) { + out.length = outIndex + 1; + while (cursorCount-- > 0) { + out.push(CURSOR_PLACEHOLDER); + } + } + return trimCount; + } + function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) { + if (width === Number.POSITIVE_INFINITY) { + return true; + } + let restIdx = restCommands.length; + const cmds = [next]; + const out = []; + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; } - } while (++i); - } // preminor will bump the version up to the next minor release, and immediately - // down to pre-release. premajor and prepatch work the same way. - - - inc(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); + cmds.push(restCommands[--restIdx]); + continue; + } + const { + mode, + doc + } = cmds.pop(); + switch (get_doc_type_default(doc)) { + case DOC_TYPE_STRING: + out.push(doc); + width -= get_string_width_default(doc); break; - - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = getDocParts(doc); + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push({ + mode, + doc: parts[i] + }); + } break; - - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); + } + case DOC_TYPE_INDENT: + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + cmds.push({ + mode, + doc: doc.contents + }); break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - - case 'prerelease': - if (this.prerelease.length === 0) { - this.inc('patch', identifier); + case DOC_TYPE_TRIM: + width += trim2(out); + break; + case DOC_TYPE_GROUP: { + if (mustBeFlat && doc.break) { + return false; } - - this.inc('pre', identifier); + const groupMode = doc.break ? MODE_BREAK : mode; + const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default( + /* isOptionalObject*/ + false, + doc.expandedStates, + -1 + ) : doc.contents; + cmds.push({ + mode: groupMode, + doc: contents + }); break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; + } + case DOC_TYPE_IF_BREAK: { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; + const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; + if (contents) { + cmds.push({ + mode, + doc: contents + }); } - - this.minor = 0; - this.patch = 0; - this.prerelease = []; break; - - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - - this.patch = 0; - this.prerelease = []; - break; - - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) { - this.patch++; - } - - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. - - case 'pre': - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - let i = this.prerelease.length; - - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - - if (i === -1) { - // didn't increment anything - this.prerelease.push(0); - } - } - - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - - break; - - default: - throw new Error("invalid increment argument: ".concat(release)); - } - - this.format(); - this.raw = this.version; - return this; - } - - } - - var semver = SemVer; - - const compare = (a, b, loose) => new semver(a, loose).compare(new semver(b, loose)); - - var compare_1 = compare; - - const lt = (a, b, loose) => compare_1(a, b, loose) < 0; - - var lt_1 = lt; - - const gte = (a, b, loose) => compare_1(a, b, loose) >= 0; - - var gte_1 = gte; - - var arrayify = (object, keyName) => Object.entries(object).map(([key, value]) => Object.assign({ - [keyName]: key - }, value)); - - var name = "prettier"; - var version$1 = "2.2.1"; - var description = "Prettier is an opinionated code formatter"; - var bin = "./bin/prettier.js"; - var repository = "prettier/prettier"; - var homepage = "https://prettier.io"; - var author = "James Long"; - var license = "MIT"; - var main = "./index.js"; - var browser$1 = "./standalone.js"; - var unpkg = "./standalone.js"; - var engines = { - node: ">=10.13.0" - }; - var files = [ - "index.js", - "standalone.js", - "src", - "bin" - ]; - var dependencies = { - "@angular/compiler": "10.2.3", - "@babel/code-frame": "7.10.4", - "@babel/parser": "7.12.5", - "@glimmer/syntax": "0.66.0", - "@iarna/toml": "2.2.5", - "@typescript-eslint/typescript-estree": "4.8.1", - "angular-estree-parser": "2.2.1", - "angular-html-parser": "1.7.1", - camelcase: "6.2.0", - chalk: "4.1.0", - "ci-info": "watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540", - "cjk-regex": "2.0.0", - cosmiconfig: "7.0.0", - dashify: "2.0.0", - diff: "5.0.0", - editorconfig: "0.15.3", - "editorconfig-to-prettier": "0.2.0", - "escape-string-regexp": "4.0.0", - espree: "7.3.0", - esutils: "2.0.3", - "fast-glob": "3.2.4", - "fast-json-stable-stringify": "2.1.0", - "find-parent-dir": "0.3.0", - "flow-parser": "0.138.0", - "get-stdin": "8.0.0", - globby: "11.0.1", - graphql: "15.4.0", - "html-element-attributes": "2.3.0", - "html-styles": "1.0.0", - "html-tag-names": "1.1.5", - "html-void-elements": "1.0.5", - ignore: "4.0.6", - "jest-docblock": "26.0.0", - json5: "2.1.3", - leven: "3.1.0", - "lines-and-columns": "1.1.6", - "linguist-languages": "7.12.1", - lodash: "4.17.20", - mem: "8.0.0", - meriyah: "3.1.6", - minimatch: "3.0.4", - minimist: "1.2.5", - "n-readlines": "1.0.1", - outdent: "0.7.1", - "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", - "please-upgrade-node": "3.2.0", - "postcss-less": "3.1.4", - "postcss-media-query-parser": "0.2.3", - "postcss-scss": "2.1.1", - "postcss-selector-parser": "2.2.3", - "postcss-values-parser": "2.0.1", - "regexp-util": "1.2.2", - "remark-footnotes": "2.0.0", - "remark-math": "3.0.1", - "remark-parse": "8.0.3", - resolve: "1.19.0", - semver: "7.3.2", - "string-width": "4.2.0", - typescript: "4.1.2", - "unicode-regex": "3.0.0", - unified: "9.2.0", - vnopts: "1.0.2", - "yaml-unist-parser": "1.3.1" - }; - var devDependencies = { - "@babel/core": "7.12.3", - "@babel/preset-env": "7.12.1", - "@babel/types": "7.12.6", - "@glimmer/reference": "0.66.0", - "@rollup/plugin-alias": "3.1.1", - "@rollup/plugin-babel": "5.2.1", - "@rollup/plugin-commonjs": "16.0.0", - "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "10.0.0", - "@rollup/plugin-replace": "2.3.4", - "@types/estree": "0.0.45", - "@types/node": "14.14.0", - "@typescript-eslint/types": "4.8.1", - "babel-jest": "26.6.3", - "babel-loader": "8.2.1", - benchmark: "2.1.4", - "builtin-modules": "3.1.0", - "cross-env": "7.0.2", - cspell: "4.2.2", - eslint: "7.13.0", - "eslint-config-prettier": "6.15.0", - "eslint-formatter-friendly": "7.0.0", - "eslint-plugin-import": "2.22.1", - "eslint-plugin-jest": "24.1.3", - "eslint-plugin-prettier-internal-rules": "file:scripts/tools/eslint-plugin-prettier-internal-rules", - "eslint-plugin-react": "7.21.5", - "eslint-plugin-unicorn": "23.0.0", - execa: "4.1.0", - jest: "26.6.3", - "jest-snapshot-serializer-ansi": "1.0.0", - "jest-snapshot-serializer-raw": "1.1.0", - "jest-watch-typeahead": "0.6.1", - "npm-run-all": "4.1.5", - "path-browserify": "1.0.1", - prettier: "2.2.0", - rimraf: "3.0.2", - rollup: "2.33.3", - "rollup-plugin-node-globals": "1.4.0", - "rollup-plugin-terser": "7.0.2", - shelljs: "0.8.4", - "snapshot-diff": "0.8.1", - "strip-ansi": "6.0.0", - "synchronous-promise": "2.0.15", - tempy: "1.0.0", - "terser-webpack-plugin": "5.0.3", - webpack: "5.5.1" - }; - var scripts = { - prepublishOnly: "echo \"Error: must publish from dist/\" && exit 1", - "prepare-release": "yarn && yarn build && yarn test:dist", - test: "jest", - "test:dev-package": "cross-env INSTALL_PACKAGE=1 jest", - "test:dist": "cross-env NODE_ENV=production jest", - "test:dist-standalone": "cross-env NODE_ENV=production TEST_STANDALONE=1 jest", - "test:integration": "jest tests_integration", - "perf:repeat": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:repeat-inspect": "yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - "perf:benchmark": "yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null", - lint: "run-p lint:*", - "lint:typecheck": "tsc", - "lint:eslint": "cross-env EFF_NO_LINK_RULES=true eslint . --format friendly", - "lint:changelog": "node ./scripts/lint-changelog.js", - "lint:prettier": "prettier . \"!test*\" --check", - "lint:dist": "eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2018 \"dist/!(bin-prettier|index|third-party).js\"", - "lint:spellcheck": "cspell \"**/*\" \".github/**/*\"", - "lint:deps": "node ./scripts/check-deps.js", - fix: "run-s fix:eslint fix:prettier", - "fix:eslint": "yarn lint:eslint --fix", - "fix:prettier": "yarn lint:prettier --write", - build: "node --max-old-space-size=3072 ./scripts/build/build.js", - "build-docs": "node ./scripts/build-docs.js" - }; - var require$$3 = { - name: name, - version: version$1, - description: description, - bin: bin, - repository: repository, - homepage: homepage, - author: author, - license: license, - main: main, - browser: browser$1, - unpkg: unpkg, - engines: engines, - files: files, - dependencies: dependencies, - devDependencies: devDependencies, - scripts: scripts - }; - - var lib = createCommonjsModule(function (module, exports) { - - Object.defineProperty(exports, "__esModule", { - value: true - }); // In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either. - - function noop() { - var args = []; - - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - } - - function createWeakMap() { - if (typeof WeakMap !== 'undefined') { - return new WeakMap(); - } else { - return fakeSetOrMap(); - } - } - /** - * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything. - */ - - - function fakeSetOrMap() { - return { - add: noop, - delete: noop, - get: noop, - set: noop, - has: function (k) { - return false; - } - }; - } // Safe hasOwnProperty - - - var hop = Object.prototype.hasOwnProperty; - - var has = function (obj, prop) { - return hop.call(obj, prop); - }; // Copy all own enumerable properties from source to target - - - function extend(target, source) { - for (var prop in source) { - if (has(source, prop)) { - target[prop] = source[prop]; - } - } - - return target; - } - - var reLeadingNewline = /^[ \t]*(?:\r\n|\r|\n)/; - var reTrailingNewline = /(?:\r\n|\r|\n)[ \t]*$/; - var reStartsWithNewlineOrIsEmpty = /^(?:[\r\n]|$)/; - var reDetectIndentation = /(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/; - var reOnlyWhitespaceWithAtLeastOneNewline = /^[ \t]*[\r\n][ \t\r\n]*$/; - - function _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) { - // If first interpolated value is a reference to outdent, - // determine indentation level from the indentation of the interpolated value. - var indentationLevel = 0; - var match = strings[0].match(reDetectIndentation); - - if (match) { - indentationLevel = match[1].length; - } - - var reSource = "(\\r\\n|\\r|\\n).{0," + indentationLevel + "}"; - var reMatchIndent = new RegExp(reSource, 'g'); - - if (firstInterpolatedValueSetsIndentationLevel) { - strings = strings.slice(1); - } - - var newline = options.newline, - trimLeadingNewline = options.trimLeadingNewline, - trimTrailingNewline = options.trimTrailingNewline; - var normalizeNewlines = typeof newline === 'string'; - var l = strings.length; - var outdentedStrings = strings.map(function (v, i) { - // Remove leading indentation from all lines - v = v.replace(reMatchIndent, '$1'); // Trim a leading newline from the first string - - if (i === 0 && trimLeadingNewline) { - v = v.replace(reLeadingNewline, ''); - } // Trim a trailing newline from the last string - - - if (i === l - 1 && trimTrailingNewline) { - v = v.replace(reTrailingNewline, ''); - } // Normalize newlines - - - if (normalizeNewlines) { - v = v.replace(/\r\n|\n|\r/g, function (_) { - return newline; - }); - } - - return v; - }); - return outdentedStrings; - } - - function concatStringsAndValues(strings, values) { - var ret = ''; - - for (var i = 0, l = strings.length; i < l; i++) { - ret += strings[i]; - - if (i < l - 1) { - ret += values[i]; - } - } - - return ret; - } - - function isTemplateStringsArray(v) { - return has(v, 'raw') && has(v, 'length'); - } - /** - * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to - * makeInstance - * @param options - * @return {outdent} - */ - - - function createInstance(options) { - /** Cache of pre-processed template literal arrays */ - var arrayAutoIndentCache = createWeakMap(); - /** - * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent, - * before interpolated values are injected. - */ - - var arrayFirstInterpSetsIndentCache = createWeakMap(); - - function outdent(stringsOrOptions) { - var values = []; - - for (var _i = 1; _i < arguments.length; _i++) { - values[_i - 1] = arguments[_i]; - } - /* tslint:enable:no-shadowed-variable */ - - - if (isTemplateStringsArray(stringsOrOptions)) { - var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace? - - var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation - - var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache; - var renderedArray = cache.get(strings); - - if (!renderedArray) { - renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options); - cache.set(strings, renderedArray); - } - /** If no interpolated values, skip concatenation step */ - - - if (values.length === 0) { - return renderedArray[0]; - } - /** Concatenate string literals with interpolated values */ - - - var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values); - return rendered; - } else { - // Create and return a new instance of outdent with the given options - return createInstance(extend(extend({}, options), stringsOrOptions || {})); - } - } - - var fullOutdent = extend(outdent, { - string: function (str) { - return _outdentArray([str], false, options)[0]; - } - }); - return fullOutdent; - } - - var defaultOutdent = createInstance({ - trimLeadingNewline: true, - trimTrailingNewline: true - }); - exports.outdent = defaultOutdent; // Named exports. Simple and preferred. - // import outdent from 'outdent'; - - exports.default = defaultOutdent; - - { - // In webpack harmony-modules environments, module.exports is read-only, - // so we fail gracefully. - try { - module.exports = defaultOutdent; - Object.defineProperty(defaultOutdent, '__esModule', { - value: true - }); - defaultOutdent.default = defaultOutdent; - defaultOutdent.outdent = defaultOutdent; - } catch (e) {} - } - }); - - function _templateObject6() { - const data = _taggedTemplateLiteral(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]); - - _templateObject6 = function () { - return data; - }; - - return data; - } - - function _templateObject5() { - const data = _taggedTemplateLiteral(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]); - - _templateObject5 = function () { - return data; - }; - - return data; - } - - function _templateObject4() { - const data = _taggedTemplateLiteral(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]); - - _templateObject4 = function () { - return data; - }; - - return data; - } - - function _templateObject3() { - const data = _taggedTemplateLiteral(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]); - - _templateObject3 = function () { - return data; - }; - - return data; - } - - function _templateObject2() { - const data = _taggedTemplateLiteral(["\n Maintain existing\n (mixed values within one file are normalised by looking at what's used after the first line)\n "]); - - _templateObject2 = function () { - return data; - }; - - return data; - } - - function _templateObject() { - const data = _taggedTemplateLiteral(["\n Print (to stderr) where a cursor at the given position would move to after formatting.\n This option cannot be used with --range-start and --range-end.\n "]); - - _templateObject = function () { - return data; - }; - - return data; - } - - const { - outdent - } = lib; - const CATEGORY_CONFIG = "Config"; - const CATEGORY_EDITOR = "Editor"; - const CATEGORY_FORMAT = "Format"; - const CATEGORY_OTHER = "Other"; - const CATEGORY_OUTPUT = "Output"; - const CATEGORY_GLOBAL = "Global"; - const CATEGORY_SPECIAL = "Special"; - /** - * @typedef {Object} OptionInfo - * @property {string} [since] - available since version - * @property {string} category - * @property {'int' | 'boolean' | 'choice' | 'path'} type - * @property {boolean} [array] - indicate it's an array of the specified type - * @property {OptionValueInfo} [default] - * @property {OptionRangeInfo} [range] - for type int - * @property {string} description - * @property {string} [deprecated] - deprecated since version - * @property {OptionRedirectInfo} [redirect] - redirect deprecated option - * @property {(value: any) => boolean} [exception] - * @property {OptionChoiceInfo[]} [choices] - for type choice - * @property {string} [cliName] - * @property {string} [cliCategory] - * @property {string} [cliDescription] - * - * @typedef {number | boolean | string} OptionValue - * @typedef {OptionValue | [{ value: OptionValue[] }] | Array<{ since: string, value: OptionValue}>} OptionValueInfo - * - * @typedef {Object} OptionRedirectInfo - * @property {string} option - * @property {OptionValue} value - * - * @typedef {Object} OptionRangeInfo - * @property {number} start - recommended range start - * @property {number} end - recommended range end - * @property {number} step - recommended range step - * - * @typedef {Object} OptionChoiceInfo - * @property {boolean | string} value - boolean for the option that is originally boolean type - * @property {string} description - * @property {string} [since] - undefined if available since the first version of the option - * @property {string} [deprecated] - deprecated since version - * @property {OptionValueInfo} [redirect] - redirect deprecated value - */ - - /** @type {{ [name: string]: OptionInfo }} */ - - const options = { - cursorOffset: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: -1, - range: { - start: -1, - end: Infinity, - step: 1 - }, - description: outdent(_templateObject()), - cliCategory: CATEGORY_EDITOR - }, - endOfLine: { - since: "1.15.0", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "1.15.0", - value: "auto" - }, { - since: "2.0.0", - value: "lf" - }], - description: "Which end of line characters to apply.", - choices: [{ - value: "lf", - description: "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" - }, { - value: "crlf", - description: "Carriage Return + Line Feed characters (\\r\\n), common on Windows" - }, { - value: "cr", - description: "Carriage Return character only (\\r), used very rarely" - }, { - value: "auto", - description: outdent(_templateObject2()) - }] - }, - filepath: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "path", - description: "Specify the input filepath. This will be used to do parser inference.", - cliName: "stdin-filepath", - cliCategory: CATEGORY_OTHER, - cliDescription: "Path to the file to pretend that stdin comes from." - }, - insertPragma: { - since: "1.8.0", - category: CATEGORY_SPECIAL, - type: "boolean", - default: false, - description: "Insert @format pragma into file's first docblock comment.", - cliCategory: CATEGORY_OTHER - }, - parser: { - since: "0.0.10", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "0.0.10", - value: "babylon" - }, { - since: "1.13.0", - value: undefined - }], - description: "Which parser to use.", - exception: value => typeof value === "string" || typeof value === "function", - choices: [{ - value: "flow", - description: "Flow" - }, { - value: "babel", - since: "1.16.0", - description: "JavaScript" - }, { - value: "babel-flow", - since: "1.16.0", - description: "Flow" - }, { - value: "babel-ts", - since: "2.0.0", - description: "TypeScript" - }, { - value: "typescript", - since: "1.4.0", - description: "TypeScript" - }, { - value: "espree", - since: "2.2.0", - description: "JavaScript" - }, { - value: "meriyah", - since: "2.2.0", - description: "JavaScript" - }, { - value: "css", - since: "1.7.1", - description: "CSS" - }, { - value: "less", - since: "1.7.1", - description: "Less" - }, { - value: "scss", - since: "1.7.1", - description: "SCSS" - }, { - value: "json", - since: "1.5.0", - description: "JSON" - }, { - value: "json5", - since: "1.13.0", - description: "JSON5" - }, { - value: "json-stringify", - since: "1.13.0", - description: "JSON.stringify" - }, { - value: "graphql", - since: "1.5.0", - description: "GraphQL" - }, { - value: "markdown", - since: "1.8.0", - description: "Markdown" - }, { - value: "mdx", - since: "1.15.0", - description: "MDX" - }, { - value: "vue", - since: "1.10.0", - description: "Vue" - }, { - value: "yaml", - since: "1.14.0", - description: "YAML" - }, { - value: "glimmer", - since: null, - description: "Handlebars" - }, { - value: "html", - since: "1.15.0", - description: "HTML" - }, { - value: "angular", - since: "1.15.0", - description: "Angular" - }, { - value: "lwc", - since: "1.17.0", - description: "Lightning Web Components" - }] - }, - plugins: { - since: "1.10.0", - type: "path", - array: true, - default: [{ - value: [] - }], - category: CATEGORY_GLOBAL, - description: "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", - exception: value => typeof value === "string" || typeof value === "object", - cliName: "plugin", - cliCategory: CATEGORY_CONFIG - }, - pluginSearchDirs: { - since: "1.13.0", - type: "path", - array: true, - default: [{ - value: [] - }], - category: CATEGORY_GLOBAL, - description: outdent(_templateObject3()), - exception: value => typeof value === "string" || typeof value === "object", - cliName: "plugin-search-dir", - cliCategory: CATEGORY_CONFIG - }, - printWidth: { - since: "0.0.0", - category: CATEGORY_GLOBAL, - type: "int", - default: 80, - description: "The line length where Prettier will try wrap.", - range: { - start: 0, - end: Infinity, - step: 1 - } - }, - rangeEnd: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: Infinity, - range: { - start: 0, - end: Infinity, - step: 1 - }, - description: outdent(_templateObject4()), - cliCategory: CATEGORY_EDITOR - }, - rangeStart: { - since: "1.4.0", - category: CATEGORY_SPECIAL, - type: "int", - default: 0, - range: { - start: 0, - end: Infinity, - step: 1 - }, - description: outdent(_templateObject5()), - cliCategory: CATEGORY_EDITOR - }, - requirePragma: { - since: "1.7.0", - category: CATEGORY_SPECIAL, - type: "boolean", - default: false, - description: outdent(_templateObject6()), - cliCategory: CATEGORY_OTHER - }, - tabWidth: { - type: "int", - category: CATEGORY_GLOBAL, - default: 2, - description: "Number of spaces per indentation level.", - range: { - start: 0, - end: Infinity, - step: 1 - } - }, - useTabs: { - since: "1.0.0", - category: CATEGORY_GLOBAL, - type: "boolean", - default: false, - description: "Indent with tabs instead of spaces." - }, - embeddedLanguageFormatting: { - since: "2.1.0", - category: CATEGORY_GLOBAL, - type: "choice", - default: [{ - since: "2.1.0", - value: "auto" - }], - description: "Control how Prettier formats quoted code embedded in the file.", - choices: [{ - value: "auto", - description: "Format embedded code if Prettier can automatically identify it." - }, { - value: "off", - description: "Never automatically format embedded code." - }] - } - }; - var coreOptions = { - CATEGORY_CONFIG, - CATEGORY_EDITOR, - CATEGORY_FORMAT, - CATEGORY_OTHER, - CATEGORY_OUTPUT, - CATEGORY_GLOBAL, - CATEGORY_SPECIAL, - options - }; - - const semver$1 = { - compare: compare_1, - lt: lt_1, - gte: gte_1 - }; - const currentVersion = require$$3.version; - const coreOptions$1 = coreOptions.options; - /** - * Strings in `plugins` and `pluginSearchDirs` are handled by a wrapped version - * of this function created by `withPlugins`. Don't pass them here directly. - * @param {object} param0 - * @param {(string | object)[]=} param0.plugins Strings are resolved by `withPlugins`. - * @param {string[]=} param0.pluginSearchDirs Added by `withPlugins`. - * @param {boolean=} param0.showUnreleased - * @param {boolean=} param0.showDeprecated - * @param {boolean=} param0.showInternal - */ - - function getSupportInfo({ - plugins = [], - showUnreleased = false, - showDeprecated = false, - showInternal = false - } = {}) { - // pre-release version is smaller than the normal version in semver, - // we need to treat it as the normal one so as to test new features. - const version = currentVersion.split("-", 1)[0]; - const languages = plugins.reduce((all, plugin) => all.concat(plugin.languages || []), []).filter(filterSince); - const options = arrayify(Object.assign({}, ...plugins.map(({ - options - }) => options), coreOptions$1), "name").filter(option => filterSince(option) && filterDeprecated(option)).sort((a, b) => a.name === b.name ? 0 : a.name < b.name ? -1 : 1).map(mapInternal).map(option => { - option = Object.assign({}, option); - - if (Array.isArray(option.default)) { - option.default = option.default.length === 1 ? option.default[0].value : option.default.filter(filterSince).sort((info1, info2) => semver$1.compare(info2.since, info1.since))[0].value; - } - - if (Array.isArray(option.choices)) { - option.choices = option.choices.filter(option => filterSince(option) && filterDeprecated(option)); - - if (option.name === "parser") { - collectParsersFromLanguages(option, languages, plugins); - } - } - - const pluginDefaults = plugins.filter(plugin => plugin.defaultOptions && plugin.defaultOptions[option.name] !== undefined).reduce((reduced, plugin) => { - reduced[plugin.name] = plugin.defaultOptions[option.name]; - return reduced; - }, {}); - return Object.assign({}, option, { - pluginDefaults - }); - }); - return { - languages, - options - }; - - function filterSince(object) { - return showUnreleased || !("since" in object) || object.since && semver$1.gte(version, object.since); - } - - function filterDeprecated(object) { - return showDeprecated || !("deprecated" in object) || object.deprecated && semver$1.lt(version, object.deprecated); - } - - function mapInternal(object) { - if (showInternal) { - return object; - } - - const newObject = _objectWithoutPropertiesLoose(object, ["cliName", "cliCategory", "cliDescription"]); - - return newObject; - } - } - - function collectParsersFromLanguages(option, languages, plugins) { - const existingValues = new Set(option.choices.map(choice => choice.value)); - - for (const language of languages) { - if (language.parsers) { - for (const value of language.parsers) { - if (!existingValues.has(value)) { - existingValues.add(value); - const plugin = plugins.find(plugin => plugin.parsers && plugin.parsers[value]); - let description = language.name; - - if (plugin && plugin.name) { - description += " (plugin: ".concat(plugin.name, ")"); - } - - option.choices.push({ - value, - description - }); - } - } - } - } - } - - var support = { - getSupportInfo - }; - - const { - getSupportInfo: getSupportInfo$1 - } = support; - const notAsciiRegex = /[^\x20-\x7F]/; - - const getPenultimate = arr => arr[arr.length - 2]; - /** - * @typedef {{backwards?: boolean}} SkipOptions - */ - - /** - * @param {string | RegExp} chars - * @returns {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ - - - function skip(chars) { - return (text, index, opts) => { - const backwards = opts && opts.backwards; // Allow `skip` functions to be threaded together without having - // to check for failures (did someone say monads?). - - /* istanbul ignore next */ - - if (index === false) { - return false; - } - - const { - length - } = text; - let cursor = index; - - while (cursor >= 0 && cursor < length) { - const c = text.charAt(cursor); - - if (chars instanceof RegExp) { - if (!chars.test(c)) { - return cursor; - } - } else if (!chars.includes(c)) { - return cursor; - } - - backwards ? cursor-- : cursor++; - } - - if (cursor === -1 || cursor === length) { - // If we reached the beginning or end of the file, return the - // out-of-bounds cursor. It's up to the caller to handle this - // correctly. We don't want to indicate `false` though if it - // actually skipped valid characters. - return cursor; - } - - return false; - }; - } - /** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ - - - const skipWhitespace = skip(/\s/); - /** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ - - const skipSpaces = skip(" \t"); - /** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ - - const skipToLineEnd = skip(",; \t"); - /** - * @type {(text: string, index: number | false, opts?: SkipOptions) => number | false} - */ - - const skipEverythingButNewLine = skip(/[^\n\r]/); - /** - * @param {string} text - * @param {number | false} index - * @returns {number | false} - */ - - function skipInlineComment(text, index) { - /* istanbul ignore next */ - if (index === false) { - return false; - } - - if (text.charAt(index) === "/" && text.charAt(index + 1) === "*") { - for (let i = index + 2; i < text.length; ++i) { - if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { - return i + 2; - } - } - } - - return index; - } - /** - * @param {string} text - * @param {number | false} index - * @returns {number | false} - */ - - - function skipTrailingComment(text, index) { - /* istanbul ignore next */ - if (index === false) { - return false; - } - - if (text.charAt(index) === "/" && text.charAt(index + 1) === "/") { - return skipEverythingButNewLine(text, index); - } - - return index; - } // This one doesn't use the above helper function because it wants to - // test \r\n in order and `skip` doesn't support ordering and we only - // want to skip one newline. It's simple to implement. - - /** - * @param {string} text - * @param {number | false} index - * @param {SkipOptions=} opts - * @returns {number | false} - */ - - - function skipNewline(text, index, opts) { - const backwards = opts && opts.backwards; - - if (index === false) { - return false; - } - - const atIndex = text.charAt(index); - - if (backwards) { - // We already replace `\r\n` with `\n` before parsing - - /* istanbul ignore next */ - if (text.charAt(index - 1) === "\r" && atIndex === "\n") { - return index - 2; - } - - if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { - return index - 1; - } - } else { - // We already replace `\r\n` with `\n` before parsing - - /* istanbul ignore next */ - if (atIndex === "\r" && text.charAt(index + 1) === "\n") { - return index + 2; - } - - if (atIndex === "\n" || atIndex === "\r" || atIndex === "\u2028" || atIndex === "\u2029") { - return index + 1; - } - } - - return index; - } - /** - * @param {string} text - * @param {number} index - * @param {SkipOptions=} opts - * @returns {boolean} - */ - - - function hasNewline(text, index, opts) { - opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - const idx2 = skipNewline(text, idx, opts); - return idx !== idx2; - } - /** - * @param {string} text - * @param {number} start - * @param {number} end - * @returns {boolean} - */ - - - function hasNewlineInRange(text, start, end) { - for (let i = start; i < end; ++i) { - if (text.charAt(i) === "\n") { - return true; - } - } - - return false; - } // Note: this function doesn't ignore leading comments unlike isNextLineEmpty - - /** - * @template N - * @param {string} text - * @param {N} node - * @param {(node: N) => number} locStart - */ - - - function isPreviousLineEmpty(text, node, locStart) { - /** @type {number | false} */ - let idx = locStart(node) - 1; - idx = skipSpaces(text, idx, { - backwards: true - }); - idx = skipNewline(text, idx, { - backwards: true - }); - idx = skipSpaces(text, idx, { - backwards: true - }); - const idx2 = skipNewline(text, idx, { - backwards: true - }); - return idx !== idx2; - } - /** - * @param {string} text - * @param {number} index - * @returns {boolean} - */ - - - function isNextLineEmptyAfterIndex(text, index) { - /** @type {number | false} */ - let oldIdx = null; - /** @type {number | false} */ - - let idx = index; - - while (idx !== oldIdx) { - // We need to skip all the potential trailing inline comments - oldIdx = idx; - idx = skipToLineEnd(text, idx); - idx = skipInlineComment(text, idx); - idx = skipSpaces(text, idx); - } - - idx = skipTrailingComment(text, idx); - idx = skipNewline(text, idx); - return idx !== false && hasNewline(text, idx); - } - /** - * @template N - * @param {string} text - * @param {N} node - * @param {(node: N) => number} locEnd - * @returns {boolean} - */ - - - function isNextLineEmpty(text, node, locEnd) { - return isNextLineEmptyAfterIndex(text, locEnd(node)); - } - /** - * @param {string} text - * @param {number} idx - * @returns {number | false} - */ - - - function getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, idx) { - /** @type {number | false} */ - let oldIdx = null; - /** @type {number | false} */ - - let nextIdx = idx; - - while (nextIdx !== oldIdx) { - oldIdx = nextIdx; - nextIdx = skipSpaces(text, nextIdx); - nextIdx = skipInlineComment(text, nextIdx); - nextIdx = skipTrailingComment(text, nextIdx); - nextIdx = skipNewline(text, nextIdx); - } - - return nextIdx; - } - /** - * @template N - * @param {string} text - * @param {N} node - * @param {(node: N) => number} locEnd - * @returns {number | false} - */ - - - function getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { - return getNextNonSpaceNonCommentCharacterIndexWithStartIndex(text, locEnd(node)); - } - /** - * @template N - * @param {string} text - * @param {N} node - * @param {(node: N) => number} locEnd - * @returns {string} - */ - - - function getNextNonSpaceNonCommentCharacter(text, node, locEnd) { - return text.charAt( // @ts-ignore => TBD: can return false, should we define a fallback? - getNextNonSpaceNonCommentCharacterIndex(text, node, locEnd)); - } // Not using, but it's public utils - - /* istanbul ignore next */ - - /** - * @param {string} text - * @param {number} index - * @param {SkipOptions=} opts - * @returns {boolean} - */ - - - function hasSpaces(text, index, opts) { - opts = opts || {}; - const idx = skipSpaces(text, opts.backwards ? index - 1 : index, opts); - return idx !== index; - } - /** - * @param {string} value - * @param {number} tabWidth - * @param {number=} startIndex - * @returns {number} - */ - - - function getAlignmentSize(value, tabWidth, startIndex) { - startIndex = startIndex || 0; - let size = 0; - - for (let i = startIndex; i < value.length; ++i) { - if (value[i] === "\t") { - // Tabs behave in a way that they are aligned to the nearest - // multiple of tabWidth: - // 0 -> 4, 1 -> 4, 2 -> 4, 3 -> 4 - // 4 -> 8, 5 -> 8, 6 -> 8, 7 -> 8 ... - size = size + tabWidth - size % tabWidth; - } else { - size++; - } - } - - return size; - } - /** - * @param {string} value - * @param {number} tabWidth - * @returns {number} - */ - - - function getIndentSize(value, tabWidth) { - const lastNewlineIndex = value.lastIndexOf("\n"); - - if (lastNewlineIndex === -1) { - return 0; - } - - return getAlignmentSize( // All the leading whitespaces - value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], tabWidth); - } - /** - * @typedef {'"' | "'"} Quote - */ - - /** - * - * @param {string} raw - * @param {Quote} preferredQuote - * @returns {Quote} - */ - - - function getPreferredQuote(raw, preferredQuote) { - // `rawContent` is the string exactly like it appeared in the input source - // code, without its enclosing quotes. - const rawContent = raw.slice(1, -1); - /** @type {{ quote: '"', regex: RegExp }} */ - - const double = { - quote: '"', - regex: /"/g - }; - /** @type {{ quote: "'", regex: RegExp }} */ - - const single = { - quote: "'", - regex: /'/g - }; - const preferred = preferredQuote === "'" ? single : double; - const alternate = preferred === single ? double : single; - let result = preferred.quote; // If `rawContent` contains at least one of the quote preferred for enclosing - // the string, we might want to enclose with the alternate quote instead, to - // minimize the number of escaped quotes. - - if (rawContent.includes(preferred.quote) || rawContent.includes(alternate.quote)) { - const numPreferredQuotes = (rawContent.match(preferred.regex) || []).length; - const numAlternateQuotes = (rawContent.match(alternate.regex) || []).length; - result = numPreferredQuotes > numAlternateQuotes ? alternate.quote : preferred.quote; - } - - return result; - } - - function printString(raw, options, isDirectiveLiteral) { - // `rawContent` is the string exactly like it appeared in the input source - // code, without its enclosing quotes. - const rawContent = raw.slice(1, -1); // Check for the alternate quote, to determine if we're allowed to swap - // the quotes on a DirectiveLiteral. - - const canChangeDirectiveQuotes = !rawContent.includes('"') && !rawContent.includes("'"); - /** @type {Quote} */ - - const enclosingQuote = options.parser === "json" ? '"' : options.__isInHtmlAttribute ? "'" : getPreferredQuote(raw, options.singleQuote ? "'" : '"'); // Directives are exact code unit sequences, which means that you can't - // change the escape sequences they use. - // See https://github.com/prettier/prettier/issues/1555 - // and https://tc39.github.io/ecma262/#directive-prologue - - if (isDirectiveLiteral) { - if (canChangeDirectiveQuotes) { - return enclosingQuote + rawContent + enclosingQuote; - } - - return raw; - } // It might sound unnecessary to use `makeString` even if the string already - // is enclosed with `enclosingQuote`, but it isn't. The string could contain - // unnecessary escapes (such as in `"\'"`). Always using `makeString` makes - // sure that we consistently output the minimum amount of escaped quotes. - - - return makeString(rawContent, enclosingQuote, !(options.parser === "css" || options.parser === "less" || options.parser === "scss" || options.embeddedInHtml)); - } - /** - * @param {string} rawContent - * @param {Quote} enclosingQuote - * @param {boolean=} unescapeUnnecessaryEscapes - * @returns {string} - */ - - - function makeString(rawContent, enclosingQuote, unescapeUnnecessaryEscapes) { - const otherQuote = enclosingQuote === '"' ? "'" : '"'; // Matches _any_ escape and unescaped quotes (both single and double). - - const regex = /\\([\S\s])|(["'])/g; // Escape and unescape single and double quotes as needed to be able to - // enclose `rawContent` with `enclosingQuote`. - - const newContent = rawContent.replace(regex, (match, escaped, quote) => { - // If we matched an escape, and the escaped character is a quote of the - // other type than we intend to enclose the string with, there's no need for - // it to be escaped, so return it _without_ the backslash. - if (escaped === otherQuote) { - return escaped; - } // If we matched an unescaped quote and it is of the _same_ type as we - // intend to enclose the string with, it must be escaped, so return it with - // a backslash. - - - if (quote === enclosingQuote) { - return "\\" + quote; - } - - if (quote) { - return quote; - } // Unescape any unnecessarily escaped character. - // Adapted from https://github.com/eslint/eslint/blob/de0b4ad7bd820ade41b1f606008bea68683dc11a/lib/rules/no-useless-escape.js#L27 - - - return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(escaped) ? escaped : "\\" + escaped; - }); - return enclosingQuote + newContent + enclosingQuote; - } - - function printNumber(rawNumber) { - return rawNumber.toLowerCase() // Remove unnecessary plus and zeroes from scientific notation. - .replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/, "$1$2$3") // Remove unnecessary scientific notation (1e0). - .replace(/^([+-]?[\d.]+)e[+-]?0+$/, "$1") // Make sure numbers always start with a digit. - .replace(/^([+-])?\./, "$10.") // Remove extraneous trailing decimal zeroes. - .replace(/(\.\d+?)0+(?=e|$)/, "$1") // Remove trailing dot. - .replace(/\.(?=e|$)/, ""); - } - /** - * @param {string} str - * @param {string} target - * @returns {number} - */ - - - function getMaxContinuousCount(str, target) { - const results = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); - - if (results === null) { - return 0; - } - - return results.reduce((maxCount, result) => Math.max(maxCount, result.length / target.length), 0); - } - - function getMinNotPresentContinuousCount(str, target) { - const matches = str.match(new RegExp("(".concat(escapeStringRegexp(target), ")+"), "g")); - - if (matches === null) { - return 0; - } - - const countPresent = new Map(); - let max = 0; - - for (const match of matches) { - const count = match.length / target.length; - countPresent.set(count, true); - - if (count > max) { - max = count; - } - } - - for (let i = 1; i < max; i++) { - if (!countPresent.get(i)) { - return i; - } - } - - return max + 1; - } - /** - * @param {string} text - * @returns {number} - */ - - - function getStringWidth(text) { - if (!text) { - return 0; - } // shortcut to avoid needless string `RegExp`s, replacements, and allocations within `string-width` - - - if (!notAsciiRegex.test(text)) { - return text.length; - } - - return stringWidth_1(text); - } - - function isNodeIgnoreComment(comment) { - return comment.value.trim() === "prettier-ignore"; - } - - function addCommentHelper(node, comment) { - const comments = node.comments || (node.comments = []); - comments.push(comment); - comment.printed = false; // For some reason, TypeScript parses `// x` inside of JSXText as a comment - // We already "print" it via the raw text, we don't need to re-print it as a - // comment - - /* istanbul ignore next */ - - if (node.type === "JSXText") { - comment.printed = true; - } - } - - function addLeadingComment(node, comment) { - comment.leading = true; - comment.trailing = false; - addCommentHelper(node, comment); - } - - function addDanglingComment(node, comment, marker) { - comment.leading = false; - comment.trailing = false; - - if (marker) { - comment.marker = marker; - } - - addCommentHelper(node, comment); - } - - function addTrailingComment(node, comment) { - comment.leading = false; - comment.trailing = true; - addCommentHelper(node, comment); - } - - function replaceEndOfLineWith(text, replacement) { - const parts = []; - - for (const part of text.split("\n")) { - if (parts.length !== 0) { - parts.push(replacement); - } - - parts.push(part); - } - - return parts; - } - - function inferParserByLanguage(language, options) { - const { - languages - } = getSupportInfo$1({ - plugins: options.plugins - }); - const matched = languages.find(({ - name - }) => name.toLowerCase() === language) || languages.find(({ - aliases - }) => Array.isArray(aliases) && aliases.includes(language)) || languages.find(({ - extensions - }) => Array.isArray(extensions) && extensions.includes(".".concat(language))); - return matched && matched.parsers[0]; - } - - function isFrontMatterNode(node) { - return node && node.type === "front-matter"; - } - - function getShebang(text) { - if (!text.startsWith("#!")) { - return ""; - } - - const index = text.indexOf("\n"); - - if (index === -1) { - return text; - } - - return text.slice(0, index); - } - - var util = { - inferParserByLanguage, - replaceEndOfLineWith, - getStringWidth, - getMaxContinuousCount, - getMinNotPresentContinuousCount, - getPenultimate, - getLast, - getNextNonSpaceNonCommentCharacterIndexWithStartIndex, - getNextNonSpaceNonCommentCharacterIndex, - getNextNonSpaceNonCommentCharacter, - skip, - skipWhitespace, - skipSpaces, - skipToLineEnd, - skipEverythingButNewLine, - skipInlineComment, - skipTrailingComment, - skipNewline, - isNextLineEmptyAfterIndex, - isNextLineEmpty, - isPreviousLineEmpty, - hasNewline, - hasNewlineInRange, - hasSpaces, - getAlignmentSize, - getIndentSize, - getPreferredQuote, - printString, - printNumber, - isNodeIgnoreComment, - makeString, - addLeadingComment, - addDanglingComment, - addTrailingComment, - isFrontMatterNode, - getShebang - }; - - function guessEndOfLine(text) { - const index = text.indexOf("\r"); - - if (index >= 0) { - return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; - } - - return "lf"; - } - - function convertEndOfLineToChars(value) { - switch (value) { - case "cr": - return "\r"; - - case "crlf": - return "\r\n"; - - default: - return "\n"; - } - } - - function countEndOfLineChars(text, eol) { - let regex; - /* istanbul ignore else */ - - if (eol === "\n") { - regex = /\n/g; - } else if (eol === "\r") { - regex = /\r/g; - } else if (eol === "\r\n") { - regex = /\r\n/g; - } else { - throw new Error("Unexpected \"eol\" ".concat(JSON.stringify(eol), ".")); - } - - const endOfLines = text.match(regex); - return endOfLines ? endOfLines.length : 0; - } - - function normalizeEndOfLine(text) { - return text.replace(/\r\n?/g, "\n"); - } - - var endOfLine = { - guessEndOfLine, - convertEndOfLineToChars, - countEndOfLineChars, - normalizeEndOfLine - }; - - const { - getStringWidth: getStringWidth$1 - } = util; - const { - convertEndOfLineToChars: convertEndOfLineToChars$1 - } = endOfLine; - const { - concat: concat$1, - fill: fill$1, - cursor: cursor$1 - } = docBuilders; - /** @type {Record} */ - - let groupModeMap; - const MODE_BREAK = 1; - const MODE_FLAT = 2; - - function rootIndent() { - return { - value: "", - length: 0, - queue: [] - }; - } - - function makeIndent(ind, options) { - return generateInd(ind, { - type: "indent" - }, options); - } - - function makeAlign(indent, n, options) { - if (n === -Infinity) { - return indent.root || rootIndent(); - } - - if (n < 0) { - return generateInd(indent, { - type: "dedent" - }, options); - } - - if (!n) { - return indent; - } - - if (n.type === "root") { - return Object.assign({}, indent, { - root: indent - }); - } - - const alignType = typeof n === "string" ? "stringAlign" : "numberAlign"; - return generateInd(indent, { - type: alignType, - n - }, options); - } - - function generateInd(ind, newPart, options) { - const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : ind.queue.concat(newPart); - let value = ""; - let length = 0; - let lastTabs = 0; - let lastSpaces = 0; - - for (const part of queue) { - switch (part.type) { - case "indent": - flush(); - - if (options.useTabs) { - addTabs(1); - } else { - addSpaces(options.tabWidth); + } + case DOC_TYPE_LINE: + if (mode === MODE_BREAK || doc.hard) { + return true; + } + if (!doc.soft) { + out.push(" "); + width--; } - break; - - case "stringAlign": - flush(); - value += part.n; - length += part.n.length; + case DOC_TYPE_LINE_SUFFIX: + hasLineSuffix = true; break; - - case "numberAlign": - lastTabs += 1; - lastSpaces += part.n; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (hasLineSuffix) { + return false; + } break; - - /* istanbul ignore next */ - - default: - throw new Error("Unexpected type '".concat(part.type, "'")); - } - } - - flushSpaces(); - return Object.assign({}, ind, { - value, - length, - queue - }); - - function addTabs(count) { - value += "\t".repeat(count); - length += options.tabWidth * count; - } - - function addSpaces(count) { - value += " ".repeat(count); - length += count; - } - - function flush() { - if (options.useTabs) { - flushTabs(); - } else { - flushSpaces(); - } - } - - function flushTabs() { - if (lastTabs > 0) { - addTabs(lastTabs); - } - - resetLast(); - } - - function flushSpaces() { - if (lastSpaces > 0) { - addSpaces(lastSpaces); - } - - resetLast(); - } - - function resetLast() { - lastTabs = 0; - lastSpaces = 0; - } - } - - function trim$1(out) { - if (out.length === 0) { - return 0; - } - - let trimCount = 0; // Trim whitespace at the end of line - - while (out.length > 0 && typeof out[out.length - 1] === "string" && out[out.length - 1].match(/^[\t ]*$/)) { - trimCount += out.pop().length; - } - - if (out.length && typeof out[out.length - 1] === "string") { - const trimmed = out[out.length - 1].replace(/[\t ]*$/, ""); - trimCount += out[out.length - 1].length - trimmed.length; - out[out.length - 1] = trimmed; - } - - return trimCount; - } - - function fits(next, restCommands, width, options, mustBeFlat) { - let restIdx = restCommands.length; - const cmds = [next]; // `out` is only used for width counting because `trim` requires to look - // backwards for space characters. - - const out = []; - - while (width >= 0) { - if (cmds.length === 0) { - if (restIdx === 0) { - return true; - } - - cmds.push(restCommands[restIdx - 1]); - restIdx--; - continue; - } - - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - out.push(doc); - width -= getStringWidth$1(doc); - } else { - switch (doc.type) { - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - width += trim$1(out); - break; - - case "group": - if (mustBeFlat && doc.break) { - return false; - } - - cmds.push([ind, doc.break ? MODE_BREAK : mode, doc.contents]); - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - - case "fill": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; - } - - case "line": - switch (mode) { - // fallthrough - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - width -= 1; - } - - break; - } - - return true; - - case MODE_BREAK: - return true; - } - - break; - } } } - return false; } - function printDocToString(doc, options) { - groupModeMap = {}; + const groupModeMap = {}; const width = options.printWidth; - const newLine = convertEndOfLineToChars$1(options.endOfLine); - let pos = 0; // cmds is basically a stack. We've turned a recursive call into a - // while loop which is much faster. The while loop below adds new - // cmds to the array instead of recursively calling `print`. - - const cmds = [[rootIndent(), MODE_BREAK, doc]]; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; + const cmds = [{ + ind: rootIndent(), + mode: MODE_BREAK, + doc + }]; const out = []; let shouldRemeasure = false; - let lineSuffix = []; - - while (cmds.length !== 0) { - const [ind, mode, doc] = cmds.pop(); - - if (typeof doc === "string") { - const formatted = newLine !== "\n" && doc.includes("\n") ? doc.replace(/\n/g, newLine) : doc; - out.push(formatted); - pos += getStringWidth$1(formatted); - } else { - switch (doc.type) { - case "cursor": - out.push(cursor$1.placeholder); - break; - - case "concat": - for (let i = doc.parts.length - 1; i >= 0; i--) { - cmds.push([ind, mode, doc.parts[i]]); - } - - break; - - case "indent": - cmds.push([makeIndent(ind, options), mode, doc.contents]); - break; - - case "align": - cmds.push([makeAlign(ind, doc.n, options), mode, doc.contents]); - break; - - case "trim": - pos -= trim$1(out); - break; - - case "group": - switch (mode) { - case MODE_FLAT: - if (!shouldRemeasure) { - cmds.push([ind, doc.break ? MODE_BREAK : MODE_FLAT, doc.contents]); - break; - } - - // fallthrough - - case MODE_BREAK: - { - shouldRemeasure = false; - const next = [ind, MODE_FLAT, doc.contents]; - const rem = width - pos; - - if (!doc.break && fits(next, cmds, rem, options)) { - cmds.push(next); + const lineSuffix2 = []; + let printedCursorCount = 0; + propagateBreaks(doc); + while (cmds.length > 0) { + const { + ind, + mode, + doc: doc2 + } = cmds.pop(); + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_STRING: { + const formatted = newLine !== "\n" ? string_replace_all_default( + /* isOptionalObject*/ + false, + doc2, + "\n", + newLine + ) : doc2; + out.push(formatted); + if (cmds.length > 0) { + pos += get_string_width_default(formatted); + } + break; + } + case DOC_TYPE_ARRAY: + for (let i = doc2.length - 1; i >= 0; i--) { + cmds.push({ + ind, + mode, + doc: doc2[i] + }); + } + break; + case DOC_TYPE_CURSOR: + if (printedCursorCount >= 2) { + throw new Error("There are too many 'cursor' in doc."); + } + out.push(CURSOR_PLACEHOLDER); + printedCursorCount++; + break; + case DOC_TYPE_INDENT: + cmds.push({ + ind: makeIndent(ind, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_ALIGN: + cmds.push({ + ind: makeAlign(ind, doc2.n, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_TRIM: + pos -= trim2(out); + break; + case DOC_TYPE_GROUP: + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push({ + ind, + mode: doc2.break ? MODE_BREAK : MODE_FLAT, + doc: doc2.contents + }); + break; + } + case MODE_BREAK: { + shouldRemeasure = false; + const next = { + ind, + mode: MODE_FLAT, + doc: doc2.contents + }; + const rem = width - pos; + const hasLineSuffix = lineSuffix2.length > 0; + if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(next); + } else { + if (doc2.expandedStates) { + const mostExpanded = at_default( + /* isOptionalObject*/ + false, + doc2.expandedStates, + -1 + ); + if (doc2.break) { + cmds.push({ + ind, + mode: MODE_BREAK, + doc: mostExpanded + }); + break; } else { - // Expanded states are a rare case where a document - // can manually provide multiple representations of - // itself. It provides an array of documents - // going from the least expanded (most flattened) - // representation first to the most expanded. If a - // group has these, we need to manually go through - // these states and find the first one that fits. - if (doc.expandedStates) { - const mostExpanded = doc.expandedStates[doc.expandedStates.length - 1]; - - if (doc.break) { - cmds.push([ind, MODE_BREAK, mostExpanded]); + for (let i = 1; i < doc2.expandedStates.length + 1; i++) { + if (i >= doc2.expandedStates.length) { + cmds.push({ + ind, + mode: MODE_BREAK, + doc: mostExpanded + }); break; } else { - for (let i = 1; i < doc.expandedStates.length + 1; i++) { - if (i >= doc.expandedStates.length) { - cmds.push([ind, MODE_BREAK, mostExpanded]); - break; - } else { - const state = doc.expandedStates[i]; - const cmd = [ind, MODE_FLAT, state]; - - if (fits(cmd, cmds, rem, options)) { - cmds.push(cmd); - break; - } - } + const state = doc2.expandedStates[i]; + const cmd = { + ind, + mode: MODE_FLAT, + doc: state + }; + if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(cmd); + break; } } - } else { - cmds.push([ind, MODE_BREAK, doc.contents]); } } - - break; - } - } - - if (doc.id) { - groupModeMap[doc.id] = cmds[cmds.length - 1][1]; - } - - break; - // Fills each line with as much code as possible before moving to a new - // line with the same indentation. - // - // Expects doc.parts to be an array of alternating content and - // whitespace. The whitespace contains the linebreaks. - // - // For example: - // ["I", line, "love", line, "monkeys"] - // or - // [{ type: group, ... }, softline, { type: group, ... }] - // - // It uses this parts structure to handle three main layout cases: - // * The first two content items fit on the same line without - // breaking - // -> output the first content item and the whitespace "flat". - // * Only the first content item fits on the line without breaking - // -> output the first content item "flat" and the whitespace with - // "break". - // * Neither content item fits on the line without breaking - // -> output the first content item and the whitespace with "break". - - case "fill": - { - const rem = width - pos; - const { - parts - } = doc; - - if (parts.length === 0) { - break; - } - - const [content, whitespace] = parts; - const contentFlatCmd = [ind, MODE_FLAT, content]; - const contentBreakCmd = [ind, MODE_BREAK, content]; - const contentFits = fits(contentFlatCmd, [], rem, options, true); - - if (parts.length === 1) { - if (contentFits) { - cmds.push(contentFlatCmd); - } else { - cmds.push(contentBreakCmd); - } - - break; - } - - const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; - const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; - - if (parts.length === 2) { - if (contentFits) { - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); } else { - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); + cmds.push({ + ind, + mode: MODE_BREAK, + doc: doc2.contents + }); } - - break; - } // At this point we've handled the first pair (context, separator) - // and will create a new fill doc for the rest of the content. - // Ideally we wouldn't mutate the array here but copying all the - // elements to a new array would make this algorithm quadratic, - // which is unusable for large arrays (e.g. large texts in JSX). - - - parts.splice(0, 2); - const remainingCmd = [ind, mode, fill$1(parts)]; - const secondContent = parts[0]; - const firstAndSecondContentFlatCmd = [ind, MODE_FLAT, concat$1([content, whitespace, secondContent])]; - const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, options, true); - - if (firstAndSecondContentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceFlatCmd); - cmds.push(contentFlatCmd); - } else if (contentFits) { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentFlatCmd); - } else { - cmds.push(remainingCmd); - cmds.push(whitespaceBreakCmd); - cmds.push(contentBreakCmd); } - break; } - - case "if-break": - { - const groupMode = doc.groupId ? groupModeMap[doc.groupId] : mode; - - if (groupMode === MODE_BREAK) { - if (doc.breakContents) { - cmds.push([ind, mode, doc.breakContents]); - } - } - - if (groupMode === MODE_FLAT) { - if (doc.flatContents) { - cmds.push([ind, mode, doc.flatContents]); - } - } - - break; + } + if (doc2.id) { + groupModeMap[doc2.id] = at_default( + /* isOptionalObject*/ + false, + cmds, + -1 + ).mode; + } + break; + case DOC_TYPE_FILL: { + const rem = width - pos; + const { + parts + } = doc2; + if (parts.length === 0) { + break; + } + const [content, whitespace] = parts; + const contentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: content + }; + const contentBreakCmd = { + ind, + mode: MODE_BREAK, + doc: content + }; + const contentFits = fits(contentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true); + if (parts.length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); } - - case "line-suffix": - lineSuffix.push([ind, mode, doc.contents]); break; - - case "line-suffix-boundary": - if (lineSuffix.length > 0) { - cmds.push([ind, mode, { - type: "line", - hard: true - }]); + } + const whitespaceFlatCmd = { + ind, + mode: MODE_FLAT, + doc: whitespace + }; + const whitespaceBreakCmd = { + ind, + mode: MODE_BREAK, + doc: whitespace + }; + if (parts.length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); } - break; - - case "line": - switch (mode) { - case MODE_FLAT: - if (!doc.hard) { - if (!doc.soft) { - out.push(" "); - pos += 1; - } - - break; - } else { - // This line was forced into the output even if we - // were in flattened mode, so we need to tell the next - // group that no matter what, it needs to remeasure - // because the previous measurement didn't accurately - // capture the entire expression (this is necessary - // for nested groups) - shouldRemeasure = true; - } - - // fallthrough - - case MODE_BREAK: - if (lineSuffix.length) { - cmds.push([ind, mode, doc]); - cmds.push(...lineSuffix.reverse()); - lineSuffix = []; - break; - } - - if (doc.literal) { - if (ind.root) { - out.push(newLine, ind.root.value); - pos = ind.root.length; - } else { - out.push(newLine); - pos = 0; - } - } else { - pos -= trim$1(out); - out.push(newLine + ind.value); - pos = ind.length; + } + parts.splice(0, 2); + const remainingCmd = { + ind, + mode, + doc: fill(parts) + }; + const secondContent = parts[0]; + const firstAndSecondContentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: [content, whitespace, secondContent] + }; + const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true); + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + break; + } + case DOC_TYPE_IF_BREAK: + case DOC_TYPE_INDENT_IF_BREAK: { + const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; + if (groupMode === MODE_BREAK) { + const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); + if (breakContents) { + cmds.push({ + ind, + mode, + doc: breakContents + }); + } + } + if (groupMode === MODE_FLAT) { + const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; + if (flatContents) { + cmds.push({ + ind, + mode, + doc: flatContents + }); + } + } + break; + } + case DOC_TYPE_LINE_SUFFIX: + lineSuffix2.push({ + ind, + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (lineSuffix2.length > 0) { + cmds.push({ + ind, + mode, + doc: hardlineWithoutBreakParent + }); + } + break; + case DOC_TYPE_LINE: + switch (mode) { + case MODE_FLAT: + if (!doc2.hard) { + if (!doc2.soft) { + out.push(" "); + pos += 1; } - break; - } - - break; - } - } // Flush remaining line-suffix contents at the end of the document, in case - // there is no new line after the line-suffix. - - - if (cmds.length === 0 && lineSuffix.length) { - cmds.push(...lineSuffix.reverse()); - lineSuffix = []; + } else { + shouldRemeasure = true; + } + case MODE_BREAK: + if (lineSuffix2.length > 0) { + cmds.push({ + ind, + mode, + doc: doc2 + }, ...lineSuffix2.reverse()); + lineSuffix2.length = 0; + break; + } + if (doc2.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim2(out); + out.push(newLine + ind.value); + pos = ind.length; + } + break; + } + break; + case DOC_TYPE_LABEL: + cmds.push({ + ind, + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + if (cmds.length === 0 && lineSuffix2.length > 0) { + cmds.push(...lineSuffix2.reverse()); + lineSuffix2.length = 0; } } - - const cursorPlaceholderIndex = out.indexOf(cursor$1.placeholder); - + const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER); if (cursorPlaceholderIndex !== -1) { - const otherCursorPlaceholderIndex = out.indexOf(cursor$1.placeholder, cursorPlaceholderIndex + 1); + const otherCursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER, cursorPlaceholderIndex + 1); const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); @@ -3304,443 +1279,50 @@ cursorNodeText: aroundCursor }; } - return { formatted: out.join("") }; } - var docPrinter = { - printDocToString + // src/document/public.js + var builders = { + join, + line, + softline, + hardline, + literalline, + group, + conditionalGroup, + fill, + lineSuffix, + lineSuffixBoundary, + cursor, + breakParent, + ifBreak, + trim, + indent, + indentIfBreak, + align, + addAlignmentToDoc, + markAsRoot, + dedentToRoot, + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label, + // TODO: Remove this in v4 + concat: (parts) => parts }; - - const { - literalline: literalline$1, - concat: concat$2 - } = docBuilders; // Using a unique object to compare by reference. - - const traverseDocOnExitStackMarker = {}; - - function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { - const docsStack = [doc]; - - while (docsStack.length !== 0) { - const doc = docsStack.pop(); - - if (doc === traverseDocOnExitStackMarker) { - onExit(docsStack.pop()); - continue; - } - - if (onExit) { - docsStack.push(doc, traverseDocOnExitStackMarker); - } - - if ( // Should Recurse - !onEnter || onEnter(doc) !== false) { - // When there are multiple parts to process, - // the parts need to be pushed onto the stack in reverse order, - // so that they are processed in the original order - // when the stack is popped. - if (doc.type === "concat" || doc.type === "fill") { - for (let ic = doc.parts.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc.parts[i]); - } - } else if (doc.type === "if-break") { - if (doc.flatContents) { - docsStack.push(doc.flatContents); - } - - if (doc.breakContents) { - docsStack.push(doc.breakContents); - } - } else if (doc.type === "group" && doc.expandedStates) { - if (shouldTraverseConditionalGroups) { - for (let ic = doc.expandedStates.length, i = ic - 1; i >= 0; --i) { - docsStack.push(doc.expandedStates[i]); - } - } else { - docsStack.push(doc.contents); - } - } else if (doc.contents) { - docsStack.push(doc.contents); - } - } - } - } - - function mapDoc(doc, cb) { - if (doc.type === "concat" || doc.type === "fill") { - const parts = doc.parts.map(part => mapDoc(part, cb)); - return cb(Object.assign({}, doc, { - parts - })); - } else if (doc.type === "if-break") { - const breakContents = doc.breakContents && mapDoc(doc.breakContents, cb); - const flatContents = doc.flatContents && mapDoc(doc.flatContents, cb); - return cb(Object.assign({}, doc, { - breakContents, - flatContents - })); - } else if (doc.contents) { - const contents = mapDoc(doc.contents, cb); - return cb(Object.assign({}, doc, { - contents - })); - } - - return cb(doc); - } - - function findInDoc(doc, fn, defaultValue) { - let result = defaultValue; - let hasStopped = false; - - function findInDocOnEnterFn(doc) { - const maybeResult = fn(doc); - - if (maybeResult !== undefined) { - hasStopped = true; - result = maybeResult; - } - - if (hasStopped) { - return false; - } - } - - traverseDoc(doc, findInDocOnEnterFn); - return result; - } - - function isEmpty(n) { - return typeof n === "string" && n.length === 0; - } - - function isLineNextFn(doc) { - if (typeof doc === "string") { - return false; - } - - if (doc.type === "line") { - return true; - } - } - - function isLineNext(doc) { - return findInDoc(doc, isLineNextFn, false); - } - - function willBreakFn(doc) { - if (doc.type === "group" && doc.break) { - return true; - } - - if (doc.type === "line" && doc.hard) { - return true; - } - - if (doc.type === "break-parent") { - return true; - } - } - - function willBreak(doc) { - return findInDoc(doc, willBreakFn, false); - } - - function breakParentGroup(groupStack) { - if (groupStack.length > 0) { - const parentGroup = groupStack[groupStack.length - 1]; // Breaks are not propagated through conditional groups because - // the user is expected to manually handle what breaks. - - if (!parentGroup.expandedStates) { - parentGroup.break = true; - } - } - - return null; - } - - function propagateBreaks(doc) { - const alreadyVisitedSet = new Set(); - const groupStack = []; - - function propagateBreaksOnEnterFn(doc) { - if (doc.type === "break-parent") { - breakParentGroup(groupStack); - } - - if (doc.type === "group") { - groupStack.push(doc); - - if (alreadyVisitedSet.has(doc)) { - return false; - } - - alreadyVisitedSet.add(doc); - } - } - - function propagateBreaksOnExitFn(doc) { - if (doc.type === "group") { - const group = groupStack.pop(); - - if (group.break) { - breakParentGroup(groupStack); - } - } - } - - traverseDoc(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, - /* shouldTraverseConditionalGroups */ - true); - } - - function removeLinesFn(doc) { - // Force this doc into flat mode by statically converting all - // lines into spaces (or soft lines into nothing). Hard lines - // should still output because there's too great of a chance - // of breaking existing assumptions otherwise. - if (doc.type === "line" && !doc.hard) { - return doc.soft ? "" : " "; - } else if (doc.type === "if-break") { - return doc.flatContents || ""; - } - - return doc; - } - - function removeLines(doc) { - return mapDoc(doc, removeLinesFn); - } - - function getInnerParts(doc) { - let { - parts - } = doc; - let lastPart; // Avoid a falsy element like "" - - for (let i = doc.parts.length; i > 0 && !lastPart; i--) { - lastPart = parts[i - 1]; - } - - if (lastPart.type === "group") { - parts = lastPart.contents.parts; - } - - return parts; - } - - function stripTrailingHardline(doc, withInnerParts = false) { - // HACK remove ending hardline, original PR: #1984 - if (doc.type === "concat" && doc.parts.length !== 0) { - const parts = withInnerParts ? getInnerParts(doc) : doc.parts; - const lastPart = parts[parts.length - 1]; - - if (lastPart.type === "concat") { - if (lastPart.parts.length === 2 && lastPart.parts[0].hard && lastPart.parts[1].type === "break-parent") { - return { - type: "concat", - parts: parts.slice(0, -1) - }; - } - - return { - type: "concat", - parts: doc.parts.slice(0, -1).concat(stripTrailingHardline(lastPart)) - }; - } - } - - return doc; - } - - function normalizeParts(parts) { - const newParts = []; - const restParts = parts.filter(Boolean); - - while (restParts.length !== 0) { - const part = restParts.shift(); - - if (!part) { - continue; - } - - if (part.type === "concat") { - restParts.unshift(...part.parts); - continue; - } - - if (newParts.length !== 0 && typeof newParts[newParts.length - 1] === "string" && typeof part === "string") { - newParts[newParts.length - 1] += part; - continue; - } - - newParts.push(part); - } - - return newParts; - } - - function normalizeDoc(doc) { - return mapDoc(doc, currentDoc => { - if (!currentDoc.parts) { - return currentDoc; - } - - return Object.assign({}, currentDoc, { - parts: normalizeParts(currentDoc.parts) - }); - }); - } - - function replaceNewlinesWithLiterallines(doc) { - return mapDoc(doc, currentDoc => typeof currentDoc === "string" && currentDoc.includes("\n") ? concat$2(currentDoc.split(/(\n)/g).map((v, i) => i % 2 === 0 ? v : literalline$1)) : currentDoc); - } - - var docUtils = { - isEmpty, + var printer = { printDocToString }; + var utils = { willBreak, - isLineNext, - traverseDoc, + traverseDoc: traverse_doc_default, findInDoc, mapDoc, - propagateBreaks, removeLines, stripTrailingHardline, - normalizeParts, - normalizeDoc, - replaceNewlinesWithLiterallines - }; - - function flattenDoc(doc) { - if (doc.type === "concat") { - const res = []; - - for (let i = 0; i < doc.parts.length; ++i) { - const doc2 = doc.parts[i]; - - if (typeof doc2 !== "string" && doc2.type === "concat") { - res.push(...flattenDoc(doc2).parts); - } else { - const flattened = flattenDoc(doc2); - - if (flattened !== "") { - res.push(flattened); - } - } - } - - return Object.assign({}, doc, { - parts: res - }); - } else if (doc.type === "if-break") { - return Object.assign({}, doc, { - breakContents: doc.breakContents != null ? flattenDoc(doc.breakContents) : null, - flatContents: doc.flatContents != null ? flattenDoc(doc.flatContents) : null - }); - } else if (doc.type === "group") { - return Object.assign({}, doc, { - contents: flattenDoc(doc.contents), - expandedStates: doc.expandedStates ? doc.expandedStates.map(flattenDoc) : doc.expandedStates - }); - } else if (doc.contents) { - return Object.assign({}, doc, { - contents: flattenDoc(doc.contents) - }); - } - - return doc; - } - - function printDoc(doc) { - if (typeof doc === "string") { - return JSON.stringify(doc); - } - - if (doc.type === "line") { - if (doc.literal) { - return "literalline"; - } - - if (doc.hard) { - return "hardline"; - } - - if (doc.soft) { - return "softline"; - } - - return "line"; - } - - if (doc.type === "break-parent") { - return "breakParent"; - } - - if (doc.type === "trim") { - return "trim"; - } - - if (doc.type === "concat") { - return "[" + doc.parts.map(printDoc).join(", ") + "]"; - } - - if (doc.type === "indent") { - return "indent(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "align") { - return doc.n === -Infinity ? "dedentToRoot(" + printDoc(doc.contents) + ")" : doc.n < 0 ? "dedent(" + printDoc(doc.contents) + ")" : doc.n.type === "root" ? "markAsRoot(" + printDoc(doc.contents) + ")" : "align(" + JSON.stringify(doc.n) + ", " + printDoc(doc.contents) + ")"; - } - - if (doc.type === "if-break") { - return "ifBreak(" + printDoc(doc.breakContents) + (doc.flatContents ? ", " + printDoc(doc.flatContents) : "") + ")"; - } - - if (doc.type === "group") { - if (doc.expandedStates) { - return "conditionalGroup(" + "[" + doc.expandedStates.map(printDoc).join(",") + "])"; - } - - return (doc.break ? "wrappedGroup" : "group") + "(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "fill") { - return "fill" + "(" + doc.parts.map(printDoc).join(", ") + ")"; - } - - if (doc.type === "line-suffix") { - return "lineSuffix(" + printDoc(doc.contents) + ")"; - } - - if (doc.type === "line-suffix-boundary") { - return "lineSuffixBoundary"; - } - - throw new Error("Unknown doc type " + doc.type); - } - - var docDebug = { - printDocToDebug(doc) { - return printDoc(flattenDoc(doc)); - } - - }; - - /** - * @typedef {import("./doc-builders").Doc} Doc - */ - - - var document = { - builders: docBuilders, - printer: docPrinter, - utils: docUtils, - debug: docDebug + replaceEndOfLine, + canBreak }; - - return document; - -}))); + return __toCommonJS(public_exports); +}); \ No newline at end of file diff --git a/node_modules/prettier/doc.mjs b/node_modules/prettier/doc.mjs new file mode 100644 index 00000000..59f4d891 --- /dev/null +++ b/node_modules/prettier/doc.mjs @@ -0,0 +1,1300 @@ +var __defProp = Object.defineProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; + +// src/document/public.js +var public_exports = {}; +__export(public_exports, { + builders: () => builders, + printer: () => printer, + utils: () => utils +}); + +// src/document/constants.js +var DOC_TYPE_STRING = "string"; +var DOC_TYPE_ARRAY = "array"; +var DOC_TYPE_CURSOR = "cursor"; +var DOC_TYPE_INDENT = "indent"; +var DOC_TYPE_ALIGN = "align"; +var DOC_TYPE_TRIM = "trim"; +var DOC_TYPE_GROUP = "group"; +var DOC_TYPE_FILL = "fill"; +var DOC_TYPE_IF_BREAK = "if-break"; +var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break"; +var DOC_TYPE_LINE_SUFFIX = "line-suffix"; +var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary"; +var DOC_TYPE_LINE = "line"; +var DOC_TYPE_LABEL = "label"; +var DOC_TYPE_BREAK_PARENT = "break-parent"; +var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([ + DOC_TYPE_CURSOR, + DOC_TYPE_INDENT, + DOC_TYPE_ALIGN, + DOC_TYPE_TRIM, + DOC_TYPE_GROUP, + DOC_TYPE_FILL, + DOC_TYPE_IF_BREAK, + DOC_TYPE_INDENT_IF_BREAK, + DOC_TYPE_LINE_SUFFIX, + DOC_TYPE_LINE_SUFFIX_BOUNDARY, + DOC_TYPE_LINE, + DOC_TYPE_LABEL, + DOC_TYPE_BREAK_PARENT +]); + +// src/document/utils/get-doc-type.js +function getDocType(doc) { + if (typeof doc === "string") { + return DOC_TYPE_STRING; + } + if (Array.isArray(doc)) { + return DOC_TYPE_ARRAY; + } + if (!doc) { + return; + } + const { type } = doc; + if (VALID_OBJECT_DOC_TYPES.has(type)) { + return type; + } +} +var get_doc_type_default = getDocType; + +// src/document/invalid-doc-error.js +var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); +function getDocErrorMessage(doc) { + const type = doc === null ? "null" : typeof doc; + if (type !== "string" && type !== "object") { + return `Unexpected doc '${type}', +Expected it to be 'string' or 'object'.`; + } + if (get_doc_type_default(doc)) { + throw new Error("doc is valid."); + } + const objectType = Object.prototype.toString.call(doc); + if (objectType !== "[object Object]") { + return `Unexpected doc '${objectType}'.`; + } + const EXPECTED_TYPE_VALUES = disjunctionListFormat( + [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + ); + return `Unexpected doc.type '${doc.type}'. +Expected it to be ${EXPECTED_TYPE_VALUES}.`; +} +var InvalidDocError = class extends Error { + name = "InvalidDocError"; + constructor(doc) { + super(getDocErrorMessage(doc)); + this.doc = doc; + } +}; +var invalid_doc_error_default = InvalidDocError; + +// src/document/utils/traverse-doc.js +var traverseDocOnExitStackMarker = {}; +function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) { + const docsStack = [doc]; + while (docsStack.length > 0) { + const doc2 = docsStack.pop(); + if (doc2 === traverseDocOnExitStackMarker) { + onExit(docsStack.pop()); + continue; + } + if (onExit) { + docsStack.push(doc2, traverseDocOnExitStackMarker); + } + const docType = get_doc_type_default(doc2); + if (!docType) { + throw new invalid_doc_error_default(doc2); + } + if ((onEnter == null ? void 0 : onEnter(doc2)) === false) { + continue; + } + switch (docType) { + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts; + for (let ic = parts.length, i = ic - 1; i >= 0; --i) { + docsStack.push(parts[i]); + } + break; + } + case DOC_TYPE_IF_BREAK: + docsStack.push(doc2.flatContents, doc2.breakContents); + break; + case DOC_TYPE_GROUP: + if (shouldTraverseConditionalGroups && doc2.expandedStates) { + for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) { + docsStack.push(doc2.expandedStates[i]); + } + } else { + docsStack.push(doc2.contents); + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + docsStack.push(doc2.contents); + break; + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + } +} +var traverse_doc_default = traverseDoc; + +// src/document/utils/assert-doc.js +var noop = () => { +}; +var assertDoc = true ? noop : function(doc) { + traverse_doc_default(doc, (doc2) => { + if (checked.has(doc2)) { + return false; + } + if (typeof doc2 !== "string") { + checked.add(doc2); + } + }); +}; +var assertDocArray = true ? noop : function(docs, optional = false) { + if (optional && !docs) { + return; + } + if (!Array.isArray(docs)) { + throw new TypeError("Unexpected doc array."); + } + for (const doc of docs) { + assertDoc(doc); + } +}; + +// src/document/builders.js +function indent(contents) { + assertDoc(contents); + return { type: DOC_TYPE_INDENT, contents }; +} +function align(widthOrString, contents) { + assertDoc(contents); + return { type: DOC_TYPE_ALIGN, contents, n: widthOrString }; +} +function group(contents, opts = {}) { + assertDoc(contents); + assertDocArray( + opts.expandedStates, + /* optional */ + true + ); + return { + type: DOC_TYPE_GROUP, + id: opts.id, + contents, + break: Boolean(opts.shouldBreak), + expandedStates: opts.expandedStates + }; +} +function dedentToRoot(contents) { + return align(Number.NEGATIVE_INFINITY, contents); +} +function markAsRoot(contents) { + return align({ type: "root" }, contents); +} +function dedent(contents) { + return align(-1, contents); +} +function conditionalGroup(states, opts) { + return group(states[0], { ...opts, expandedStates: states }); +} +function fill(parts) { + assertDocArray(parts); + return { type: DOC_TYPE_FILL, parts }; +} +function ifBreak(breakContents, flatContents = "", opts = {}) { + assertDoc(breakContents); + if (flatContents !== "") { + assertDoc(flatContents); + } + return { + type: DOC_TYPE_IF_BREAK, + breakContents, + flatContents, + groupId: opts.groupId + }; +} +function indentIfBreak(contents, opts) { + assertDoc(contents); + return { + type: DOC_TYPE_INDENT_IF_BREAK, + contents, + groupId: opts.groupId, + negate: opts.negate + }; +} +function lineSuffix(contents) { + assertDoc(contents); + return { type: DOC_TYPE_LINE_SUFFIX, contents }; +} +var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY }; +var breakParent = { type: DOC_TYPE_BREAK_PARENT }; +var trim = { type: DOC_TYPE_TRIM }; +var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; +var literallineWithoutBreakParent = { + type: DOC_TYPE_LINE, + hard: true, + literal: true +}; +var line = { type: DOC_TYPE_LINE }; +var softline = { type: DOC_TYPE_LINE, soft: true }; +var hardline = [hardlineWithoutBreakParent, breakParent]; +var literalline = [literallineWithoutBreakParent, breakParent]; +var cursor = { type: DOC_TYPE_CURSOR }; +function join(separator, docs) { + assertDoc(separator); + assertDocArray(docs); + const parts = []; + for (let i = 0; i < docs.length; i++) { + if (i !== 0) { + parts.push(separator); + } + parts.push(docs[i]); + } + return parts; +} +function addAlignmentToDoc(doc, size, tabWidth) { + assertDoc(doc); + let aligned = doc; + if (size > 0) { + for (let i = 0; i < Math.floor(size / tabWidth); ++i) { + aligned = indent(aligned); + } + aligned = align(size % tabWidth, aligned); + aligned = align(Number.NEGATIVE_INFINITY, aligned); + } + return aligned; +} +function label(label2, contents) { + assertDoc(contents); + return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents; +} + +// scripts/build/shims/at.js +var at = (isOptionalObject, object, index) => { + if (isOptionalObject && (object === void 0 || object === null)) { + return; + } + if (Array.isArray(object) || typeof object === "string") { + return object[index < 0 ? object.length + index : index]; + } + return object.at(index); +}; +var at_default = at; + +// scripts/build/shims/string-replace-all.js +var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); +}; +var string_replace_all_default = stringReplaceAll; + +// src/common/end-of-line.js +function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; + } +} + +// node_modules/emoji-regex/index.mjs +var emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; +}; + +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} + +// node_modules/get-east-asian-width/index.js +var _isNarrowWidth = (codePoint) => !(isFullWidth(codePoint) || isWide(codePoint)); + +// src/utils/get-string-width.js +var notAsciiRegex = /[^\x20-\x7F]/; +function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace(emoji_regex_default(), " "); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + width += _isNarrowWidth(codePoint) ? 1 : 2; + } + return width; +} +var get_string_width_default = getStringWidth; + +// src/document/utils.js +var getDocParts = (doc) => { + if (Array.isArray(doc)) { + return doc; + } + if (doc.type !== DOC_TYPE_FILL) { + throw new Error(`Expect doc to be 'array' or '${DOC_TYPE_FILL}'.`); + } + return doc.parts; +}; +function mapDoc(doc, cb) { + if (typeof doc === "string") { + return cb(doc); + } + const mapped = /* @__PURE__ */ new Map(); + return rec(doc); + function rec(doc2) { + if (mapped.has(doc2)) { + return mapped.get(doc2); + } + const result = process2(doc2); + mapped.set(doc2, result); + return result; + } + function process2(doc2) { + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_ARRAY: + return cb(doc2.map(rec)); + case DOC_TYPE_FILL: + return cb({ + ...doc2, + parts: doc2.parts.map(rec) + }); + case DOC_TYPE_IF_BREAK: + return cb({ + ...doc2, + breakContents: rec(doc2.breakContents), + flatContents: rec(doc2.flatContents) + }); + case DOC_TYPE_GROUP: { + let { + expandedStates, + contents + } = doc2; + if (expandedStates) { + expandedStates = expandedStates.map(rec); + contents = expandedStates[0]; + } else { + contents = rec(contents); + } + return cb({ + ...doc2, + contents, + expandedStates + }); + } + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + case DOC_TYPE_LINE_SUFFIX: + return cb({ + ...doc2, + contents: rec(doc2.contents) + }); + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + return cb(doc2); + default: + throw new invalid_doc_error_default(doc2); + } + } +} +function findInDoc(doc, fn, defaultValue) { + let result = defaultValue; + let shouldSkipFurtherProcessing = false; + function findInDocOnEnterFn(doc2) { + if (shouldSkipFurtherProcessing) { + return false; + } + const maybeResult = fn(doc2); + if (maybeResult !== void 0) { + shouldSkipFurtherProcessing = true; + result = maybeResult; + } + } + traverse_doc_default(doc, findInDocOnEnterFn); + return result; +} +function willBreakFn(doc) { + if (doc.type === DOC_TYPE_GROUP && doc.break) { + return true; + } + if (doc.type === DOC_TYPE_LINE && doc.hard) { + return true; + } + if (doc.type === DOC_TYPE_BREAK_PARENT) { + return true; + } +} +function willBreak(doc) { + return findInDoc(doc, willBreakFn, false); +} +function breakParentGroup(groupStack) { + if (groupStack.length > 0) { + const parentGroup = at_default( + /* isOptionalObject*/ + false, + groupStack, + -1 + ); + if (!parentGroup.expandedStates && !parentGroup.break) { + parentGroup.break = "propagated"; + } + } + return null; +} +function propagateBreaks(doc) { + const alreadyVisitedSet = /* @__PURE__ */ new Set(); + const groupStack = []; + function propagateBreaksOnEnterFn(doc2) { + if (doc2.type === DOC_TYPE_BREAK_PARENT) { + breakParentGroup(groupStack); + } + if (doc2.type === DOC_TYPE_GROUP) { + groupStack.push(doc2); + if (alreadyVisitedSet.has(doc2)) { + return false; + } + alreadyVisitedSet.add(doc2); + } + } + function propagateBreaksOnExitFn(doc2) { + if (doc2.type === DOC_TYPE_GROUP) { + const group2 = groupStack.pop(); + if (group2.break) { + breakParentGroup(groupStack); + } + } + } + traverse_doc_default( + doc, + propagateBreaksOnEnterFn, + propagateBreaksOnExitFn, + /* shouldTraverseConditionalGroups */ + true + ); +} +function removeLinesFn(doc) { + if (doc.type === DOC_TYPE_LINE && !doc.hard) { + return doc.soft ? "" : " "; + } + if (doc.type === DOC_TYPE_IF_BREAK) { + return doc.flatContents; + } + return doc; +} +function removeLines(doc) { + return mapDoc(doc, removeLinesFn); +} +function stripTrailingHardlineFromParts(parts) { + parts = [...parts]; + while (parts.length >= 2 && at_default( + /* isOptionalObject*/ + false, + parts, + -2 + ).type === DOC_TYPE_LINE && at_default( + /* isOptionalObject*/ + false, + parts, + -1 + ).type === DOC_TYPE_BREAK_PARENT) { + parts.length -= 2; + } + if (parts.length > 0) { + const lastPart = stripTrailingHardlineFromDoc(at_default( + /* isOptionalObject*/ + false, + parts, + -1 + )); + parts[parts.length - 1] = lastPart; + } + return parts; +} +function stripTrailingHardlineFromDoc(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_GROUP: + case DOC_TYPE_LINE_SUFFIX: + case DOC_TYPE_LABEL: { + const contents = stripTrailingHardlineFromDoc(doc.contents); + return { + ...doc, + contents + }; + } + case DOC_TYPE_IF_BREAK: + return { + ...doc, + breakContents: stripTrailingHardlineFromDoc(doc.breakContents), + flatContents: stripTrailingHardlineFromDoc(doc.flatContents) + }; + case DOC_TYPE_FILL: + return { + ...doc, + parts: stripTrailingHardlineFromParts(doc.parts) + }; + case DOC_TYPE_ARRAY: + return stripTrailingHardlineFromParts(doc); + case DOC_TYPE_STRING: + return doc.replace(/[\n\r]*$/, ""); + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; +} +function stripTrailingHardline(doc) { + return stripTrailingHardlineFromDoc(cleanDoc(doc)); +} +function cleanDocFn(doc) { + switch (get_doc_type_default(doc)) { + case DOC_TYPE_FILL: + if (doc.parts.every((part) => part === "")) { + return ""; + } + break; + case DOC_TYPE_GROUP: + if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) { + return ""; + } + if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) { + return doc.contents; + } + break; + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LINE_SUFFIX: + if (!doc.contents) { + return ""; + } + break; + case DOC_TYPE_IF_BREAK: + if (!doc.flatContents && !doc.breakContents) { + return ""; + } + break; + case DOC_TYPE_ARRAY: { + const parts = []; + for (const part of doc) { + if (!part) { + continue; + } + const [currentPart, ...restParts] = Array.isArray(part) ? part : [part]; + if (typeof currentPart === "string" && typeof at_default( + /* isOptionalObject*/ + false, + parts, + -1 + ) === "string") { + parts[parts.length - 1] += currentPart; + } else { + parts.push(currentPart); + } + parts.push(...restParts); + } + if (parts.length === 0) { + return ""; + } + if (parts.length === 1) { + return parts[0]; + } + return parts; + } + case DOC_TYPE_STRING: + case DOC_TYPE_CURSOR: + case DOC_TYPE_TRIM: + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + case DOC_TYPE_LINE: + case DOC_TYPE_LABEL: + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc); + } + return doc; +} +function cleanDoc(doc) { + return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc)); +} +function replaceEndOfLine(doc, replacement = literalline) { + return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc); +} +function canBreakFn(doc) { + if (doc.type === DOC_TYPE_LINE) { + return true; + } +} +function canBreak(doc) { + return findInDoc(doc, canBreakFn, false); +} + +// src/document/printer.js +var MODE_BREAK = Symbol("MODE_BREAK"); +var MODE_FLAT = Symbol("MODE_FLAT"); +var CURSOR_PLACEHOLDER = Symbol("cursor"); +function rootIndent() { + return { + value: "", + length: 0, + queue: [] + }; +} +function makeIndent(ind, options) { + return generateInd(ind, { + type: "indent" + }, options); +} +function makeAlign(indent2, widthOrDoc, options) { + if (widthOrDoc === Number.NEGATIVE_INFINITY) { + return indent2.root || rootIndent(); + } + if (widthOrDoc < 0) { + return generateInd(indent2, { + type: "dedent" + }, options); + } + if (!widthOrDoc) { + return indent2; + } + if (widthOrDoc.type === "root") { + return { + ...indent2, + root: indent2 + }; + } + const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign"; + return generateInd(indent2, { + type: alignType, + n: widthOrDoc + }, options); +} +function generateInd(ind, newPart, options) { + const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart]; + let value = ""; + let length = 0; + let lastTabs = 0; + let lastSpaces = 0; + for (const part of queue) { + switch (part.type) { + case "indent": + flush(); + if (options.useTabs) { + addTabs(1); + } else { + addSpaces(options.tabWidth); + } + break; + case "stringAlign": + flush(); + value += part.n; + length += part.n.length; + break; + case "numberAlign": + lastTabs += 1; + lastSpaces += part.n; + break; + default: + throw new Error(`Unexpected type '${part.type}'`); + } + } + flushSpaces(); + return { + ...ind, + value, + length, + queue + }; + function addTabs(count) { + value += " ".repeat(count); + length += options.tabWidth * count; + } + function addSpaces(count) { + value += " ".repeat(count); + length += count; + } + function flush() { + if (options.useTabs) { + flushTabs(); + } else { + flushSpaces(); + } + } + function flushTabs() { + if (lastTabs > 0) { + addTabs(lastTabs); + } + resetLast(); + } + function flushSpaces() { + if (lastSpaces > 0) { + addSpaces(lastSpaces); + } + resetLast(); + } + function resetLast() { + lastTabs = 0; + lastSpaces = 0; + } +} +function trim2(out) { + let trimCount = 0; + let cursorCount = 0; + let outIndex = out.length; + outer: + while (outIndex--) { + const last = out[outIndex]; + if (last === CURSOR_PLACEHOLDER) { + cursorCount++; + continue; + } + if (false) { + throw new Error(`Unexpected value in trim: '${typeof last}'`); + } + for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) { + const char = last[charIndex]; + if (char === " " || char === " ") { + trimCount++; + } else { + out[outIndex] = last.slice(0, charIndex + 1); + break outer; + } + } + } + if (trimCount > 0 || cursorCount > 0) { + out.length = outIndex + 1; + while (cursorCount-- > 0) { + out.push(CURSOR_PLACEHOLDER); + } + } + return trimCount; +} +function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) { + if (width === Number.POSITIVE_INFINITY) { + return true; + } + let restIdx = restCommands.length; + const cmds = [next]; + const out = []; + while (width >= 0) { + if (cmds.length === 0) { + if (restIdx === 0) { + return true; + } + cmds.push(restCommands[--restIdx]); + continue; + } + const { + mode, + doc + } = cmds.pop(); + switch (get_doc_type_default(doc)) { + case DOC_TYPE_STRING: + out.push(doc); + width -= get_string_width_default(doc); + break; + case DOC_TYPE_ARRAY: + case DOC_TYPE_FILL: { + const parts = getDocParts(doc); + for (let i = parts.length - 1; i >= 0; i--) { + cmds.push({ + mode, + doc: parts[i] + }); + } + break; + } + case DOC_TYPE_INDENT: + case DOC_TYPE_ALIGN: + case DOC_TYPE_INDENT_IF_BREAK: + case DOC_TYPE_LABEL: + cmds.push({ + mode, + doc: doc.contents + }); + break; + case DOC_TYPE_TRIM: + width += trim2(out); + break; + case DOC_TYPE_GROUP: { + if (mustBeFlat && doc.break) { + return false; + } + const groupMode = doc.break ? MODE_BREAK : mode; + const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default( + /* isOptionalObject*/ + false, + doc.expandedStates, + -1 + ) : doc.contents; + cmds.push({ + mode: groupMode, + doc: contents + }); + break; + } + case DOC_TYPE_IF_BREAK: { + const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode; + const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents; + if (contents) { + cmds.push({ + mode, + doc: contents + }); + } + break; + } + case DOC_TYPE_LINE: + if (mode === MODE_BREAK || doc.hard) { + return true; + } + if (!doc.soft) { + out.push(" "); + width--; + } + break; + case DOC_TYPE_LINE_SUFFIX: + hasLineSuffix = true; + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (hasLineSuffix) { + return false; + } + break; + } + } + return false; +} +function printDocToString(doc, options) { + const groupModeMap = {}; + const width = options.printWidth; + const newLine = convertEndOfLineToChars(options.endOfLine); + let pos = 0; + const cmds = [{ + ind: rootIndent(), + mode: MODE_BREAK, + doc + }]; + const out = []; + let shouldRemeasure = false; + const lineSuffix2 = []; + let printedCursorCount = 0; + propagateBreaks(doc); + while (cmds.length > 0) { + const { + ind, + mode, + doc: doc2 + } = cmds.pop(); + switch (get_doc_type_default(doc2)) { + case DOC_TYPE_STRING: { + const formatted = newLine !== "\n" ? string_replace_all_default( + /* isOptionalObject*/ + false, + doc2, + "\n", + newLine + ) : doc2; + out.push(formatted); + if (cmds.length > 0) { + pos += get_string_width_default(formatted); + } + break; + } + case DOC_TYPE_ARRAY: + for (let i = doc2.length - 1; i >= 0; i--) { + cmds.push({ + ind, + mode, + doc: doc2[i] + }); + } + break; + case DOC_TYPE_CURSOR: + if (printedCursorCount >= 2) { + throw new Error("There are too many 'cursor' in doc."); + } + out.push(CURSOR_PLACEHOLDER); + printedCursorCount++; + break; + case DOC_TYPE_INDENT: + cmds.push({ + ind: makeIndent(ind, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_ALIGN: + cmds.push({ + ind: makeAlign(ind, doc2.n, options), + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_TRIM: + pos -= trim2(out); + break; + case DOC_TYPE_GROUP: + switch (mode) { + case MODE_FLAT: + if (!shouldRemeasure) { + cmds.push({ + ind, + mode: doc2.break ? MODE_BREAK : MODE_FLAT, + doc: doc2.contents + }); + break; + } + case MODE_BREAK: { + shouldRemeasure = false; + const next = { + ind, + mode: MODE_FLAT, + doc: doc2.contents + }; + const rem = width - pos; + const hasLineSuffix = lineSuffix2.length > 0; + if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(next); + } else { + if (doc2.expandedStates) { + const mostExpanded = at_default( + /* isOptionalObject*/ + false, + doc2.expandedStates, + -1 + ); + if (doc2.break) { + cmds.push({ + ind, + mode: MODE_BREAK, + doc: mostExpanded + }); + break; + } else { + for (let i = 1; i < doc2.expandedStates.length + 1; i++) { + if (i >= doc2.expandedStates.length) { + cmds.push({ + ind, + mode: MODE_BREAK, + doc: mostExpanded + }); + break; + } else { + const state = doc2.expandedStates[i]; + const cmd = { + ind, + mode: MODE_FLAT, + doc: state + }; + if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) { + cmds.push(cmd); + break; + } + } + } + } + } else { + cmds.push({ + ind, + mode: MODE_BREAK, + doc: doc2.contents + }); + } + } + break; + } + } + if (doc2.id) { + groupModeMap[doc2.id] = at_default( + /* isOptionalObject*/ + false, + cmds, + -1 + ).mode; + } + break; + case DOC_TYPE_FILL: { + const rem = width - pos; + const { + parts + } = doc2; + if (parts.length === 0) { + break; + } + const [content, whitespace] = parts; + const contentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: content + }; + const contentBreakCmd = { + ind, + mode: MODE_BREAK, + doc: content + }; + const contentFits = fits(contentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true); + if (parts.length === 1) { + if (contentFits) { + cmds.push(contentFlatCmd); + } else { + cmds.push(contentBreakCmd); + } + break; + } + const whitespaceFlatCmd = { + ind, + mode: MODE_FLAT, + doc: whitespace + }; + const whitespaceBreakCmd = { + ind, + mode: MODE_BREAK, + doc: whitespace + }; + if (parts.length === 2) { + if (contentFits) { + cmds.push(whitespaceFlatCmd, contentFlatCmd); + } else { + cmds.push(whitespaceBreakCmd, contentBreakCmd); + } + break; + } + parts.splice(0, 2); + const remainingCmd = { + ind, + mode, + doc: fill(parts) + }; + const secondContent = parts[0]; + const firstAndSecondContentFlatCmd = { + ind, + mode: MODE_FLAT, + doc: [content, whitespace, secondContent] + }; + const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true); + if (firstAndSecondContentFits) { + cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd); + } else if (contentFits) { + cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd); + } else { + cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd); + } + break; + } + case DOC_TYPE_IF_BREAK: + case DOC_TYPE_INDENT_IF_BREAK: { + const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode; + if (groupMode === MODE_BREAK) { + const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents); + if (breakContents) { + cmds.push({ + ind, + mode, + doc: breakContents + }); + } + } + if (groupMode === MODE_FLAT) { + const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents; + if (flatContents) { + cmds.push({ + ind, + mode, + doc: flatContents + }); + } + } + break; + } + case DOC_TYPE_LINE_SUFFIX: + lineSuffix2.push({ + ind, + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_LINE_SUFFIX_BOUNDARY: + if (lineSuffix2.length > 0) { + cmds.push({ + ind, + mode, + doc: hardlineWithoutBreakParent + }); + } + break; + case DOC_TYPE_LINE: + switch (mode) { + case MODE_FLAT: + if (!doc2.hard) { + if (!doc2.soft) { + out.push(" "); + pos += 1; + } + break; + } else { + shouldRemeasure = true; + } + case MODE_BREAK: + if (lineSuffix2.length > 0) { + cmds.push({ + ind, + mode, + doc: doc2 + }, ...lineSuffix2.reverse()); + lineSuffix2.length = 0; + break; + } + if (doc2.literal) { + if (ind.root) { + out.push(newLine, ind.root.value); + pos = ind.root.length; + } else { + out.push(newLine); + pos = 0; + } + } else { + pos -= trim2(out); + out.push(newLine + ind.value); + pos = ind.length; + } + break; + } + break; + case DOC_TYPE_LABEL: + cmds.push({ + ind, + mode, + doc: doc2.contents + }); + break; + case DOC_TYPE_BREAK_PARENT: + break; + default: + throw new invalid_doc_error_default(doc2); + } + if (cmds.length === 0 && lineSuffix2.length > 0) { + cmds.push(...lineSuffix2.reverse()); + lineSuffix2.length = 0; + } + } + const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER); + if (cursorPlaceholderIndex !== -1) { + const otherCursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER, cursorPlaceholderIndex + 1); + const beforeCursor = out.slice(0, cursorPlaceholderIndex).join(""); + const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join(""); + const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join(""); + return { + formatted: beforeCursor + aroundCursor + afterCursor, + cursorNodeStart: beforeCursor.length, + cursorNodeText: aroundCursor + }; + } + return { + formatted: out.join("") + }; +} + +// src/document/public.js +var builders = { + join, + line, + softline, + hardline, + literalline, + group, + conditionalGroup, + fill, + lineSuffix, + lineSuffixBoundary, + cursor, + breakParent, + ifBreak, + trim, + indent, + indentIfBreak, + align, + addAlignmentToDoc, + markAsRoot, + dedentToRoot, + dedent, + hardlineWithoutBreakParent, + literallineWithoutBreakParent, + label, + // TODO: Remove this in v4 + concat: (parts) => parts +}; +var printer = { printDocToString }; +var utils = { + willBreak, + traverseDoc: traverse_doc_default, + findInDoc, + mapDoc, + removeLines, + stripTrailingHardline, + replaceEndOfLine, + canBreak +}; + +// with-default-export:src/document/public.js +var public_default = public_exports; +export { + builders, + public_default as default, + printer, + utils +}; diff --git a/node_modules/prettier/esm/parser-angular.mjs b/node_modules/prettier/esm/parser-angular.mjs deleted file mode 100644 index 9b5c4e45..00000000 --- a/node_modules/prettier/esm/parser-angular.mjs +++ /dev/null @@ -1,46 +0,0 @@ -function t(e,s){const{ignoreDecorators:n}=s||{};if(!n){const s=e.declaration&&e.declaration.decorators||e.decorators;if(s&&s.length>0)return t(s[0])}return e.range?e.range[0]:e.start}function e(t){const s=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(s,e(t.typeAnnotation)):s}function s(e,s){return t(e)===t(s)}var n={locStart:t,locEnd:e,composeLoc:function(s,n=s){const r=t(s);return[r,"number"==typeof n?r+n:e(n)]},hasSameLocStart:s,hasSameLoc:function(t,n){return s(t,n)&&function(t,s){return e(t)===e(s)}(t,n)}};function r(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&s.path)}},s.exports),s.exports}var i,a=r((function(t,e){var s="\n",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,s=this.offsets;s[e+1]<=t;)e++;return{line:e,column:t-s[e]}},t.prototype.indexForLocation=function(t){var e=t.line,s=t.column;return e<0||e>=this.offsets.length||s<0||s>this.lengthOfLine(e)?null:this.offsets[e]+s},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n})),o=r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.Context=class{constructor(t){this.text=t,this.locator=new s(this.text)}};class s{constructor(t){this._lineAndColumn=new a.default(t)}locationForIndex(t){const{line:e,column:s}=this._lineAndColumn.locationForIndex(t);return{line:e+1,column:s}}}})); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -class c{constructor(t,e,s,n){this.input=e,this.errLocation=s,this.ctxLocation=n,this.message="Parser Error: ".concat(t," ").concat(s," [").concat(e,"] in ").concat(n)}}class h{constructor(t,e){this.start=t,this.end=e}toAbsolute(t){return new M(t+this.start,t+this.end)}}class p{constructor(t,e){this.span=t,this.sourceSpan=e}visit(t,e=null){return null}toString(){return"AST"}}class u extends p{constructor(t,e,s){super(t,e),this.nameSpan=s}}class l extends p{constructor(t,e,s,n,r){super(t,e),this.prefix=s,this.uninterpretedExpression=n,this.location=r}visit(t,e=null){return t.visitQuote(this,e)}toString(){return"Quote"}}class d extends p{visit(t,e=null){}}class f extends p{visit(t,e=null){return t.visitImplicitReceiver(this,e)}}class v extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitChain(this,e)}}class x extends p{constructor(t,e,s,n,r){super(t,e),this.condition=s,this.trueExp=n,this.falseExp=r}visit(t,e=null){return t.visitConditional(this,e)}}class g extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitPropertyRead(this,e)}}class m extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.value=i}visit(t,e=null){return t.visitPropertyWrite(this,e)}}class y extends u{constructor(t,e,s,n,r){super(t,e,s),this.receiver=n,this.name=r}visit(t,e=null){return t.visitSafePropertyRead(this,e)}}class S extends p{constructor(t,e,s,n){super(t,e),this.obj=s,this.key=n}visit(t,e=null){return t.visitKeyedRead(this,e)}}class w extends p{constructor(t,e,s,n,r){super(t,e),this.obj=s,this.key=n,this.value=r}visit(t,e=null){return t.visitKeyedWrite(this,e)}}class C extends u{constructor(t,e,s,n,r,i){super(t,e,i),this.exp=s,this.name=n,this.args=r}visit(t,e=null){return t.visitPipe(this,e)}}class P extends p{constructor(t,e,s){super(t,e),this.value=s}visit(t,e=null){return t.visitLiteralPrimitive(this,e)}}class E extends p{constructor(t,e,s){super(t,e),this.expressions=s}visit(t,e=null){return t.visitLiteralArray(this,e)}}class A extends p{constructor(t,e,s,n){super(t,e),this.keys=s,this.values=n}visit(t,e=null){return t.visitLiteralMap(this,e)}}class O extends p{constructor(t,e,s,n){super(t,e),this.strings=s,this.expressions=n}visit(t,e=null){return t.visitInterpolation(this,e)}}class b extends p{constructor(t,e,s,n,r){super(t,e),this.operation=s,this.left=n,this.right=r}visit(t,e=null){return t.visitBinary(this,e)}}class k extends b{constructor(t,e,s,n,r,i,a){super(t,e,r,i,a),this.operator=s,this.expr=n}static createMinus(t,e,s){return new k(t,e,"-",s,"-",new P(t,e,0),s)}static createPlus(t,e,s){return new k(t,e,"+",s,"-",s,new P(t,e,0))}visit(t,e=null){return void 0!==t.visitUnary?t.visitUnary(this,e):t.visitBinary(this,e)}}class N extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitPrefixNot(this,e)}}class I extends p{constructor(t,e,s){super(t,e),this.expression=s}visit(t,e=null){return t.visitNonNullAssert(this,e)}}class _ extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitMethodCall(this,e)}}class L extends u{constructor(t,e,s,n,r,i){super(t,e,s),this.receiver=n,this.name=r,this.args=i}visit(t,e=null){return t.visitSafeMethodCall(this,e)}}class K extends p{constructor(t,e,s,n){super(t,e),this.target=s,this.args=n}visit(t,e=null){return t.visitFunctionCall(this,e)}}class M{constructor(t,e){this.start=t,this.end=e}}class T extends p{constructor(t,e,s,n,r){super(new h(0,null===e?0:e.length),new M(n,null===e?n:n+e.length)),this.ast=t,this.source=e,this.location=s,this.errors=r}visit(t,e=null){return t.visitASTWithSource?t.visitASTWithSource(this,e):this.ast.visit(t,e)}toString(){return"".concat(this.source," in ").concat(this.location)}}class B{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class R{constructor(t,e,s){this.sourceSpan=t,this.key=e,this.value=s}}class j{visit(t,e){t.visit(this,e)}visitUnary(t,e){this.visit(t.expr,e)}visitBinary(t,e){this.visit(t.left,e),this.visit(t.right,e)}visitChain(t,e){this.visitAll(t.expressions,e)}visitConditional(t,e){this.visit(t.condition,e),this.visit(t.trueExp,e),this.visit(t.falseExp,e)}visitPipe(t,e){this.visit(t.exp,e),this.visitAll(t.args,e)}visitFunctionCall(t,e){t.target&&this.visit(t.target,e),this.visitAll(t.args,e)}visitImplicitReceiver(t,e){}visitInterpolation(t,e){this.visitAll(t.expressions,e)}visitKeyedRead(t,e){this.visit(t.obj,e),this.visit(t.key,e)}visitKeyedWrite(t,e){this.visit(t.obj,e),this.visit(t.key,e),this.visit(t.value,e)}visitLiteralArray(t,e){this.visitAll(t.expressions,e)}visitLiteralMap(t,e){this.visitAll(t.values,e)}visitLiteralPrimitive(t,e){}visitMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitPrefixNot(t,e){this.visit(t.expression,e)}visitNonNullAssert(t,e){this.visit(t.expression,e)}visitPropertyRead(t,e){this.visit(t.receiver,e)}visitPropertyWrite(t,e){this.visit(t.receiver,e),this.visit(t.value,e)}visitSafePropertyRead(t,e){this.visit(t.receiver,e)}visitSafeMethodCall(t,e){this.visit(t.receiver,e),this.visitAll(t.args,e)}visitQuote(t,e){}visitAll(t,e){for(const s of t)this.visit(s,e)}}!function(t){t[t.DEFAULT=0]="DEFAULT",t[t.LITERAL_ATTR=1]="LITERAL_ATTR",t[t.ANIMATION=2]="ANIMATION"}(i||(i={}));var F=Object.freeze({__proto__:null,ParserError:c,ParseSpan:h,AST:p,ASTWithName:u,Quote:l,EmptyExpr:d,ImplicitReceiver:f,Chain:v,Conditional:x,PropertyRead:g,PropertyWrite:m,SafePropertyRead:y,KeyedRead:S,KeyedWrite:w,BindingPipe:C,LiteralPrimitive:P,LiteralArray:E,LiteralMap:A,Interpolation:O,Binary:b,Unary:k,PrefixNot:N,NonNullAssert:I,MethodCall:_,SafeMethodCall:L,FunctionCall:K,AbsoluteSourceSpan:M,ASTWithSource:T,VariableBinding:B,ExpressionBinding:R,RecursiveAstVisitor:j,AstTransformer:class{visitImplicitReceiver(t,e){return t}visitInterpolation(t,e){return new O(t.span,t.sourceSpan,t.strings,this.visitAll(t.expressions))}visitLiteralPrimitive(t,e){return new P(t.span,t.sourceSpan,t.value)}visitPropertyRead(t,e){return new g(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitPropertyWrite(t,e){return new m(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,t.value.visit(this))}visitSafePropertyRead(t,e){return new y(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name)}visitMethodCall(t,e){return new _(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitSafeMethodCall(t,e){return new L(t.span,t.sourceSpan,t.nameSpan,t.receiver.visit(this),t.name,this.visitAll(t.args))}visitFunctionCall(t,e){return new K(t.span,t.sourceSpan,t.target.visit(this),this.visitAll(t.args))}visitLiteralArray(t,e){return new E(t.span,t.sourceSpan,this.visitAll(t.expressions))}visitLiteralMap(t,e){return new A(t.span,t.sourceSpan,t.keys,this.visitAll(t.values))}visitUnary(t,e){switch(t.operator){case"+":return k.createPlus(t.span,t.sourceSpan,t.expr.visit(this));case"-":return k.createMinus(t.span,t.sourceSpan,t.expr.visit(this));default:throw new Error("Unknown unary operator ".concat(t.operator))}}visitBinary(t,e){return new b(t.span,t.sourceSpan,t.operation,t.left.visit(this),t.right.visit(this))}visitPrefixNot(t,e){return new N(t.span,t.sourceSpan,t.expression.visit(this))}visitNonNullAssert(t,e){return new I(t.span,t.sourceSpan,t.expression.visit(this))}visitConditional(t,e){return new x(t.span,t.sourceSpan,t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this))}visitPipe(t,e){return new C(t.span,t.sourceSpan,t.exp.visit(this),t.name,this.visitAll(t.args),t.nameSpan)}visitKeyedRead(t,e){return new S(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this))}visitKeyedWrite(t,e){return new w(t.span,t.sourceSpan,t.obj.visit(this),t.key.visit(this),t.value.visit(this))}visitAll(t){const e=[];for(let s=0;s=this.length?0:this.input.charCodeAt(this.index)}scanToken(){const t=this.input,e=this.length;let s=this.peek,n=this.index;for(;s<=32;){if(++n>=e){s=0;break}s=t.charCodeAt(n)}if(this.peek=s,this.index=n,n>=e)return null;if($(s))return this.scanIdentifier();if(G(s))return this.scanNumber(n);const r=n;switch(s){case 46:return this.advance(),G(this.peek)?this.scanNumber(r):Q(r,this.index,46);case 40:case 41:case 123:case 125:case 91:case 93:case 44:case 58:case 59:return this.scanCharacter(r,s);case 39:case 34:return this.scanString();case 35:case 43:case 45:case 42:case 47:case 37:case 94:return this.scanOperator(r,String.fromCharCode(s));case 63:return this.scanComplexOperator(r,"?",46,".");case 60:case 62:return this.scanComplexOperator(r,String.fromCharCode(s),61,"=");case 33:case 61:return this.scanComplexOperator(r,String.fromCharCode(s),61,"=",61,"=");case 38:return this.scanComplexOperator(r,"&",38,"&");case 124:return this.scanComplexOperator(r,"|",124,"|");case 160:for(;(i=this.peek)>=9&&i<=32||160==i;)this.advance();return this.scanToken()}var i;return this.advance(),this.error("Unexpected character [".concat(String.fromCharCode(s),"]"),0)}scanCharacter(t,e){return this.advance(),Q(t,this.index,e)}scanOperator(t,e){return this.advance(),D(t,this.index,e)}scanComplexOperator(t,e,s,n,r,i){this.advance();let a=e;return this.peek==s&&(this.advance(),a+=n),null!=r&&this.peek==r&&(this.advance(),a+=i),D(t,this.index,a)}scanIdentifier(){const t=this.index;for(this.advance();J(this.peek);)this.advance();const e=this.input.substring(t,this.index);return W.indexOf(e)>-1?(s=t,n=this.index,r=e,new V(s,n,U.Keyword,0,r)):function(t,e,s){return new V(t,e,U.Identifier,0,s)}(t,this.index,e);var s,n,r}scanNumber(t){let e=this.index===t;for(this.advance();;){if(G(this.peek));else if(46==this.peek)e=!1;else{if(101!=(s=this.peek)&&69!=s)break;if(this.advance(),H(this.peek)&&this.advance(),!G(this.peek))return this.error("Invalid exponent",-1);e=!1}this.advance()}var s;const n=this.input.substring(t,this.index),r=e?function(t){const e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e}(n):parseFloat(n);return i=t,a=this.index,o=r,new V(i,a,U.Number,o,"");var i,a,o}scanString(){const t=this.index,e=this.peek;this.advance();let s="",n=this.index;const r=this.input;for(;this.peek!=e;)if(92==this.peek){let t;if(s+=r.substring(n,this.index),this.advance(),this.peek=this.peek,117==this.peek){const e=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(e))return this.error("Invalid unicode escape [\\u".concat(e,"]"),0);t=parseInt(e,16);for(let t=0;t<5;t++)this.advance()}else t=Z(this.peek),this.advance();s+=String.fromCharCode(t),n=this.index}else{if(0==this.peek)return this.error("Unterminated quote",0);this.advance()}const i=r.substring(n,this.index);return this.advance(),a=t,o=this.index,c=s+i,new V(a,o,U.String,0,c);var a,o,c}error(t,e){const s=this.index+e;return function(t,e,s){return new V(t,e,U.Error,0,s)}(s,this.index,"Lexer Error: ".concat(t," at column ").concat(s," in expression [").concat(this.input,"]"))}}function $(t){return 97<=t&&t<=122||65<=t&&t<=90||95==t||36==t}function X(t){if(0==t.length)return!1;const e=new q(t);if(!$(e.peek))return!1;for(e.advance();0!==e.peek;){if(!J(e.peek))return!1;e.advance()}return!0}function J(t){return function(t){return t>=97&&t<=122||t>=65&&t<=90}(t)||G(t)||95==t||36==t}function H(t){return 45==t||43==t}function Y(t){return 39===t||34===t||96===t}function Z(t){switch(t){case 110:return 10;case 102:return 12;case 114:return 13;case 116:return 9;case 118:return 11;default:return t}}var tt=Object.freeze({__proto__:null,get TokenType(){return U},Lexer:class{tokenize(t){const e=new q(t),s=[];let n=e.scanToken();for(;null!=n;)s.push(n),n=e.scanToken();return s}},Token:V,EOF:z,isIdentifier:X,isQuote:Y}); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */const et=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]; -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -class st{constructor(t,e){this.start=t,this.end=e}static fromArray(t){return t?(function(t,e){if(!(null==e||Array.isArray(e)&&2==e.length))throw new Error("Expected '".concat(t,"' to be an array, [start, end]."));if(null!=e){const t=e[0],s=e[1];et.forEach((e=>{if(e.test(t)||e.test(s))throw new Error("['".concat(t,"', '").concat(s,"'] contains unusable interpolation symbol."))}))}}("interpolation",t),new st(t[0],t[1])):nt}}const nt=new st("{{","}}");function rt(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}"undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self; -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */class it{constructor(t,e,s,n,r){this.strings=t,this.stringSpans=e,this.expressions=s,this.expressionsSpans=n,this.offsets=r}}class at{constructor(t,e,s){this.templateBindings=t,this.warnings=e,this.errors=s}}const ot=ct(nt);function ct(t){const e=rt(t.start)+"([\\s\\S]*?)"+rt(t.end);return new RegExp(e,"g")}class ht{constructor(t){this._lexer=t,this.errors=[],this.simpleExpressionChecker=lt}parseAction(t,e,s,n=nt){this._checkNoInterpolation(t,e,n);const r=this._stripComments(t),i=this._lexer.tokenize(this._stripComments(t)),a=new ut(t,e,s,i,r.length,!0,this.errors,t.length-r.length).parseChain();return new T(a,t,e,s,this.errors)}parseBinding(t,e,s,n=nt){const r=this._parseBindingAst(t,e,s,n);return new T(r,t,e,s,this.errors)}checkSimpleExpression(t){const e=new this.simpleExpressionChecker;return t.visit(e),e.errors}parseSimpleBinding(t,e,s,n=nt){const r=this._parseBindingAst(t,e,s,n),i=this.checkSimpleExpression(r);return i.length>0&&this._reportError("Host binding expression cannot contain ".concat(i.join(" ")),t,e),new T(r,t,e,s,this.errors)}_reportError(t,e,s,n){this.errors.push(new c(t,e,s,n))}_parseBindingAst(t,e,s,n){const r=this._parseQuote(t,e,s);if(null!=r)return r;this._checkNoInterpolation(t,e,n);const i=this._stripComments(t),a=this._lexer.tokenize(i);return new ut(t,e,s,a,i.length,!1,this.errors,t.length-i.length).parseChain()}_parseQuote(t,e,s){if(null==t)return null;const n=t.indexOf(":");if(-1==n)return null;const r=t.substring(0,n).trim();if(!X(r))return null;const i=t.substring(n+1),a=new h(0,t.length);return new l(a,a.toAbsolute(s),r,i,e)}parseTemplateBindings(t,e,s,n,r){const i=this._lexer.tokenize(e);return new ut(e,s,r,i,e.length,!1,this.errors,0).parseTemplateBindings({source:t,span:new M(n,n+t.length)})}parseInterpolation(t,e,s,n=nt){const r=this.splitInterpolation(t,e,n);if(null==r)return null;const i=[];for(let n=0;n0?r.push(f):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column ".concat(c," in"),e),r.push("$implicit")),i.push(n),o.push({start:s,end:d}),c=d,h=!1}else{const e=c;c=t.indexOf(u,c),-1===c&&(c=t.length);const s=t.substring(e,c);n.push(s),a.push({start:e,end:c}),h=!0}return h||(p?(n[n.length-1]+=t.substring(c),a[a.length-1].end=t.length):(n.push(t.substring(c)),a.push({start:c,end:t.length}))),0===r.length?null:new it(n,a,r,o,i)}wrapLiteralPrimitive(t,e,s){const n=new h(0,null==t?0:t.length);return new T(new P(n,n.toAbsolute(s),t),t,e,s,this.errors)}_stripComments(t){const e=this._commentStart(t);return null!=e?t.substring(0,e).trim():t}_commentStart(t){let e=null;for(let s=0;s1&&this._reportError("Got interpolation (".concat(s.start).concat(s.end,") where expression was expected"),t,"at column ".concat(this._findInterpolationErrorColumn(i,1,s)," in"),e)}_findInterpolationErrorColumn(t,e,s){let n="";for(let r=0;r=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){if(this.index>0){return this.peek(-1).end+this.offset}return 0===this.tokens.length?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(t){return new h(t,this.currentEndIndex)}sourceSpan(t){const e="".concat(t,"@").concat(this.inputIndex);return this.sourceSpanCache.has(e)||this.sourceSpanCache.set(e,this.span(t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(e)}advance(){this.index++}withContext(t,e){this.context|=t;const s=e();return this.context^=t,s}consumeOptionalCharacter(t){return!!this.next.isCharacter(t)&&(this.advance(),!0)}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(t){this.consumeOptionalCharacter(t)||this.error("Missing expected ".concat(String.fromCharCode(t)))}consumeOptionalOperator(t){return!!this.next.isOperator(t)&&(this.advance(),!0)}expectOperator(t){this.consumeOptionalOperator(t)||this.error("Missing expected operator ".concat(t))}prettyPrintToken(t){return t===z?"end of input":"token ".concat(t)}expectIdentifierOrKeyword(){const t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error("Unexpected ".concat(this.prettyPrintToken(t),", expected identifier or keyword")),"")}expectIdentifierOrKeywordOrString(){const t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error("Unexpected ".concat(this.prettyPrintToken(t),", expected identifier, keyword, or string")),"")}parseChain(){const t=[],e=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();const s=this.parseAdditive(),{start:n}=t.span;t=new b(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseAdditive(){let t=this.parseMultiplicative();for(;this.next.type==U.Operator;){const e=this.next.strValue;switch(e){case"+":case"-":this.advance();let s=this.parseMultiplicative();const{start:n}=t.span;t=new b(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parseMultiplicative(){let t=this.parsePrefix();for(;this.next.type==U.Operator;){const e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();let s=this.parsePrefix();const{start:n}=t.span;t=new b(this.span(n),this.sourceSpan(n),e,t,s);continue}break}return t}parsePrefix(){if(this.next.type==U.Operator){const t=this.inputIndex;let e;switch(this.next.strValue){case"+":return this.advance(),e=this.parsePrefix(),k.createPlus(this.span(t),this.sourceSpan(t),e);case"-":return this.advance(),e=this.parsePrefix(),k.createMinus(this.span(t),this.sourceSpan(t),e);case"!":return this.advance(),e=this.parsePrefix(),new N(this.span(t),this.sourceSpan(t),e)}}return this.parseCallChain()}parseCallChain(){let t=this.parsePrimary();const e=t.span.start;for(;;)if(this.consumeOptionalCharacter(46))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.consumeOptionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.consumeOptionalCharacter(91))this.withContext(pt.Writable,(()=>{this.rbracketsExpected++;const s=this.parsePipe();if(s instanceof d&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(93),this.consumeOptionalOperator("=")){const n=this.parseConditional();t=new w(this.span(e),this.sourceSpan(e),t,s,n)}else t=new S(this.span(e),this.sourceSpan(e),t,s)}));else if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const s=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),t=new K(this.span(e),this.sourceSpan(e),t,s)}else{if(!this.consumeOptionalOperator("!"))return t;t=new I(this.span(e),this.sourceSpan(e),t)}}parsePrimary(){const t=this.inputIndex;if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(41),t}if(this.next.isKeywordNull())return this.advance(),new P(this.span(t),this.sourceSpan(t),null);if(this.next.isKeywordUndefined())return this.advance(),new P(this.span(t),this.sourceSpan(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new P(this.span(t),this.sourceSpan(t),!0);if(this.next.isKeywordFalse())return this.advance(),new P(this.span(t),this.sourceSpan(t),!1);if(this.next.isKeywordThis())return this.advance(),new f(this.span(t),this.sourceSpan(t));if(this.consumeOptionalCharacter(91)){this.rbracketsExpected++;const e=this.parseExpressionList(93);return this.rbracketsExpected--,this.expectCharacter(93),new E(this.span(t),this.sourceSpan(t),e)}if(this.next.isCharacter(123))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new f(this.span(t),this.sourceSpan(t)),!1);if(this.next.isNumber()){const e=this.next.toNumber();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}if(this.next.isString()){const e=this.next.toString();return this.advance(),new P(this.span(t),this.sourceSpan(t),e)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: ".concat(this.input)),new d(this.span(t),this.sourceSpan(t))):(this.error("Unexpected token ".concat(this.next)),new d(this.span(t),this.sourceSpan(t)))}parseExpressionList(t){const e=[];if(!this.next.isCharacter(t))do{e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return e}parseLiteralMap(){const t=[],e=[],s=this.inputIndex;if(this.expectCharacter(123),!this.consumeOptionalCharacter(125)){this.rbracesExpected++;do{const s=this.next.isString(),n=this.expectIdentifierOrKeywordOrString();t.push({key:n,quoted:s}),this.expectCharacter(58),e.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}return new A(this.span(s),this.sourceSpan(s),t,e)}parseAccessMemberOrMethodCall(t,e=!1){const s=t.span.start,n=this.inputIndex,r=this.expectIdentifierOrKeyword(),i=this.sourceSpan(n);if(this.consumeOptionalCharacter(40)){this.rparensExpected++;const n=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;const a=this.span(s),o=this.sourceSpan(s);return e?new L(a,o,i,t,r,n):new _(a,o,i,t,r,n)}if(e)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new d(this.span(s),this.sourceSpan(s))):new y(this.span(s),this.sourceSpan(s),i,t,r);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new d(this.span(s),this.sourceSpan(s));const e=this.parseConditional();return new m(this.span(s),this.sourceSpan(s),i,t,r,e)}return new g(this.span(s),this.sourceSpan(s),i,t,r)}parseCallArguments(){if(this.next.isCharacter(41))return[];const t=[];do{t.push(this.parsePipe())}while(this.consumeOptionalCharacter(44));return t}expectTemplateBindingKey(){let t="",e=!1;const s=this.currentAbsoluteOffset;do{t+=this.expectIdentifierOrKeywordOrString(),e=this.consumeOptionalOperator("-"),e&&(t+="-")}while(e);return{source:t,span:new M(s,s+t.length)}}parseTemplateBindings(t){const e=[];for(e.push(...this.parseDirectiveKeywordBindings(t));this.indext.visit(this,e)))}visitChain(t,e){}visitQuote(t,e){}}class dt extends j{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}var ft=Object.freeze({__proto__:null,SplitInterpolation:it,TemplateBindingParseResult:at,Parser:ht,IvyParser:class extends ht{constructor(){super(...arguments),this.simpleExpressionChecker=dt}},_ParseAST:ut}),vt=r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});const s="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";const n=[s,0];function r(){return new ft.Parser(new tt.Lexer)}function i(t,e){const s=r(),{astInput:n,comments:i}=c(t,s),{ast:a,errors:h}=e(n,s);return o(h),{ast:a,comments:i}}function a(t,e){if(t&&"object"==typeof t){if(Array.isArray(t))return t.forEach((t=>a(t,e)));for(const s of Object.keys(t)){const n=t[s];"span"===s?e(n):a(n,e)}}}function o(t){if(0!==t.length){const[{message:e}]=t;throw new SyntaxError(e.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function c(t,e){const s=e._commentStart(t);return null===s?{astInput:t,comments:[]}:{astInput:t.slice(0,s),comments:[{type:"Comment",value:t.slice(s+"//".length),span:{start:s,end:t.length}}]}}function h({start:t,end:e},s){let n=t,r=e;for(;r!==n&&/\s/.test(s[r-1]);)r--;for(;n!==r&&/\s/.test(s[n]);)n++;return{start:n,end:r}}function p({start:t,end:e},s){let n=t,r=e;for(;r!==s.length&&/\s/.test(s[r]);)r++;for(;0!==n&&/\s/.test(s[n-1]);)n--;return{start:n,end:r}}function u(t,e){return"("===e[t.start-1]&&")"===e[t.end]?{start:t.start-1,end:t.end+1}:t}e.parseNgBinding=function(t){return i(t,((t,e)=>e.parseBinding(t,...n)))},e.parseNgSimpleBinding=function(t){return i(t,((t,e)=>e.parseSimpleBinding(t,...n)))},e.parseNgAction=function(t){return i(t,((t,e)=>e.parseAction(t,...n)))},e.parseNgTemplateBindings=function(t){const n=r(),{templateBindings:i,errors:a}=n.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,t,s,0,0);return o(a),i},e.parseNgInterpolation=function(t){const e=r(),{astInput:s,comments:i}=c(t,e),h="{{",{ast:p,errors:u}=e.parseInterpolation(h+s+"}}",...n);o(u);const l=p.expressions[0],d=new Set;return a(l,(t=>{d.has(t)||(t.start-=h.length,t.end-=h.length,d.add(t))})),{ast:l,comments:i}},e.getNgType=function(t){return F.Unary&&t instanceof F.Unary?"Unary":t instanceof F.Binary?"Binary":t instanceof F.BindingPipe?"BindingPipe":t instanceof F.Chain?"Chain":t instanceof F.Conditional?"Conditional":t instanceof F.EmptyExpr?"EmptyExpr":t instanceof F.FunctionCall?"FunctionCall":t instanceof F.ImplicitReceiver?"ImplicitReceiver":t instanceof F.KeyedRead?"KeyedRead":t instanceof F.KeyedWrite?"KeyedWrite":t instanceof F.LiteralArray?"LiteralArray":t instanceof F.LiteralMap?"LiteralMap":t instanceof F.LiteralPrimitive?"LiteralPrimitive":t instanceof F.MethodCall?"MethodCall":t instanceof F.NonNullAssert?"NonNullAssert":t instanceof F.PrefixNot?"PrefixNot":t instanceof F.PropertyRead?"PropertyRead":t instanceof F.PropertyWrite?"PropertyWrite":t instanceof F.Quote?"Quote":t instanceof F.SafeMethodCall?"SafeMethodCall":t instanceof F.SafePropertyRead?"SafePropertyRead":t.type},e.fitSpans=function(t,e,s){let n=0;const r={start:t.start,end:t.end};for(;;){const t=p(r,e),s=u(t,e);if(t.start===s.start&&t.end===s.end)break;r.start=s.start,r.end=s.end,n++}return{hasParens:0!==(s?n-1:n),outerSpan:h(s?{start:r.start+1,end:r.end-1}:r,e),innerSpan:h(t,e)}},e.findFrontChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(--n<0)throw new Error("Cannot find front char ".concat(t," from index ").concat(e," in ").concat(JSON.stringify(s)));return n},e.findBackChar=function(t,e,s){let n=e;for(;!t.test(s[n]);)if(++n>=s.length)throw new Error("Cannot find back char ".concat(t," from index ").concat(e," in ").concat(JSON.stringify(s)));return n},e.toLowerCamelCase=function(t){return t.slice(0,1).toLowerCase()+t.slice(1)},e.getLast=function(t){return 0===t.length?void 0:t[t.length-1]}})),xt=r((function(t,e){function s(t,e,s=!1,n=!1){if(!s){const{start:s,end:n}=t;return{start:s,end:n,loc:{start:e.locator.locationForIndex(s),end:e.locator.locationForIndex(n)}}}const{outerSpan:r,innerSpan:i,hasParens:a}=vt.fitSpans(t,e.text,n);return Object.assign({start:i.start,end:i.end,loc:{start:e.locator.locationForIndex(i.start),end:e.locator.locationForIndex(i.end)}},a&&{extra:{parenthesized:!0,parenStart:r.start,parenEnd:r.end}})}Object.defineProperty(e,"__esModule",{value:!0}),e.transform=(t,n,r=!1)=>{const i=vt.getNgType(t);switch(i){case"Unary":{const{operator:e,expr:s}=t;return c("UnaryExpression",{prefix:!0,argument:a(s),operator:e},t.span,{hasParentParens:r})}case"Binary":{const{left:e,operation:s,right:n}=t,i=n.span.start===n.span.end,o=e.span.start===e.span.end;if(i||o){const s=e.span.start===e.span.end?a(n):a(e);return c("UnaryExpression",{prefix:!0,argument:s,operator:i?"+":"-"},{start:t.span.start,end:x(s)},{hasParentParens:r})}const h=a(e),p=a(n);return c("&&"===s||"||"===s?"LogicalExpression":"BinaryExpression",{left:h,right:p,operator:s},{start:v(h),end:x(p)},{hasParentParens:r})}case"BindingPipe":{const{exp:e,name:s,args:n}=t,i=a(e),o=u(/\S/,u(/\|/,x(i))+1),h=c("Identifier",{name:s},{start:o,end:o+s.length}),p=n.map(a);return c("NGPipeExpression",{left:i,right:h,arguments:p},{start:v(i),end:x(0===p.length?h:vt.getLast(p))},{hasParentParens:r})}case"Chain":{const{expressions:e}=t;return c("NGChainedExpression",{expressions:e.map(a)},t.span,{hasParentParens:r})}case"Comment":{const{value:e}=t;return c("CommentLine",{value:e},t.span,{processSpan:!1})}case"Conditional":{const{condition:e,trueExp:s,falseExp:n}=t,i=a(e),o=a(s),h=a(n);return c("ConditionalExpression",{test:i,consequent:o,alternate:h},{start:v(i),end:x(h)},{hasParentParens:r})}case"EmptyExpr":return c("NGEmptyExpression",{},t.span,{hasParentParens:r});case"FunctionCall":{const{target:e,args:s}=t,n=1===s.length?[o(s[0])]:s.map(a),i=a(e);return c("CallExpression",{callee:i,arguments:n},{start:v(i),end:t.span.end},{hasParentParens:r})}case"ImplicitReceiver":return c("ThisExpression",{},t.span,{hasParentParens:r});case"KeyedRead":{const{obj:e,key:s}=t;return h(e,a(s),{computed:!0,optional:!1},{end:t.span.end,hasParentParens:r})}case"LiteralArray":{const{expressions:e}=t;return c("ArrayExpression",{elements:e.map(a)},t.span,{hasParentParens:r})}case"LiteralMap":{const{keys:e,values:s}=t,n=s.map((t=>a(t))),i=e.map((({key:e,quoted:s},r)=>{const i=n[r],a={start:u(/\S/,0===r?t.span.start+1:u(/,/,x(n[r-1]))+1),end:p(/\S/,p(/:/,v(i)-1)-1)+1},o=s?c("StringLiteral",{value:e},a):c("Identifier",{name:e},a);return c("ObjectProperty",{key:o,value:i,method:!1,shorthand:!1,computed:!1},{start:v(o),end:x(i)})}));return c("ObjectExpression",{properties:i},t.span,{hasParentParens:r})}case"LiteralPrimitive":{const{value:e}=t;switch(typeof e){case"boolean":return c("BooleanLiteral",{value:e},t.span,{hasParentParens:r});case"number":return c("NumericLiteral",{value:e},t.span,{hasParentParens:r});case"object":return c("NullLiteral",{},t.span,{hasParentParens:r});case"string":return c("StringLiteral",{value:e},t.span,{hasParentParens:r});case"undefined":return c("Identifier",{name:"undefined"},t.span,{hasParentParens:r});default:throw new Error("Unexpected LiteralPrimitive value type ".concat(typeof e))}}case"MethodCall":case"SafeMethodCall":{const e="SafeMethodCall"===i,{receiver:s,name:n,args:u}=t,l=1===u.length?[o(u[0])]:u.map(a),f=p(/\S/,p(/\(/,(0===l.length?p(/\)/,t.span.end-1):v(l[0]))-1)-1)+1,x=h(s,c("Identifier",{name:n},{start:f-n.length,end:f}),{computed:!1,optional:e}),g=d(x);return c(e||g?"OptionalCallExpression":"CallExpression",{callee:x,arguments:l},{start:v(x),end:t.span.end},{hasParentParens:r})}case"NonNullAssert":{const{expression:e}=t,s=a(e);return c("TSNonNullExpression",{expression:s},{start:v(s),end:t.span.end},{hasParentParens:r})}case"PrefixNot":{const{expression:e}=t,s=a(e);return c("UnaryExpression",{prefix:!0,operator:"!",argument:s},{start:t.span.start,end:x(s)},{hasParentParens:r})}case"PropertyRead":case"SafePropertyRead":{const e="SafePropertyRead"===i,{receiver:s,name:n}=t,a=p(/\S/,t.span.end-1)+1;return h(s,c("Identifier",{name:n},{start:a-n.length,end:a},l(s)?{hasParentParens:r}:{}),{computed:!1,optional:e},{hasParentParens:r})}case"KeyedWrite":{const{obj:e,key:s,value:n}=t,i=a(s),o=a(n),p=h(e,i,{computed:!0,optional:!1},{end:u(/\]/,x(i))+1});return c("AssignmentExpression",{left:p,operator:"=",right:o},{start:v(p),end:x(o)},{hasParentParens:r})}case"PropertyWrite":{const{receiver:e,name:s,value:n}=t,i=a(n),o=p(/\S/,p(/=/,v(i)-1)-1)+1,u=h(e,c("Identifier",{name:s},{start:o-s.length,end:o}),{computed:!1,optional:!1});return c("AssignmentExpression",{left:u,operator:"=",right:i},{start:v(u),end:x(i)},{hasParentParens:r})}case"Quote":{const{prefix:e,uninterpretedExpression:s}=t;return c("NGQuotedExpression",{prefix:e,value:s},t.span,{hasParentParens:r})}default:throw new Error("Unexpected node ".concat(i))}function a(t){return e.transform(t,n)}function o(t){return e.transform(t,n,!0)}function c(t,e,r,{processSpan:i=!0,hasParentParens:a=!1}={}){const o=Object.assign(Object.assign({type:t},s(r,n,i,a)),e);switch(t){case"Identifier":{const t=o;t.loc.identifierName=t.name;break}case"NumericLiteral":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}case"StringLiteral":{const t=o;t.extra=Object.assign(Object.assign({},t.extra),{raw:n.text.slice(t.start,t.end),rawValue:t.value});break}}return o}function h(t,e,s,{end:n=x(e),hasParentParens:r=!1}={}){if(l(t))return e;const i=a(t),o=d(i);return c(s.optional||o?"OptionalMemberExpression":"MemberExpression",Object.assign({object:i,property:e,computed:s.computed},s.optional?{optional:!0}:o?{optional:!1}:null),{start:v(i),end:n},{hasParentParens:r})}function p(t,e){return vt.findFrontChar(t,e,n.text)}function u(t,e){return vt.findBackChar(t,e,n.text)}function l(t){return t.span.start>=t.span.end}function d(t){return("OptionalCallExpression"===t.type||"OptionalMemberExpression"===t.type)&&!f(t)}function f(t){return t.extra&&t.extra.parenthesized}function v(t){return f(t)?t.extra.parenStart:t.start}function x(t){return f(t)?t.extra.parenEnd:t.end}},e.transformSpan=s})),gt=r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.transformTemplateBindings=function(t,e){t.forEach((function(t){d(t.key.span),l(t)&&t.value&&d(t.value.span)}));const[s]=t,{key:n}=s,r=0===e.text.slice(s.sourceSpan.start,s.sourceSpan.end).trim().length?t.slice(1):t,i=[];let a=null;for(let t=0;tObject.assign(Object.assign({},t),xt.transformSpan({start:t.start,end:s},e)),r=e=>Object.assign(Object.assign({},n(e,t.end)),{alias:t}),a=i.pop();if("NGMicrosyntaxExpression"===a.type)i.push(r(a));else{if("NGMicrosyntaxKeyedExpression"!==a.type)throw new Error("Unexpected type ".concat(a.type));{const t=r(a.expression);i.push(n(Object.assign(Object.assign({},a),{expression:t}),t.end))}}}else i.push(o(s,t));a=s}return h("NGMicrosyntax",{body:i},0===i.length?t[0].sourceSpan:{start:i[0].start,end:i[i.length-1].end});function o(t,s){if(u(t)){const{key:e,value:n}=t;return n?0===s?h("NGMicrosyntaxExpression",{expression:c(n.ast),alias:null},n.sourceSpan):h("NGMicrosyntaxKeyedExpression",{key:h("NGMicrosyntaxKey",{name:p(e.source)},e.span),expression:h("NGMicrosyntaxExpression",{expression:c(n.ast),alias:null},n.sourceSpan)},{start:e.span.start,end:n.sourceSpan.end}):h("NGMicrosyntaxKey",{name:p(e.source)},e.span)}{const{key:s,sourceSpan:n}=t;if(/^let\s$/.test(e.text.slice(n.start,n.start+4))){const{value:e}=t;return h("NGMicrosyntaxLet",{key:h("NGMicrosyntaxKey",{name:s.source},s.span),value:e?h("NGMicrosyntaxKey",{name:e.source},e.span):null},{start:n.start,end:e?e.span.end:s.span.end})}{const n=function(t){if(!t.value||t.value.source!==vt.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX)return t.value;const s=vt.findBackChar(/\S/,t.sourceSpan.start,e.text);return{source:"$implicit",span:{start:s,end:s}}}(t);return h("NGMicrosyntaxAs",{key:h("NGMicrosyntaxKey",{name:n.source},n.span),alias:h("NGMicrosyntaxKey",{name:s.source},s.span)},{start:n.span.start,end:s.span.end})}}}function c(t){return xt.transform(t,e)}function h(t,s,n,r=!0){return Object.assign(Object.assign({type:t},xt.transformSpan(n,e,r)),s)}function p(t){return vt.toLowerCamelCase(t.slice(n.source.length))}function u(t){return t instanceof F.ExpressionBinding}function l(t){return t instanceof F.VariableBinding}function d(t){if('"'!==e.text[t.start]&&"'"!==e.text[t.start])return;const s=e.text[t.start];let n=!1;for(let r=t.start+1;rxt.transform(t,r),a=i(s);return a.comments=n.map(i),a}Object.defineProperty(e,"__esModule",{value:!0}),e.parseBinding=function(t){return s(t,vt.parseNgBinding)},e.parseSimpleBinding=function(t){return s(t,vt.parseNgSimpleBinding)},e.parseInterpolation=function(t){return s(t,vt.parseNgInterpolation)},e.parseAction=function(t){return s(t,vt.parseNgAction)},e.parseTemplateBindings=function(t){return gt.transformTemplateBindings(vt.parseNgTemplateBindings(t),new o.Context(t))}}));const{locStart:yt,locEnd:St}=n;function wt(t){return{astFormat:"estree",parse:(e,s,n)=>{const r=t(e,mt);return{type:"NGRoot",node:"__ng_action"===n.parser&&"NGChainedExpression"!==r.type?Object.assign({},r,{type:"NGChainedExpression",expressions:[r]}):r}},locStart:yt,locEnd:St}}var Ct={parsers:{__ng_action:wt(((t,e)=>e.parseAction(t))),__ng_binding:wt(((t,e)=>e.parseBinding(t))),__ng_interpolation:wt(((t,e)=>e.parseInterpolation(t))),__ng_directive:wt(((t,e)=>e.parseTemplateBindings(t)))}};export default Ct; diff --git a/node_modules/prettier/esm/parser-babel.mjs b/node_modules/prettier/esm/parser-babel.mjs deleted file mode 100644 index a04aa732..00000000 --- a/node_modules/prettier/esm/parser-babel.mjs +++ /dev/null @@ -1 +0,0 @@ -var t=function(t,e){const s=new SyntaxError(t+" ("+e.start.line+":"+e.start.column+")");return s.loc=e,s},e=t=>"string"==typeof t?t.replace((({onlyFirst:t=!1}={})=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")})(),""):t;const s=t=>!Number.isNaN(t)&&(t>=4352&&(t<=4447||9001===t||9002===t||11904<=t&&t<=12871&&12351!==t||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141));var r=s,i=s;r.default=i;const n=t=>{if("string"!=typeof(t=t.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===t.length)return 0;t=e(t);let s=0;for(let e=0;e=127&&i<=159||(i>=768&&i<=879||(i>65535&&e++,s+=r(i)?2:1))}return s};var a=n,o=n;a.default=o;var u=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function h(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}var c="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function p(){throw new Error("setTimeout has not been defined")}function l(){throw new Error("clearTimeout has not been defined")}var d=p,D=l;function m(t){if(d===setTimeout)return setTimeout(t,0);if((d===p||!d)&&setTimeout)return d=setTimeout,setTimeout(t,0);try{return d(t,0)}catch(e){try{return d.call(null,t,0)}catch(e){return d.call(this,t,0)}}}"function"==typeof c.setTimeout&&(d=setTimeout),"function"==typeof c.clearTimeout&&(D=clearTimeout);var f,y=[],E=!1,A=-1;function C(){E&&f&&(E=!1,f.length?y=f.concat(y):A=-1,y.length&&x())}function x(){if(!E){var t=m(C);E=!0;for(var e=y.length;e;){for(f=y,y=[];++A1)for(var s=1;sconsole.error("SEMVER",...t):()=>{};var M={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function R(t,e,s){return t(s={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&s.path)}},s.exports),s.exports}function _(t){return t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var j=R((function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:s}=M,r=(e=t.exports={}).re=[],i=e.src=[],n=e.t={};let a=0;const o=(t,e,s)=>{const o=a++;O(o,e),n[t]=o,i[o]=e,r[o]=new RegExp(e,s?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*"),o("NUMERICIDENTIFIERLOOSE","[0-9]+"),o("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),o("MAINVERSION","(".concat(i[n.NUMERICIDENTIFIER],")\\.")+"(".concat(i[n.NUMERICIDENTIFIER],")\\.")+"(".concat(i[n.NUMERICIDENTIFIER],")")),o("MAINVERSIONLOOSE","(".concat(i[n.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[n.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[n.NUMERICIDENTIFIERLOOSE],")")),o("PRERELEASEIDENTIFIER","(?:".concat(i[n.NUMERICIDENTIFIER],"|").concat(i[n.NONNUMERICIDENTIFIER],")")),o("PRERELEASEIDENTIFIERLOOSE","(?:".concat(i[n.NUMERICIDENTIFIERLOOSE],"|").concat(i[n.NONNUMERICIDENTIFIER],")")),o("PRERELEASE","(?:-(".concat(i[n.PRERELEASEIDENTIFIER],"(?:\\.").concat(i[n.PRERELEASEIDENTIFIER],")*))")),o("PRERELEASELOOSE","(?:-?(".concat(i[n.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(i[n.PRERELEASEIDENTIFIERLOOSE],")*))")),o("BUILDIDENTIFIER","[0-9A-Za-z-]+"),o("BUILD","(?:\\+(".concat(i[n.BUILDIDENTIFIER],"(?:\\.").concat(i[n.BUILDIDENTIFIER],")*))")),o("FULLPLAIN","v?".concat(i[n.MAINVERSION]).concat(i[n.PRERELEASE],"?").concat(i[n.BUILD],"?")),o("FULL","^".concat(i[n.FULLPLAIN],"$")),o("LOOSEPLAIN","[v=\\s]*".concat(i[n.MAINVERSIONLOOSE]).concat(i[n.PRERELEASELOOSE],"?").concat(i[n.BUILD],"?")),o("LOOSE","^".concat(i[n.LOOSEPLAIN],"$")),o("GTLT","((?:<|>)?=?)"),o("XRANGEIDENTIFIERLOOSE","".concat(i[n.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),o("XRANGEIDENTIFIER","".concat(i[n.NUMERICIDENTIFIER],"|x|X|\\*")),o("XRANGEPLAIN","[v=\\s]*(".concat(i[n.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[n.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[n.XRANGEIDENTIFIER],")")+"(?:".concat(i[n.PRERELEASE],")?").concat(i[n.BUILD],"?")+")?)?"),o("XRANGEPLAINLOOSE","[v=\\s]*(".concat(i[n.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[n.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[n.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(i[n.PRERELEASELOOSE],")?").concat(i[n.BUILD],"?")+")?)?"),o("XRANGE","^".concat(i[n.GTLT],"\\s*").concat(i[n.XRANGEPLAIN],"$")),o("XRANGELOOSE","^".concat(i[n.GTLT],"\\s*").concat(i[n.XRANGEPLAINLOOSE],"$")),o("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(s,"})")+"(?:\\.(\\d{1,".concat(s,"}))?")+"(?:\\.(\\d{1,".concat(s,"}))?")+"(?:$|[^\\d])"),o("COERCERTL",i[n.COERCE],!0),o("LONETILDE","(?:~>?)"),o("TILDETRIM","(\\s*)".concat(i[n.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",o("TILDE","^".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAIN],"$")),o("TILDELOOSE","^".concat(i[n.LONETILDE]).concat(i[n.XRANGEPLAINLOOSE],"$")),o("LONECARET","(?:\\^)"),o("CARETTRIM","(\\s*)".concat(i[n.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",o("CARET","^".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAIN],"$")),o("CARETLOOSE","^".concat(i[n.LONECARET]).concat(i[n.XRANGEPLAINLOOSE],"$")),o("COMPARATORLOOSE","^".concat(i[n.GTLT],"\\s*(").concat(i[n.LOOSEPLAIN],")$|^$")),o("COMPARATOR","^".concat(i[n.GTLT],"\\s*(").concat(i[n.FULLPLAIN],")$|^$")),o("COMPARATORTRIM","(\\s*)".concat(i[n.GTLT],"\\s*(").concat(i[n.LOOSEPLAIN],"|").concat(i[n.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",o("HYPHENRANGE","^\\s*(".concat(i[n.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(i[n.XRANGEPLAIN],")")+"\\s*$"),o("HYPHENRANGELOOSE","^\\s*(".concat(i[n.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(i[n.XRANGEPLAINLOOSE],")")+"\\s*$"),o("STAR","(<|>)?=?\\s*\\*"),o("GTE0","^\\s*>=\\s*0.0.0\\s*$"),o("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const U=/^[0-9]+$/,q=(t,e)=>{const s=U.test(t),r=U.test(e);return s&&r&&(t=+t,e=+e),t===e?0:s&&!r?-1:r&&!s?1:tq(e,t)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=M,{re:W,t:G}=j,{compareIdentifiers:X}=V;class K{constructor(t,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),t instanceof K){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError("Invalid Version: ".concat(t));if(t.length>z)throw new TypeError("version is longer than ".concat(z," characters"));O("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const s=t.trim().match(e.loose?W[G.LOOSE]:W[G.FULL]);if(!s)throw new TypeError("Invalid Version: ".concat(t));if(this.raw=t,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>H||this.major<0)throw new TypeError("Invalid major version");if(this.minor>H||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>H||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: ".concat(t))}return this.format(),this.raw=this.version,this}}var J=K;var $=(t,e,s)=>new J(t,s).compare(new J(e,s));var Y=(t,e,s)=>$(t,e,s)<0;var Q=(t,e,s)=>$(t,e,s)>=0,Z="2.2.1",tt=R((function(t,e){function s(){for(var t=[],e=0;e"string"==typeof t||"function"==typeof t,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:t=>"string"==typeof t||"object"==typeof t,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:ot(it()),exception:t=>"string"==typeof t||"object"==typeof t,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:ot(rt()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:ot(st()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:ot(et()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const ht={compare:$,lt:Y,gte:Q},ct=Z,pt={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:ut}.options;var lt={getSupportInfo:function({plugins:t=[],showUnreleased:e=!1,showDeprecated:s=!1,showInternal:r=!1}={}){const i=ct.split("-",1)[0],n=t.reduce(((t,e)=>t.concat(e.languages||[])),[]).filter(h),a=(o=Object.assign({},...t.map((({options:t})=>t)),pt),u="name",Object.entries(o).map((([t,e])=>Object.assign({[u]:t},e)))).filter((t=>h(t)&&c(t))).sort(((t,e)=>t.name===e.name?0:t.name=0||(i[s]=t[s]);return i}(t,["cliName","cliCategory","cliDescription"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(h).sort(((t,e)=>ht.compare(e.since,t.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((t=>h(t)&&c(t))),"parser"===e.name&&function(t,e,s){const r=new Set(t.choices.map((t=>t.value)));for(const i of e)if(i.parsers)for(const e of i.parsers)if(!r.has(e)){r.add(e);const n=s.find((t=>t.parsers&&t.parsers[e]));let a=i.name;n&&n.name&&(a+=" (plugin: ".concat(n.name,")")),t.choices.push({value:e,description:a})}}(e,n,t));const s=t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).reduce(((t,s)=>(t[s.name]=s.defaultOptions[e.name],t)),{});return Object.assign({},e,{pluginDefaults:s})}));var o,u;return{languages:n,options:a};function h(t){return e||!("since"in t)||t.since&&ht.gte(i,t.since)}function c(t){return s||!("deprecated"in t)||t.deprecated&&ht.lt(i,t.deprecated)}}};const{getSupportInfo:dt}=lt,Dt=/[^\x20-\x7F]/;function mt(t){return(e,s,r)=>{const i=r&&r.backwards;if(!1===s)return!1;const{length:n}=e;let a=s;for(;a>=0&&a(s.match(a.regex)||[]).length?a.quote:n.quote}return o}function St(t,e,s){const r='"'===e?"'":'"',i=t.replace(/\\([\S\s])|(["'])/g,((t,i,n)=>i===r?i:n===e?"\\"+n:n||(s&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return e+i+e}function Nt(t,e){(t.comments||(t.comments=[])).push(e),e.printed=!1,"JSXText"===t.type&&(e.printed=!0)}var It={inferParserByLanguage:function(t,e){const{languages:s}=dt({plugins:e.plugins}),r=s.find((({name:e})=>e.toLowerCase()===t))||s.find((({aliases:e})=>Array.isArray(e)&&e.includes(t)))||s.find((({extensions:e})=>Array.isArray(e)&&e.includes(".".concat(t))));return r&&r.parsers[0]},replaceEndOfLineWith:function(t,e){const s=[];for(const r of t.split("\n"))0!==s.length&&s.push(e),s.push(r);return s},getStringWidth:function(t){return t?Dt.test(t)?a(t):t.length:0},getMaxContinuousCount:function(t,e){const s=t.match(new RegExp("(".concat(u(e),")+"),"g"));return null===s?0:s.reduce(((t,s)=>Math.max(t,s.length/e.length)),0)},getMinNotPresentContinuousCount:function(t,e){const s=t.match(new RegExp("(".concat(u(e),")+"),"g"));if(null===s)return 0;const r=new Map;let i=0;for(const t of s){const s=t.length/e.length;r.set(s,!0),s>i&&(i=s)}for(let t=1;tt[t.length-2],getLast:t=>t[t.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Pt,getNextNonSpaceNonCommentCharacterIndex:Tt,getNextNonSpaceNonCommentCharacter:function(t,e,s){return t.charAt(Tt(t,e,s))},skip:mt,skipWhitespace:ft,skipSpaces:yt,skipToLineEnd:Et,skipEverythingButNewLine:At,skipInlineComment:Ct,skipTrailingComment:xt,skipNewline:Ft,isNextLineEmptyAfterIndex:bt,isNextLineEmpty:function(t,e,s){return bt(t,s(e))},isPreviousLineEmpty:function(t,e,s){let r=s(e)-1;return r=yt(t,r,{backwards:!0}),r=Ft(t,r,{backwards:!0}),r=yt(t,r,{backwards:!0}),r!==Ft(t,r,{backwards:!0})},hasNewline:gt,hasNewlineInRange:function(t,e,s){for(let r=e;r"browser",cpus:()=>[{model:"Prettier"}]}});const kt=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");const e=t.match(/(?:\r?\n)/g)||[];if(0===e.length)return;const s=e.filter((t=>"\r\n"===t)).length;return s>e.length-s?"\r\n":"\n"};var Lt=kt;Lt.graceful=t=>"string"==typeof t&&kt(t)||"\n";var Ot=_(vt),Mt=R((function(t,e){function s(){const t=Ot;return s=function(){return t},t}function r(){const t=(e=Lt)&&e.__esModule?e:{default:e};var e;return r=function(){return t},t}Object.defineProperty(e,"__esModule",{value:!0}),e.extract=function(t){const e=t.match(a);return e?e[0].trimLeft():""},e.strip=function(t){const e=t.match(a);return e&&e[0]?t.substring(e[0].length):t},e.parse=function(t){return d(t).pragmas},e.parseWithComments=d,e.print=function({comments:t="",pragmas:e={}}){const i=(0,r().default)(t)||s().EOL,n=" *",a=Object.keys(e),o=a.map((t=>D(t,e[t]))).reduce(((t,e)=>t.concat(e)),[]).map((t=>" * "+t+i)).join("");if(!t){if(0===a.length)return"";if(1===a.length&&!Array.isArray(e[a[0]])){const t=e[a[0]];return"".concat("/**"," ").concat(D(a[0],t)[0]).concat(" */")}}const u=t.split(i).map((t=>"".concat(n," ").concat(t))).join(i)+i;return"/**"+i+(t?u:"")+(t&&a.length?n+i:"")+o+" */"};const i=/\*\/$/,n=/^\/\*\*/,a=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,o=/(^|\s+)\/\/([^\r\n]*)/g,u=/^(\r?\n)+/,h=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,c=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,l=[];function d(t){const e=(0,r().default)(t)||s().EOL;t=t.replace(n,"").replace(i,"").replace(p,"$1");let a="";for(;a!==t;)a=t,t=t.replace(h,"".concat(e,"$1 $2").concat(e));t=t.replace(u,"").trimRight();const d=Object.create(null),D=t.replace(c,"").replace(u,"").trimRight();let m;for(;m=c.exec(t);){const t=m[2].replace(o,"");"string"==typeof d[m[1]]||Array.isArray(d[m[1]])?d[m[1]]=l.concat(d[m[1]],t):d[m[1]]=t}return{comments:D,pragmas:d}}function D(t,e){return l.concat(e).map((e=>"@".concat(t," ").concat(e).trim()))}}));var Rt={guessEndOfLine:function(t){const e=t.indexOf("\r");return e>=0?"\n"===t.charAt(e+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(t){switch(t){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(t,e){let s;if("\n"===e)s=/\n/g;else if("\r"===e)s=/\r/g;else{if("\r\n"!==e)throw new Error('Unexpected "eol" '.concat(JSON.stringify(e),"."));s=/\r\n/g}const r=t.match(s);return r?r.length:0},normalizeEndOfLine:function(t){return t.replace(/\r\n?/g,"\n")}};const{parseWithComments:_t,strip:jt,extract:Ut,print:qt}=Mt,{getShebang:Vt}=It,{normalizeEndOfLine:zt}=Rt;function Ht(t){const e=Vt(t);e&&(t=t.slice(e.length+1));const s=Ut(t),{pragmas:r,comments:i}=_t(s);return{shebang:e,text:t,pragmas:r,comments:i}}var Wt={hasPragma:function(t){const e=Object.keys(Ht(t).pragmas);return e.includes("prettier")||e.includes("format")},insertPragma:function(t){const{shebang:e,text:s,pragmas:r,comments:i}=Ht(t),n=jt(s),a=qt({pragmas:Object.assign({format:""},r),comments:i.trimStart()});return(e?"".concat(e,"\n"):"")+zt(a)+(n.startsWith("\n")?"\n":"\n\n")+n}};function Gt(t,e){const{ignoreDecorators:s}=e||{};if(!s){const e=t.declaration&&t.declaration.decorators||t.decorators;if(e&&e.length>0)return Gt(e[0])}return t.range?t.range[0]:t.start}function Xt(t){const e=t.range?t.range[1]:t.end;return t.typeAnnotation?Math.max(e,Xt(t.typeAnnotation)):e}function Kt(t,e){return Gt(t)===Gt(e)}var Jt={locStart:Gt,locEnd:Xt,composeLoc:function(t,e=t){const s=Gt(t);return[s,"number"==typeof e?s+e:Xt(e)]},hasSameLocStart:Kt,hasSameLoc:function(t,e){return Kt(t,e)&&function(t,e){return Xt(t)===Xt(e)}(t,e)}},$t=R((function(t){!function(){function e(t){if(null==t)return!1;switch(t.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function s(t){switch(t.type){case"IfStatement":return null!=t.alternate?t.alternate:t.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return t.body}return null}t.exports={isExpression:function(t){if(null==t)return!1;switch(t.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(t){if(null==t)return!1;switch(t.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&"FunctionDeclaration"===t.type},isProblematicIfStatement:function(t){var e;if("IfStatement"!==t.type)return!1;if(null==t.alternate)return!1;e=t.consequent;do{if("IfStatement"===e.type&&null==e.alternate)return!0;e=s(e)}while(e);return!1},trailingStatement:s}}()})),Yt=R((function(t){!function(){var e,s,r,i,n,a;function o(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(Math.floor((t-65536)/1024)+55296)+String.fromCharCode((t-65536)%1024+56320)}for(s={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(n=new Array(128),a=0;a<128;++a)n[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;t.exports={isDecimalDigit:function(t){return 48<=t&&t<=57},isHexDigit:function(t){return 48<=t&&t<=57||97<=t&&t<=102||65<=t&&t<=70},isOctalDigit:function(t){return t>=48&&t<=55},isWhiteSpace:function(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&r.indexOf(t)>=0},isLineTerminator:function(t){return 10===t||13===t||8232===t||8233===t},isIdentifierStartES5:function(t){return t<128?i[t]:s.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES5:function(t){return t<128?n[t]:s.NonAsciiIdentifierPart.test(o(t))},isIdentifierStartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierStart.test(o(t))},isIdentifierPartES6:function(t){return t<128?n[t]:e.NonAsciiIdentifierPart.test(o(t))}}}()})),Qt=R((function(t){!function(){var e=Yt;function s(t,e){return!(!e&&"yield"===t)&&r(t,e)}function r(t,e){if(e&&function(t){switch(t){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(t))return!0;switch(t.length){case 2:return"if"===t||"in"===t||"do"===t;case 3:return"var"===t||"for"===t||"new"===t||"try"===t;case 4:return"this"===t||"else"===t||"case"===t||"void"===t||"with"===t||"enum"===t;case 5:return"while"===t||"break"===t||"catch"===t||"throw"===t||"const"===t||"yield"===t||"class"===t||"super"===t;case 6:return"return"===t||"typeof"===t||"delete"===t||"switch"===t||"export"===t||"import"===t;case 7:return"default"===t||"finally"===t||"extends"===t;case 8:return"function"===t||"continue"===t||"debugger"===t;case 10:return"instanceof"===t;default:return!1}}function i(t,e){return"null"===t||"true"===t||"false"===t||s(t,e)}function n(t,e){return"null"===t||"true"===t||"false"===t||r(t,e)}function a(t){var s,r,i;if(0===t.length)return!1;if(i=t.charCodeAt(0),!e.isIdentifierStartES5(i))return!1;for(s=1,r=t.length;s=r)return!1;if(!(56320<=(n=t.charCodeAt(s))&&n<=57343))return!1;i=1024*(i-55296)+(n-56320)+65536}if(!a(i))return!1;a=e.isIdentifierPartES6}return!0}t.exports={isKeywordES5:s,isKeywordES6:r,isReservedWordES5:i,isReservedWordES6:n,isRestrictedWord:function(t){return"eval"===t||"arguments"===t},isIdentifierNameES5:a,isIdentifierNameES6:o,isIdentifierES5:function(t,e){return a(t)&&!i(t,e)},isIdentifierES6:function(t,e){return o(t)&&!n(t,e)}}}()}));const Zt=R((function(t,e){e.ast=$t,e.code=Yt,e.keyword=Qt})).keyword.isIdentifierNameES5,{getLast:te,hasNewline:ee,hasNewlineInRange:se,skipWhitespace:re}=It,{locStart:ie,locEnd:ne,hasSameLocStart:ae}=Jt,oe=new RegExp("^".concat("(?:(?=.)\\s)","*:")),ue=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function he(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t))return t.some((t=>he(t,e)));const s=e(t);return"boolean"==typeof s?s:Object.keys(t).some((s=>he(t[s],e)))}function ce(t){return"AssignmentExpression"===t.type||"BinaryExpression"===t.type||"LogicalExpression"===t.type||"NGPipeExpression"===t.type||"ConditionalExpression"===t.type||"CallExpression"===t.type||"OptionalCallExpression"===t.type||"MemberExpression"===t.type||"OptionalMemberExpression"===t.type||"SequenceExpression"===t.type||"TaggedTemplateExpression"===t.type||"BindExpression"===t.type||"UpdateExpression"===t.type&&!t.prefix||"TSAsExpression"===t.type||"TSNonNullExpression"===t.type}function pe(t){return"Block"===t.type||"CommentBlock"===t.type||"MultiLine"===t.type}const le=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function de(t){return t&&le.has(t.type)}function De(t){return"BooleanLiteral"===t.type||"DirectiveLiteral"===t.type||"Literal"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"TemplateLiteral"===t.type||"TSTypeLiteral"===t.type||"JSXText"===t.type}function me(t){return"NumericLiteral"===t.type||"Literal"===t.type&&"number"==typeof t.value}function fe(t){return"StringLiteral"===t.type||"Literal"===t.type&&"string"==typeof t.value}function ye(t){return"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type}function Ee(t){return!("CallExpression"!==t.type&&"OptionalCallExpression"!==t.type||"Identifier"!==t.callee.type||"async"!==t.callee.name&&"inject"!==t.callee.name&&"fakeAsync"!==t.callee.name)}function Ae(t){return"JSXElement"===t.type||"JSXFragment"===t.type}function Ce(t){return"get"===t.kind||"set"===t.kind}function xe(t){return Ce(t)||ae(t,t.value)}const Fe=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const ge=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const be=/^(skip|[fx]?(it|describe|test))$/;function Pe(t){return"CallExpression"===t.type||"OptionalCallExpression"===t.type}const Te=new RegExp("([ \n\r\t]+)"),we=new RegExp("[^ \n\r\t]");function Be(t){return De(t)&&(we.test(ve(t))||!/\n/.test(ve(t)))}function Se(t,e){if(Ae(e))return Ve(e);return e.comments&&e.comments.some((e=>e.leading&&ee(t,ne(e))))}function Ne(t){return/^(\d+|\d+\.\d+)$/.test(t)}function Ie(t){return t.quasis.some((t=>t.value.raw.includes("\n")))}function ve(t){return t.extra?t.extra.raw:t.raw}const ke={"==":!0,"!=":!0,"===":!0,"!==":!0},Le={"*":!0,"/":!0,"%":!0},Oe={">>":!0,">>>":!0,"<<":!0};const Me={};function Re(t){return Me[t]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((t,e)=>{t.forEach((t=>{Me[t]=e}))}));const _e=new WeakMap;function je(t){if(_e.has(t))return _e.get(t);const e=[];return t.this&&e.push(t.this),Array.isArray(t.parameters)?e.push(...t.parameters):Array.isArray(t.params)&&e.push(...t.params),t.rest&&e.push(t.rest),_e.set(t,e),e}const Ue=new WeakMap;function qe(t){return"prettier-ignore"===t.value.trim()}function Ve(t){return t&&(t.comments&&t.comments.length>0&&t.comments.some((t=>qe(t)&&!t.unignore))||t.prettierIgnore)}function ze(t){return Ve(t.getValue())}var He={classChildNeedsASIProtection:function(t){if(t){if(t.static||t.accessibility)return!1;if(!t.computed){const e=t.key&&t.key.name;if("in"===e||"instanceof"===e)return!0}switch(t.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return t.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const e=t.value?t.value.async:t.async,s=t.value?t.value.generator:t.generator;return!e&&"get"!==t.kind&&"set"!==t.kind&&!(!t.computed&&!s)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(t){const e=t.getNode();if("ClassProperty"!==e.type&&"FieldDefinition"!==e.type)return!1;const s=e.key&&e.key.name;return!("static"!==s&&"get"!==s&&"set"!==s||e.value||e.typeAnnotation)||void 0},getFunctionParameters:je,iterateFunctionParametersPath:function(t,e){const s=t.getValue();let r=0;const i=t=>e(t,r++);s.this&&t.call(i,"this"),Array.isArray(s.parameters)?t.each(i,"parameters"):Array.isArray(s.params)&&t.each(i,"params"),s.rest&&t.call(i,"rest")},getCallArguments:function(t){if(Ue.has(t))return Ue.get(t);const e="ImportExpression"===t.type?[t.source]:t.arguments;return Ue.set(t,e),e},iterateCallArgumentsPath:function(t,e){"ImportExpression"===t.getValue().type?t.call((t=>e(t,0)),"source"):t.each(e,"arguments")},hasRestParameter:function(t){if(t.rest)return!0;const e=je(t);return e.length>0&&"RestElement"===te(e).type},getLeftSidePathName:function(t,e){if(e.expressions)return["expressions",0];if(e.left)return["left"];if(e.test)return["test"];if(e.object)return["object"];if(e.callee)return["callee"];if(e.tag)return["tag"];if(e.argument)return["argument"];if(e.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(t){const e=t.getParentNode();return"declaration"===t.getName()&&de(e)?e:null},getTypeScriptMappedTypeModifier:function(t,e){return"+"===t?"+"+e:"-"===t?"-"+e:e},hasDanglingComments:function(t){return t.comments&&t.comments.some((t=>!t.leading&&!t.trailing))},hasFlowAnnotationComment:function(t){return t&&pe(t[0])&&ue.test(t[0].value)},hasFlowShorthandAnnotationComment:function(t){return t.extra&&t.extra.parenthesized&&t.trailingComments&&pe(t.trailingComments[0])&&oe.test(t.trailingComments[0].value)},hasLeadingComment:function(t){return t.comments&&t.comments.some((t=>t.leading))},hasLeadingOwnLineComment:Se,hasNakedLeftSide:ce,hasNewlineBetweenOrAfterDecorators:function(t,e){return se(e.originalText,ie(t.decorators[0]),ne(te(t.decorators)))||ee(e.originalText,ne(te(t.decorators)))},hasNgSideEffect:function(t){return he(t.getValue(),(t=>{switch(t.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:he,hasPrettierIgnore:function(t){return ze(t)||function(t){const e=t.getValue(),s=t.getParentNode();if(!(s&&e&&Ae(e)&&Ae(s)))return!1;let r=null;for(let t=s.children.indexOf(e);t>0;t--){const e=s.children[t-1];if("JSXText"!==e.type||Be(e)){r=e;break}}return r&&"JSXExpressionContainer"===r.type&&"JSXEmptyExpression"===r.expression.type&&r.expression.comments&&r.expression.comments.some((t=>qe(t)))}(t)},hasTrailingComment:function(t){return t.comments&&t.comments.some((t=>t.trailing))},hasTrailingLineComment:function(t){return t.comments&&t.comments.some((t=>t.trailing&&!pe(t)))},hasIgnoreComment:ze,hasNodeIgnoreComment:Ve,identity:function(t){return t},isBinaryish:function(t){return Fe.has(t.type)},isBlockComment:pe,isLineComment:function(t){return"Line"===t.type||"CommentLine"===t.type||"SingleLine"===t.type||"HashbangComment"===t.type||"HTMLOpen"===t.type||"HTMLClose"===t.type},isPrettierIgnoreComment:qe,isCallOrOptionalCallExpression:Pe,isEmptyJSXElement:function(t){if(0===t.children.length)return!0;if(t.children.length>1)return!1;const e=t.children[0];return De(e)&&!Be(e)},isExportDeclaration:de,isFlowAnnotationComment:function(t,e){const s=ie(e),r=re(t,ne(e));return!1!==r&&"/*"===t.slice(s,s+2)&&"*/"===t.slice(r,r+2)},isFunctionCompositionArgs:function(t){if(t.length<=1)return!1;let e=0;for(const s of t)if(ye(s)){if(e+=1,e>1)return!0}else if(Pe(s))for(const t of s.arguments)if(ye(t))return!0;return!1},isFunctionNotation:xe,isFunctionOrArrowExpression:ye,isGetterOrSetter:Ce,isJestEachTemplateLiteral:function(t,e){const s=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===e.type&&e.quasi===t&&"MemberExpression"===e.tag.type&&"Identifier"===e.tag.property.type&&"each"===e.tag.property.name&&("Identifier"===e.tag.object.type&&s.test(e.tag.object.name)||"MemberExpression"===e.tag.object.type&&"Identifier"===e.tag.object.property.type&&("only"===e.tag.object.property.name||"skip"===e.tag.object.property.name)&&"Identifier"===e.tag.object.object.type&&s.test(e.tag.object.object.name))},isJSXNode:Ae,isJSXWhitespaceExpression:function(t){return"JSXExpressionContainer"===t.type&&De(t.expression)&&" "===t.expression.value&&!t.expression.comments},isLastStatement:function(t){const e=t.getParentNode();if(!e)return!0;const s=t.getValue(),r=(e.body||e.consequent).filter((t=>"EmptyStatement"!==t.type));return r[r.length-1]===s},isLiteral:De,isLongCurriedCallExpression:function(t){const e=t.getValue(),s=t.getParentNode();return Pe(e)&&Pe(s)&&s.callee===e&&e.arguments.length>s.arguments.length&&s.arguments.length>0},isSimpleCallArgument:function t(e,s){if(s>=2)return!1;const r=e=>t(e,s+1),i="Literal"===e.type&&"regex"in e&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;return!(i&&i.length>5)&&("Literal"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"BooleanLiteral"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"Identifier"===e.type||"ThisExpression"===e.type||"Super"===e.type||"PrivateName"===e.type||"ArgumentPlaceholder"===e.type||"Import"===e.type||("TemplateLiteral"===e.type?e.expressions.every(r):"ObjectExpression"===e.type?e.properties.every((t=>!t.computed&&(t.shorthand||t.value&&r(t.value)))):"ArrayExpression"===e.type?e.elements.every((t=>null===t||r(t))):"ImportExpression"===e.type?r(e.source):"CallExpression"===e.type||"OptionalCallExpression"===e.type||"NewExpression"===e.type?t(e.callee,s)&&e.arguments.every(r):"MemberExpression"===e.type||"OptionalMemberExpression"===e.type?t(e.object,s)&&t(e.property,s):"UnaryExpression"!==e.type||"!"!==e.operator&&"-"!==e.operator?"TSNonNullExpression"===e.type&&t(e.expression,s):t(e.argument,s)))},isMeaningfulJSXText:Be,isMemberExpressionChain:function t(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&("Identifier"===e.object.type||t(e.object))},isMemberish:function(t){return"MemberExpression"===t.type||"OptionalMemberExpression"===t.type||"BindExpression"===t.type&&Boolean(t.object)},isNgForOf:function(t,e,s){return"NGMicrosyntaxKeyedExpression"===t.type&&"of"===t.key.name&&1===e&&"NGMicrosyntaxLet"===s.body[0].type&&null===s.body[0].value},isNumericLiteral:me,isObjectType:function(t){return"ObjectTypeAnnotation"===t.type||"TSTypeLiteral"===t.type},isObjectTypePropertyAFunction:function(t){return!("ObjectTypeProperty"!==t.type&&"ObjectTypeInternalSlot"!==t.type||"FunctionTypeAnnotation"!==t.value.type||t.static||xe(t))},isSimpleType:function(t){return!!t&&(!("GenericTypeAnnotation"!==t.type&&"TSTypeReference"!==t.type||t.typeParameters)||!!ge.has(t.type))},isSimpleNumber:Ne,isSimpleTemplateLiteral:function(t){let e="expressions";"TSTemplateLiteralType"===t.type&&(e="types");const s=t[e];return 0!==s.length&&s.every((t=>{if(t.comments)return!1;if("Identifier"===t.type||"ThisExpression"===t.type)return!0;if("MemberExpression"===t.type||"OptionalMemberExpression"===t.type){let e=t;for(;"MemberExpression"===e.type||"OptionalMemberExpression"===e.type;){if("Identifier"!==e.property.type&&"Literal"!==e.property.type&&"StringLiteral"!==e.property.type&&"NumericLiteral"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return"Identifier"===e.type||"ThisExpression"===e.type}return!1}))},isStringLiteral:fe,isStringPropSafeToUnquote:function(t,e){return"json"!==e.parser&&fe(t.key)&&ve(t.key).slice(1,-1)===t.key.value&&(Zt(t.key.value)&&!(("typescript"===e.parser||"babel-ts"===e.parser)&&"ClassProperty"===t.type)||Ne(t.key.value)&&String(Number(t.key.value))===t.key.value&&("babel"===e.parser||"espree"===e.parser||"meriyah"===e.parser))},isTemplateOnItsOwnLine:function(t,e){return("TemplateLiteral"===t.type&&Ie(t)||"TaggedTemplateExpression"===t.type&&Ie(t.quasi))&&!ee(e,ie(t),{backwards:!0})},isTestCall:function t(e,s){if("CallExpression"!==e.type)return!1;if(1===e.arguments.length){if(Ee(e)&&s&&t(s))return ye(e.arguments[0]);if("Identifier"===(r=e).callee.type&&/^(before|after)(Each|All)$/.test(r.callee.name)&&1===r.arguments.length)return Ee(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&("Identifier"===e.callee.type&&be.test(e.callee.name)||function(t){return("MemberExpression"===t.callee.type||"OptionalMemberExpression"===t.callee.type)&&"Identifier"===t.callee.object.type&&"Identifier"===t.callee.property.type&&be.test(t.callee.object.name)&&("only"===t.callee.property.name||"skip"===t.callee.property.name)}(e))&&(function(t){return"TemplateLiteral"===t.type}(e.arguments[0])||fe(e.arguments[0])))return!(e.arguments[2]&&!me(e.arguments[2]))&&((2===e.arguments.length?ye(e.arguments[1]):function(t){return"FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"===t.body.type}(e.arguments[1])&&je(e.arguments[1]).length<=1)||Ee(e.arguments[1]));var r;return!1},isTheOnlyJSXElementInMarkdown:function(t,e){if("markdown"!==t.parentParser&&"mdx"!==t.parentParser)return!1;const s=e.getNode();if(!s.expression||!Ae(s.expression))return!1;const r=e.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(t){return t.filepath&&/\.tsx$/i.test(t.filepath)},isTypeAnnotationAFunction:function(t){return!("TypeAnnotation"!==t.type&&"TSTypeAnnotation"!==t.type||"FunctionTypeAnnotation"!==t.typeAnnotation.type||t.static||ae(t,t.typeAnnotation))},matchJsxWhitespaceRegex:Te,needsHardlineAfterDanglingComment:function(t){if(!t.comments)return!1;const e=te(t.comments.filter((t=>!t.leading&&!t.trailing)));return e&&!pe(e)},rawText:ve,returnArgumentHasLeadingComment:function(t,e){if(Se(t.originalText,e))return!0;if(ce(e)){let r,i=e;for(;r=(s=i).expressions?s.expressions[0]:s.left||s.test||s.callee||s.object||s.tag||s.argument||s.expression;)if(i=r,Se(t.originalText,i))return!0}var s;return!1},shouldPrintComma:function(t,e="es5"){return"es5"===t.trailingComma&&"es5"===e||"all"===t.trailingComma&&("all"===e||"es5"===e)},isBitwiseOperator:function(t){return!!Oe[t]||"|"===t||"^"===t||"&"===t},shouldFlatten:function(t,e){return Re(e)===Re(t)&&("**"!==t&&((!ke[t]||!ke[e])&&(!("%"===e&&Le[t]||"%"===t&&Le[e])&&((e===t||!Le[e]||!Le[t])&&(!Oe[t]||!Oe[e])))))},startsWithNoLookaheadToken:function t(e,s){switch((e=function(t){for(;t.left;)t=t.left;return t}(e)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return s;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return t(e.object,s);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&t(e.tag,s);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&t(e.callee,s);case"ConditionalExpression":return t(e.test,s);case"UpdateExpression":return!e.prefix&&t(e.argument,s);case"BindExpression":return e.object&&t(e.object,s);case"SequenceExpression":return t(e.expressions[0],s);case"TSAsExpression":return t(e.expression,s);default:return!1}},getPrecedence:Re};const{getLast:We,hasNewline:Ge,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Xe,getNextNonSpaceNonCommentCharacter:Ke,hasNewlineInRange:Je,addLeadingComment:$e,addTrailingComment:Ye,addDanglingComment:Qe,getNextNonSpaceNonCommentCharacterIndex:Ze}=It,{isBlockComment:ts,getFunctionParameters:es,isPrettierIgnoreComment:ss,isJSXNode:rs,hasFlowShorthandAnnotationComment:is,hasFlowAnnotationComment:ns,hasIgnoreComment:as}=He,{locStart:os,locEnd:us}=Jt;function hs(t,e){const s=(t.body||t.properties).find((({type:t})=>"EmptyStatement"!==t));s?$e(s,e):Qe(t,e)}function cs(t,e){"BlockStatement"===t.type?hs(t,e):$e(t,e)}function ps(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||"IfStatement"!==r.type||!i)return!1;return")"===Ke(e,t,us)?(Ye(s,t),!0):s===r.consequent&&i===r.alternate?("BlockStatement"===s.type?Ye(s,t):Qe(r,t),!0):"BlockStatement"===i.type?(hs(i,t),!0):"IfStatement"===i.type?(cs(i.consequent,t),!0):r.consequent===i&&($e(i,t),!0)}function ls(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(!r||"WhileStatement"!==r.type||!i)return!1;return")"===Ke(e,t,us)?(Ye(s,t),!0):"BlockStatement"===i.type?(hs(i,t),!0):r.body===i&&($e(i,t),!0)}function ds(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;return!(!s||"TryStatement"!==s.type&&"CatchClause"!==s.type||!r)&&("CatchClause"===s.type&&e?(Ye(e,t),!0):"BlockStatement"===r.type?(hs(r,t),!0):"TryStatement"===r.type?(cs(r.finalizer,t),!0):"CatchClause"===r.type&&(cs(r.body,t),!0))}function Ds(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&("ClassDeclaration"===s.type||"ClassExpression"===s.type||"DeclareClass"===s.type||"DeclareInterface"===s.type||"InterfaceDeclaration"===s.type||"TSInterfaceDeclaration"===s.type)){if(s.decorators&&s.decorators.length>0&&(!r||"Decorator"!==r.type))return Ye(s.decorators[s.decorators.length-1],t),!0;if(s.body&&r===s.body)return hs(s.body,t),!0;if(r)for(const i of["implements","extends","mixins"])if(s[i]&&r===s[i][0])return!e||e!==s.id&&e!==s.typeParameters&&e!==s.superClass?Qe(s,t,i):Ye(e,t),!0}return!1}function ms(t,e){const{precedingNode:s,enclosingNode:r}=t;return(r&&s&&("Property"===r.type||"TSDeclareMethod"===r.type||"TSAbstractMethodDefinition"===r.type)&&"Identifier"===s.type&&r.key===s&&":"!==Ke(e,s,us)||!(!s||!r||"Decorator"!==s.type||"ClassMethod"!==r.type&&"ClassProperty"!==r.type&&"FieldDefinition"!==r.type&&"TSAbstractClassProperty"!==r.type&&"TSAbstractMethodDefinition"!==r.type&&"TSDeclareMethod"!==r.type&&"MethodDefinition"!==r.type))&&(Ye(s,t),!0)}function fs(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t;if(s&&"FunctionTypeParam"===s.type&&r&&"FunctionTypeAnnotation"===r.type&&i&&"FunctionTypeParam"!==i.type)return Ye(s,t),!0;if(s&&("Identifier"===s.type||"AssignmentPattern"===s.type)&&r&&xs(r)&&")"===Ke(e,t,us))return Ye(s,t),!0;if(r&&"FunctionDeclaration"===r.type&&i&&"BlockStatement"===i.type){const s=(()=>{const t=es(r);if(0!==t.length)return Xe(e,us(We(t)));const s=Xe(e,us(r.id));return!1!==s&&Xe(e,s+1)})();if(os(t)>s)return hs(i,t),!0}return!1}function ys(t){const{enclosingNode:e}=t;return!(!e||"ImportSpecifier"!==e.type)&&($e(e,t),!0)}function Es(t){const{enclosingNode:e}=t;return!(!e||"LabeledStatement"!==e.type)&&($e(e,t),!0)}function As(t,e,s){const{enclosingNode:r}=t;return e&&e.body&&0===e.body.length?(s?Qe(e,t):$e(e,t),!0):!(!r||"Program"!==r.type||0!==r.body.length||!r.directives||0!==r.directives.length)&&(s?Qe(r,t):$e(r,t),!0)}function Cs(t){const{enclosingNode:e,followingNode:s}=t;if(ss(t)&&e&&"TSMappedType"===e.type&&s&&"TSTypeParameter"===s.type&&s.constraint)return e.prettierIgnore=!0,t.unignore=!0,!0}function xs(t){return"ArrowFunctionExpression"===t.type||"FunctionExpression"===t.type||"FunctionDeclaration"===t.type||"ObjectMethod"===t.type||"ClassMethod"===t.type||"TSDeclareFunction"===t.type||"TSCallSignatureDeclaration"===t.type||"TSConstructSignatureDeclaration"===t.type||"TSMethodSignature"===t.type||"TSConstructorType"===t.type||"TSFunctionType"===t.type||"TSDeclareMethod"===t.type}function Fs(t){return ts(t)&&"*"===t.value[0]&&/@type\b/.test(t.value)}var gs={handleOwnLineComment:function(t,e,s,r,i){return Cs(t)||fs(t,e)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&s&&"Identifier"===s.type)return $e(e,t),!0;return!1}(t)||ps(t,e)||ls(t,e)||ds(t)||Ds(t)||ys(t)||function(t){const{enclosingNode:e}=t;if(e&&("ForInStatement"===e.type||"ForOfStatement"===e.type))return $e(e,t),!0;return!1}(t)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(s&&("UnionTypeAnnotation"===s.type||"TSUnionType"===s.type))return ss(t)&&(r.prettierIgnore=!0,t.unignore=!0),!!e&&(Ye(e,t),!0);r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&ss(t)&&(r.types[0].prettierIgnore=!0,t.unignore=!0);return!1}(t)||As(t,r,i)||function(t,e){const{precedingNode:s,enclosingNode:r}=t;if(s&&"ImportSpecifier"===s.type&&r&&"ImportDeclaration"===r.type&&Ge(e,us(t)))return Ye(s,t),!0;return!1}(t,e)||function(t){const{enclosingNode:e}=t;if(e&&"AssignmentPattern"===e.type)return $e(e,t),!0;return!1}(t)||ms(t,e)||Es(t)},handleEndOfLineComment:function(t,e,s,r,i){return function(t){const{followingNode:e}=t;if(e&&Fs(t))return $e(e,t),!0;return!1}(t)||fs(t,e)||function(t,e){const{precedingNode:s,enclosingNode:r,followingNode:i}=t,n=s&&!Je(e,us(s),os(t));if((!s||!n)&&r&&("ConditionalExpression"===r.type||"TSConditionalType"===r.type)&&i)return $e(i,t),!0;return!1}(t,e)||ys(t)||ps(t,e)||ls(t,e)||ds(t)||Ds(t)||Es(t)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&("CallExpression"===s.type||"OptionalCallExpression"===s.type)&&e&&s.callee===e&&s.arguments.length>0)return $e(s.arguments[0],t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&("Property"===e.type||"ObjectProperty"===e.type))return $e(e,t),!0;return!1}(t)||As(t,r,i)||function(t){const{enclosingNode:e}=t;if(e&&"TypeAlias"===e.type)return $e(e,t),!0;return!1}(t)||function(t){const{enclosingNode:e,followingNode:s}=t;if(e&&("VariableDeclarator"===e.type||"AssignmentExpression"===e.type)&&s&&("ObjectExpression"===s.type||"ArrayExpression"===s.type||"TemplateLiteral"===s.type||"TaggedTemplateExpression"===s.type||ts(t)))return $e(s,t),!0;return!1}(t)},handleRemainingComment:function(t,e,s,r,i){return!!(Cs(t)||ps(t,e)||ls(t,e)||function(t){const{precedingNode:e,enclosingNode:s}=t;if(s&&("ObjectProperty"===s.type||"Property"===s.type)&&s.shorthand&&s.key===e&&"AssignmentPattern"===s.value.type)return Ye(s.value.left,t),!0;return!1}(t)||function(t,e){if(")"!==Ke(e,t,us))return!1;const{enclosingNode:s}=t;if(s&&(xs(s)&&0===es(s).length||("CallExpression"===s.type||"OptionalCallExpression"===s.type||"NewExpression"===s.type)&&0===s.arguments.length))return Qe(s,t),!0;if(s&&"MethodDefinition"===s.type&&0===es(s.value).length)return Qe(s.value,t),!0;return!1}(t,e)||ms(t,e)||As(t,r,i)||function(t,e){const{enclosingNode:s}=t;if(!s||"ArrowFunctionExpression"!==s.type)return!1;const r=Ze(e,t,us);if(!1!==r&&"=>"===e.slice(r,r+2))return Qe(s,t),!0;return!1}(t,e)||function(t,e){if("("!==Ke(e,t,us))return!1;const{precedingNode:s,enclosingNode:r}=t;if(s&&r&&("FunctionDeclaration"===r.type||"FunctionExpression"===r.type||"ClassMethod"===r.type||"MethodDefinition"===r.type||"ObjectMethod"===r.type))return Ye(s,t),!0;return!1}(t,e)||function(t){const{precedingNode:e,enclosingNode:s,followingNode:r}=t;if(!s||"TSMappedType"!==s.type)return!1;if(r&&"TSTypeParameter"===r.type&&r.name)return $e(r.name,t),!0;if(e&&"TSTypeParameter"===e.type&&e.constraint)return Ye(e.constraint,t),!0;return!1}(t)||function(t){const{enclosingNode:e}=t;if(e&&("ContinueStatement"===e.type||"BreakStatement"===e.type)&&!e.label)return Ye(e,t),!0;return!1}(t)||function(t,e){const{enclosingNode:s,followingNode:r}=t;if(!r&&s&&("TSMethodSignature"===s.type||"TSDeclareFunction"===s.type||"TSAbstractMethodDefinition"===s.type)&&";"===Ke(e,t,us))return Ye(s,t),!0;return!1}(t,e))},hasLeadingComment:function(t,e=(()=>!0)){return t.leadingComments?t.leadingComments.some(e):!!t.comments&&t.comments.some((t=>t.leading&&e(t)))},isTypeCastComment:Fs,getGapRegex:function(t){if(t&&"BinaryExpression"!==t.type&&"LogicalExpression"!==t.type)return/^[\s&(|]*$/},getCommentChildNodes:function(t,e){if(("typescript"===e.parser||"flow"===e.parser||"espree"===e.parser||"meriyah"===e.parser)&&"MethodDefinition"===t.type&&t.value&&"FunctionExpression"===t.value.type&&0===es(t.value).length&&!t.value.returnType&&(!t.value.typeParameters||0===t.value.typeParameters.length)&&t.value.body)return[...t.decorators||[],t.key,t.value.body]},willPrintOwnComments:function(t){const e=t.getValue(),s=t.getParentNode();return(e&&(rs(e)||is(e)||s&&("CallExpression"===s.type||"OptionalCallExpression"===s.type)&&(ns(e.leadingComments)||ns(e.trailingComments)))||s&&("JSXSpreadAttribute"===s.type||"JSXSpreadChild"===s.type||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type||("ClassDeclaration"===s.type||"ClassExpression"===s.type)&&s.superClass===e))&&(!as(t)||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type)}};const{getLast:bs,getNextNonSpaceNonCommentCharacter:Ps,getShebang:Ts}=It,{composeLoc:ws,locStart:Bs,locEnd:Ss}=Jt,{isTypeCastComment:Ns}=gs;function Is(t){return"CallExpression"===t.type?(t.type="OptionalCallExpression",t.callee=Is(t.callee)):"MemberExpression"===t.type?(t.type="OptionalMemberExpression",t.object=Is(t.object)):"TSNonNullExpression"===t.type&&(t.expression=Is(t.expression)),t}function vs(t,e){let s;if(Array.isArray(t))s=t.entries();else{if(!t||"object"!=typeof t||"string"!=typeof t.type)return t;s=Object.entries(t)}for(const[r,i]of s)t[r]=vs(i,e);return Array.isArray(t)?t:e(t)||t}function ks(t){return"LogicalExpression"===t.type&&"LogicalExpression"===t.right.type&&t.operator===t.right.operator}function Ls(t){return ks(t)?Ls({type:"LogicalExpression",operator:t.operator,left:Ls({type:"LogicalExpression",operator:t.operator,left:t.left,right:t.right.left,range:ws(t.left,t.right.left)}),right:t.right.right,range:ws(t)}):t}var Os=function(e,s){if("typescript"!==s.parser&&"flow"!==s.parser&&"espree"!==s.parser||function(t,e){const s=Ts(e.originalText);s&&t.comments.unshift({type:"Line",value:s.slice(2),range:[0,s.length]})}(e,s),"typescript"===s.parser&&s.originalText.includes("@")){const{esTreeNodeToTSNodeMap:r,tsNodeToESTreeNodeMap:i}=s.tsParseResult;e=vs(e,(e=>{const s=r.get(e);if(!s)return;const n=s.decorators;if(!Array.isArray(n))return;const a=i.get(s);if(a!==e)return;const o=a.decorators;if(!Array.isArray(o)||o.length!==n.length||n.some((t=>{const e=i.get(t);return!e||!o.includes(e)}))){const{start:e,end:s}=a.loc;throw t("Leading decorators must be attached to a class declaration",{start:{line:e.line,column:e.column+1},end:{line:s.line,column:s.column+1}})}}))}if("typescript"!==s.parser&&"flow"!==s.parser&&"espree"!==s.parser&&"meriyah"!==s.parser){const t=new Set;e=vs(e,(e=>{e.leadingComments&&e.leadingComments.some(Ns)&&t.add(Bs(e))})),e=vs(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:s}=e;if("TypeCastExpression"===s.type)return s.range=e.range,s;const r=Bs(e);if(!t.has(r))return s.extra=Object.assign({},s.extra,{parenthesized:!0}),s}}))}return e=vs(e,(t=>{switch(t.type){case"ChainExpression":return Is(t.expression);case"LogicalExpression":if(ks(t))return Ls(t);break;case"VariableDeclaration":{const e=bs(t.declarations);e&&e.init&&function(t,e){if(";"===s.originalText[Ss(e)])return;t.range=ws(t,e)}(t,e);break}case"TSParenthesizedType":return t.typeAnnotation.range=ws(t),t.typeAnnotation;case"TSUnionType":case"TSIntersectionType":if(1===t.types.length){const[e]=t.types;return e.range=ws(t),e}break;case"TSTypeParameter":"string"==typeof t.name&&(t.name={type:"Identifier",name:t.name,range:ws(t,t.name.length)});break;case"SequenceExpression":{const e=bs(t.expressions);Ss(t)>Ss(e)&&(t.range=ws(t,e));break}case"ClassProperty":t.key&&"TSPrivateIdentifier"===t.key.type&&"?"===Ps(s.originalText,t.key,Ss)&&(t.optional=!0)}}))},Ms=R((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});const s=!0,r=!0,i=!0,n=!0;class a{constructor(t,e={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.updateContext=void 0,this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const o=new Map;function u(t,e={}){e.keyword=t;const s=new a(t,e);return o.set(t,s),s}function h(t,e){return new a(t,{beforeExpr:s,binop:e})}const c={num:new a("num",{startsExpr:r}),bigint:new a("bigint",{startsExpr:r}),decimal:new a("decimal",{startsExpr:r}),regexp:new a("regexp",{startsExpr:r}),string:new a("string",{startsExpr:r}),name:new a("name",{startsExpr:r}),eof:new a("eof"),bracketL:new a("[",{beforeExpr:s,startsExpr:r}),bracketHashL:new a("#[",{beforeExpr:s,startsExpr:r}),bracketBarL:new a("[|",{beforeExpr:s,startsExpr:r}),bracketR:new a("]"),bracketBarR:new a("|]"),braceL:new a("{",{beforeExpr:s,startsExpr:r}),braceBarL:new a("{|",{beforeExpr:s,startsExpr:r}),braceHashL:new a("#{",{beforeExpr:s,startsExpr:r}),braceR:new a("}"),braceBarR:new a("|}"),parenL:new a("(",{beforeExpr:s,startsExpr:r}),parenR:new a(")"),comma:new a(",",{beforeExpr:s}),semi:new a(";",{beforeExpr:s}),colon:new a(":",{beforeExpr:s}),doubleColon:new a("::",{beforeExpr:s}),dot:new a("."),question:new a("?",{beforeExpr:s}),questionDot:new a("?."),arrow:new a("=>",{beforeExpr:s}),template:new a("template"),ellipsis:new a("...",{beforeExpr:s}),backQuote:new a("`",{startsExpr:r}),dollarBraceL:new a("${",{beforeExpr:s,startsExpr:r}),at:new a("@"),hash:new a("#",{startsExpr:r}),interpreterDirective:new a("#!..."),eq:new a("=",{beforeExpr:s,isAssign:true}),assign:new a("_=",{beforeExpr:s,isAssign:true}),incDec:new a("++/--",{prefix:n,postfix:!0,startsExpr:r}),bang:new a("!",{beforeExpr:s,prefix:n,startsExpr:r}),tilde:new a("~",{beforeExpr:s,prefix:n,startsExpr:r}),pipeline:h("|>",0),nullishCoalescing:h("??",1),logicalOR:h("||",1),logicalAND:h("&&",2),bitwiseOR:h("|",3),bitwiseXOR:h("^",4),bitwiseAND:h("&",5),equality:h("==/!=/===/!==",6),relational:h("/<=/>=",7),bitShift:h("<>/>>>",8),plusMin:new a("+/-",{beforeExpr:s,binop:9,prefix:n,startsExpr:r}),modulo:new a("%",{beforeExpr:s,binop:10,startsExpr:r}),star:new a("*",{binop:10}),slash:h("/",10),exponent:new a("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:u("break"),_case:u("case",{beforeExpr:s}),_catch:u("catch"),_continue:u("continue"),_debugger:u("debugger"),_default:u("default",{beforeExpr:s}),_do:u("do",{isLoop:i,beforeExpr:s}),_else:u("else",{beforeExpr:s}),_finally:u("finally"),_for:u("for",{isLoop:i}),_function:u("function",{startsExpr:r}),_if:u("if"),_return:u("return",{beforeExpr:s}),_switch:u("switch"),_throw:u("throw",{beforeExpr:s,prefix:n,startsExpr:r}),_try:u("try"),_var:u("var"),_const:u("const"),_while:u("while",{isLoop:i}),_with:u("with"),_new:u("new",{beforeExpr:s,startsExpr:r}),_this:u("this",{startsExpr:r}),_super:u("super",{startsExpr:r}),_class:u("class",{startsExpr:r}),_extends:u("extends",{beforeExpr:s}),_export:u("export"),_import:u("import",{startsExpr:r}),_null:u("null",{startsExpr:r}),_true:u("true",{startsExpr:r}),_false:u("false",{startsExpr:r}),_in:u("in",{beforeExpr:s,binop:7}),_instanceof:u("instanceof",{beforeExpr:s,binop:7}),_typeof:u("typeof",{beforeExpr:s,prefix:n,startsExpr:r}),_void:u("void",{beforeExpr:s,prefix:n,startsExpr:r}),_delete:u("delete",{beforeExpr:s,prefix:n,startsExpr:r})},p=128,l=128,d=1024,D=64,m=/\r\n?|[\n\u2028\u2029]/,f=new RegExp(m.source,"g");function y(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const E=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function A(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class C{constructor(t,e){this.line=void 0,this.column=void 0,this.line=t,this.column=e}}class x{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}}function F(t){return t[t.length-1]}const g=Object.freeze({AccessorIsGenerator:"A %0ter cannot be a generator",ArgumentsInClass:"'arguments' is only allowed in functions and class methods",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function",AwaitExpressionFormalParameter:"await is not allowed in async function parameters",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules",AwaitNotInAsyncFunction:"'await' is only allowed within async functions",BadGetterArity:"getter must not have any formal parameters",BadSetterArity:"setter must have exactly one formal parameter",BadSetterRestParameter:"setter function argument must not be a rest parameter",ConstructorClassField:"Classes may not have a field named 'constructor'",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'",ConstructorIsAccessor:"Class constructor may not be an accessor",ConstructorIsAsync:"Constructor can't be an async function",ConstructorIsGenerator:"Constructor can't be a generator",DeclarationMissingInitializer:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DecoratorStaticBlock:"Decorators can't be used with a static block",DeletePrivateField:"Deleting a private field is not allowed",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",DuplicateStaticBlock:"Duplicate static block in the same class",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { %0 as '%1' } from 'some-module'`?",ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"'return' outside of function",ImportBindingIsString:'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly %0",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'",InvalidBigIntLiteral:"Invalid BigIntLiteral",InvalidCodePoint:"Code point out of bounds",InvalidDecimal:"Invalid decimal",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'",InvalidOrUnexpectedToken:"Unexpected character '%0'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 is not defined",InvalidPropertyBindingPattern:"Binding member expression",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions",InvalidRestAssignmentPattern:"Invalid rest operator's argument",LabelRedeclaration:"Label '%0' is already declared",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'",MalformedRegExpFlags:"Invalid regular expression flag",MissingClassName:"A class name is required",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values",ModuleAttributesWithDuplicateKeys:'Duplicate key "%0" is not allowed in module attributes',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found '\\u%0'",ModuleExportUndefined:"Export '%0' is not defined",MultipleDefaultsInSwitch:"Multiple default clauses",NewlineAfterThrow:"Illegal newline after throw",NoCatchOrFinally:"Missing catch or finally clause",NumberIdentifier:"Identifier directly after number",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences",ObsoleteAwaitStar:"await* has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"constructors in/after an Optional Chain are not allowed",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can't contain getter or setter",PatternHasMethod:"Object pattern can't contain methods",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)",PrivateNameRedeclaration:"Duplicate private name #%0",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",RecordNoProto:"'__proto__' is not allowed in Record expressions",RestTrailingComma:"Unexpected trailing comma after rest element",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to '%0' in strict mode",StrictEvalArgumentsBinding:"Binding '%0' in strict mode",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode",StrictWith:"'with' in strict mode",SuperNotAllowed:"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super",TrailingDecorator:"Decorators must be attached to a class element",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:"Unexpected digit after hash token",UnexpectedImportExport:"'import' and 'export' may only appear at the top level",UnexpectedKeyword:"Unexpected keyword '%0'",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context",UnexpectedNewTarget:"new.target can only be used in functions",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token '%0'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"import can only be used in import() or import.meta",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties",UnsupportedSuper:"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])",UnterminatedComment:"Unterminated comment",UnterminatedRegExp:"Unterminated regular expression",UnterminatedString:"Unterminated string constant",UnterminatedTemplate:"Unterminated template",VarRedeclaration:"Identifier '%0' has already been declared",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator",YieldInParameter:"Yield expression is not allowed in formal parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});function b(t){return null!=t&&"Property"===t.type&&"init"===t.kind&&!1===t.method}class P{constructor(t,e,s,r){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=r}}const T={braceStatement:new P("{",!1),braceExpression:new P("{",!0),recordExpression:new P("#{",!0),templateQuasi:new P("${",!1),parenStatement:new P("(",!1),parenExpression:new P("(",!0),template:new P("`",!0,!0,(t=>t.readTmplToken())),functionExpression:new P("function",!0),functionStatement:new P("function",!1)};c.parenR.updateContext=c.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===T.braceStatement&&"function"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},c.name.updateContext=function(t){let e=!1;t!==c.dot&&("of"!==this.state.value||this.state.exprAllowed||t===c._function||t===c._class||(e=!0)),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},c.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?T.braceStatement:T.braceExpression),this.state.exprAllowed=!0},c.dollarBraceL.updateContext=function(){this.state.context.push(T.templateQuasi),this.state.exprAllowed=!0},c.parenL.updateContext=function(t){const e=t===c._if||t===c._for||t===c._with||t===c._while;this.state.context.push(e?T.parenStatement:T.parenExpression),this.state.exprAllowed=!0},c.incDec.updateContext=function(){},c._function.updateContext=c._class.updateContext=function(t){!t.beforeExpr||t===c.semi||t===c._else||t===c._return&&this.hasPrecedingLineBreak()||(t===c.colon||t===c.braceL)&&this.curContext()===T.b_stat?this.state.context.push(T.functionStatement):this.state.context.push(T.functionExpression),this.state.exprAllowed=!1},c.backQuote.updateContext=function(){this.curContext()===T.template?this.state.context.pop():this.state.context.push(T.template),this.state.exprAllowed=!1},c.braceHashL.updateContext=function(){this.state.context.push(T.recordExpression),this.state.exprAllowed=!0};let w="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",B="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";const S=new RegExp("["+w+"]"),N=new RegExp("["+w+B+"]");w=B=null;const I=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],v=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function k(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function L(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&S.test(String.fromCharCode(t)):k(t,I)))}function O(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&N.test(String.fromCharCode(t)):k(t,I)||k(t,v))))}const M=["implements","interface","let","package","private","protected","public","static","yield"],R=["eval","arguments"],_=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),j=new Set(M),U=new Set(R);function q(t,e){return e&&"await"===t||"enum"===t}function V(t,e){return q(t,e)||j.has(t)}function z(t){return U.has(t)}function H(t,e){return V(t,e)||z(t)}function W(t){return _.has(t)}const G=/^in(stanceof)?$/;const X=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),K=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SpreadVariance:"Spread properties cannot have variance",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint"',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function J(t){return"type"===t.importKind||"typeof"===t.importKind}function $(t){return(t.type===c.name||!!t.type.keyword)&&"from"!==t.value}const Y={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const Q=/\*?\s*@((?:no)?flow)\b/;const Z={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},tt=/^[\da-fA-F]+$/,et=/^\d+$/,st=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text",UnterminatedJsxContent:"Unterminated JSX contents",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function rt(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function it(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return it(t.object)+"."+it(t.property);throw new Error("Node had unexpected type: "+t.type)}T.j_oTag=new P("...",!0,!0),c.jsxName=new a("jsxName"),c.jsxText=new a("jsxText",{beforeExpr:!0}),c.jsxTagStart=new a("jsxTagStart",{startsExpr:!0}),c.jsxTagEnd=new a("jsxTagEnd"),c.jsxTagStart.updateContext=function(){this.state.context.push(T.j_expr),this.state.context.push(T.j_oTag),this.state.exprAllowed=!1},c.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===T.j_oTag&&t===c.slash||e===T.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===T.j_expr):this.state.exprAllowed=!0};class nt{constructor(t){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class at{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new nt(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(2&t.flags||!this.inModule&&1&t.flags)}declareName(t,e,s){let r=this.currentScope();if(8&e||16&e)this.checkRedeclarationInScope(r,t,e,s),16&e?r.functions.push(t):r.lexical.push(t),8&e&&this.maybeExportDefined(r,t);else if(4&e)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.push(t),this.maybeExportDefined(r,t),!(131&r.flags));--i);this.inModule&&1&r.flags&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,g.VarRedeclaration,e)}isRedeclaredInScope(t,e,s){return!!(1&s)&&(8&s?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:16&s?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(8&t.flags&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(131&e.flags)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((131&e.flags||64&e.flags)&&!(4&e.flags))return e}}}class ot extends nt{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class ut extends at{createScope(t){return new ot(t)}declareName(t,e,s){const r=this.currentScope();if(e&d)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.push(t);super.declareName(...arguments),2&e&&(1&e||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.push(t)),256&e&&r.enums.push(t),512&e&&r.constEnums.push(t),e&l&&r.classes.push(t)}isRedeclaredInScope(t,e,s){if(t.enums.indexOf(e)>-1){if(256&s){return!!(512&s)!==t.constEnums.indexOf(e)>-1}return!0}return s&l&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(1&s):!!(2&s&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}class ht{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}}function ct(t,e){return(t?2:0)|(e?1:0)}function pt(t){if(null==t)throw new Error("Unexpected ".concat(t," value."));return t}function lt(t){if(!t)throw new Error("Assert fail")}const dt=Object.freeze({ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateModifier:"Duplicate modifier: '%0'",EmptyHeritageClauseType:"'%0' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0')",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier",IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0')",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});c.placeholder=new a("%%",{startsExpr:!0});function Dt(t,e){return t.some((t=>Array.isArray(t)?t[0]===e:t===e))}function mt(t,e,s){const r=t.find((t=>Array.isArray(t)?t[0]===e:t===e));return r&&Array.isArray(r)?r[1][s]:null}const ft=["minimal","smart","fsharp"],yt=["hash","bar"];const Et={estree:t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let s=null;try{s=new RegExp(t,e)}catch(t){}const r=this.estreeParseLiteral(s);return r.regex={pattern:t,flags:e},r}estreeParseBigIntLiteral(t){const e="undefined"!=typeof BigInt?BigInt(t):null,s=this.estreeParseLiteral(e);return s.bigint=String(s.value||t),s}estreeParseDecimalLiteral(t){const e=this.estreeParseLiteral(null);return e.decimal=String(e.value||t),e}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.value,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,"Literal",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){b(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}getObjectOrClassMethodParams(t){return t.value.params}checkLVal(t,e=64,s,r,i){switch(t.type){case"ObjectPattern":t.properties.forEach((t=>{this.checkLVal("Property"===t.type?t.value:t,e,s,"object destructuring pattern",i)}));break;default:super.checkLVal(t,e,s,r,i)}}checkProto(t,e,s,r){t.method||super.checkProto(t,e,s,r)}isValidDirective(t){var e;return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&!(null==(e=t.expression.extra)?void 0:e.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),s=t.expression.value;return e.value.value=s,e}parseBlockBody(t,e,s,r){super.parseBlockBody(t,e,s,r);const i=t.directives.map((t=>this.directiveToStmt(t)));t.body=i.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,i,n){this.parseMethod(e,s,r,i,n,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case c.num:case c.string:return this.estreeParseLiteral(this.state.value);case c.regexp:return this.estreeParseRegExpLiteral(this.state.value);case c.bigint:return this.estreeParseBigIntLiteral(this.state.value);case c.decimal:return this.estreeParseDecimalLiteral(this.state.value);case c._null:return this.estreeParseLiteral(null);case c._true:return this.estreeParseLiteral(!0);case c._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,s,r){const i=super.parseLiteral(t,e,s,r);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(t,e,s=!1){super.parseFunctionBody(t,e,s),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,s,r,i,n,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,s,r,i,n,a),o.type="FunctionExpression",delete o.kind,t.value=o,n="ClassMethod"===n?"MethodDefinition":n,this.finishNode(t,n)}parseObjectMethod(t,e,s,r,i){const n=super.parseObjectMethod(t,e,s,r,i);return n&&(n.type="Property","method"===n.kind&&(n.kind="init"),n.shorthand=!1),n}parseObjectProperty(t,e,s,r,i){const n=super.parseObjectProperty(t,e,s,r,i);return n&&(n.kind="init",n.type="Property"),n}toAssignable(t){return b(t)?(this.toAssignable(t.value),t):super.toAssignable(t)}toAssignableObjectExpressionProp(t,e){if("get"===t.kind||"set"===t.kind)throw this.raise(t.key.start,g.PatternHasAccessor);if(t.method)throw this.raise(t.key.start,g.PatternHasMethod);super.toAssignableObjectExpressionProp(t,e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),"Import"===t.callee.type&&(t.type="ImportExpression",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedArguments(t){"ImportExpression"!==t.type&&super.toReferencedArguments(t)}parseExport(t){switch(super.parseExport(t),t.type){case"ExportAllDeclaration":t.exported=null;break;case"ExportNamedDeclaration":1===t.specifiers.length&&"ExportNamespaceSpecifier"===t.specifiers[0].type&&(t.type="ExportAllDeclaration",t.exported=t.specifiers[0].exported,delete t.specifiers)}return t}parseSubscript(t,e,s,r,i){const n=super.parseSubscript(t,e,s,r,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==n.type&&"OptionalCallExpression"!==n.type||(n.type=n.type.substring(8)),i.stop){const t=this.startNodeAtNode(n);return t.expression=n,this.finishNode(t,"ChainExpression")}}else"MemberExpression"!==n.type&&"CallExpression"!==n.type||(n.optional=!1);return n}},jsx:t=>class extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,st.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(c.jsxTagStart)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(c.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:y(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?"\n":"\r\n"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):y(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}jsxReadEntity(){let t,e="",s=0,r=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.posclass extends t{constructor(t,e){super(t,e),this.flowPragma=void 0,this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(t,e){return t!==c.string&&t!==c.semi&&t!==c.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=Q.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||c.colon);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(c.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),e.line===r.line&&e.column===r.column-1||this.raise(s,K.UnexpectedSpaceBetweenModuloChecks),this.eat(c.parenL)?(t.value=this.parseExpression(),this.expect(c.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(c.colon);let e=null,s=null;return this.match(c.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(c.modulo)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(c.parenL);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,this.expect(c.parenR),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(c._class))return this.flowParseDeclareClass(t);if(this.match(c._function))return this.flowParseDeclareFunction(t);if(this.match(c._var))return this.flowParseDeclareVariable(t);if(this.eatContextual("module"))return this.match(c.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,K.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(c._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,5,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(0),this.match(c.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];for(this.expect(c.braceL);!this.match(c.braceR);){let t=this.startNode();this.match(c._import)?(this.next(),this.isContextual("type")||this.match(c._typeof)||this.raise(this.state.lastTokStart,K.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual("declare",K.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(c.braceR),this.finishNode(e,"BlockStatement");let r=null,i=!1;return s.forEach((t=>{!function(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}(t)?"DeclareModuleExports"===t.type&&(i&&this.raise(t.start,K.DuplicateDeclareModuleExports),"ES"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r="CommonJS",i=!0):("CommonJS"===r&&this.raise(t.start,K.AmbiguousDeclareModuleKind),r="ES")})),t.kind=r||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(c._export),this.eat(c._default))return this.match(c._function)||this.match(c._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(c._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!e){const t=this.state.value,e=Y[t];throw this.raise(this.state.start,K.UnsupportedDeclareExportKind,t,e)}if(this.match(c._var)||this.match(c._function)||this.match(c._class)||this.isContextual("opaque"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(c.star)||this.match(c.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(t=this.parseExport(t)).type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?17:9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(c.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}if(this.isContextual("implements")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){"_"===t&&this.raise(this.state.start,K.UnexpectedReservedUnderscore)}checkReservedType(t,e,s){X.has(t)&&this.raise(e,s?K.AssignReservedType:K.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(c.eq),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual("type"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(c.colon)&&(t.supertype=this.flowParseTypeInitialiser(c.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(c.eq)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(t=!1){const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(c.eq)?(this.eat(c.eq),s.default=this.flowParseType()):t&&this.raise(e,K.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(c.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.isRelational(">")||this.expect(c.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");const s=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(c.comma);return this.state.noAnonFunctionType=s,this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(c.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual("interface"),t.extends=[],this.eat(c._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(c.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(c.num)||this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,this.lookahead().type===c.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(c.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(c.bracketR),this.expect(c.bracketR),this.isRelational("<")||this.match(c.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(c.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(c.parenL);!this.match(c.parenR)&&!this.match(c.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(c.parenR)||this.expect(c.comma);return this.eat(c.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(c.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:s,allowProto:r,allowInexact:i}){const n=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,u;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;for(e&&this.match(c.braceBarL)?(this.expect(c.braceBarL),o=c.braceBarR,u=!0):(this.expect(c.braceL),o=c.braceR,u=!1),a.exact=u;!this.match(o);){let e=!1,n=null,o=null;const p=this.startNode();if(r&&this.isContextual("proto")){const e=this.lookahead();e.type!==c.colon&&e.type!==c.question&&(this.next(),n=this.state.start,t=!1)}if(t&&this.isContextual("static")){const t=this.lookahead();t.type!==c.colon&&t.type!==c.question&&(this.next(),e=!0)}const l=this.flowParseVariance();if(this.eat(c.bracketL))null!=n&&this.unexpected(n),this.eat(c.bracketL)?(l&&this.unexpected(l.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,e))):a.indexers.push(this.flowParseObjectTypeIndexer(p,e,l));else if(this.match(c.parenL)||this.isRelational("<"))null!=n&&this.unexpected(n),l&&this.unexpected(l.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(p,e));else{let t="init";if(this.isContextual("get")||this.isContextual("set")){const e=this.lookahead();e.type!==c.name&&e.type!==c.string&&e.type!==c.num||(t=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(p,e,n,l,t,s,null!=i?i:!u);null===r?(h=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(c.braceR)||this.match(c.braceBarR)||this.raise(o,K.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=h);const p=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=n,p}flowParseObjectTypeProperty(t,e,s,r,i,n,a){if(this.eat(c.ellipsis)){return this.match(c.comma)||this.match(c.semi)||this.match(c.braceR)||this.match(c.braceBarR)?(n?a||this.raise(this.state.lastTokStart,K.InexactInsideExact):this.raise(this.state.lastTokStart,K.InexactInsideNonObject),r&&this.raise(r.start,K.InexactVariance),null):(n||this.raise(this.state.lastTokStart,K.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,K.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=i;let n=!1;return this.isRelational("<")||this.match(c.parenL)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(t)):("init"!==i&&this.unexpected(),t.method=!1,this.eat(c.question)&&(n=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=n,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,s=t.start;t.value.params.length+(t.value.rest?1:0)!==e&&("get"===t.kind?this.raise(s,g.BadGetterArity):this.raise(s,g.BadSetterArity)),"set"===t.kind&&t.value.rest&&this.raise(s,g.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(c.semi)||this.eat(c.comma)||this.match(c.braceR)||this.match(c.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(c.dot);){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(c._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(c.bracketL);this.state.possuper.parseFunctionBody(t,!0,s))):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e,s=!1){if(this.match(c.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.match(c.name)&&"interface"===this.state.value){const t=this.lookahead();if(t.type===c.name||W(t.value)){const t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(c._class)||this.match(c.name)||this.match(c._function)||this.match(c._var)||this.match(c._export))return this.flowParseDeclare(t)}else if(this.match(c.name)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(c.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,s,r){if(!this.match(c.question))return t;if(r){const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}this.expect(c.question);const i=this.state.clone(),n=this.state.noArrowAt,a=this.startNodeAt(e,s);let{consequent:o,failed:u}=this.tryParseConditionalConsequent(),[h,p]=this.getArrowLikeExpressions(o);if(u||p.length>0){const t=[...n];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(i.start,K.AmbiguousConditionalArrow),u&&1===h.length&&(this.state=i,this.state.noArrowAt=t.concat(h[0].start),({consequent:o,failed:u}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=n,this.expect(c.colon),a.test=t,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,(()=>this.parseMaybeAssign(void 0,void 0,void 0))),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssignAllowIn(),e=!this.match(c.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];for(;0!==s.length;){const t=s.pop();"ArrowFunctionExpression"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):r.push(t),s.push(t.body)):"ConditionalExpression"===t.type&&(s.push(t.consequent),s.push(t.alternate))}return e?(r.forEach((t=>this.finishArrowValidation(t))),[r,[]]):function(t,e){const s=[],r=[];for(let i=0;it.params.every((t=>this.isAssignable(t,!0)))))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma),this.scope.enter(6),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual("type")){t.exportKind="type";const e=this.startNode();return this.next(),this.match(c.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual("opaque")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual("interface")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual("enum")){t.exportKind="value";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==c.star)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&"type"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,s){const r=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,s),e.declare&&("ClassProperty"!==e.type&&"ClassPrivateProperty"!==e.type?this.raise(r,K.DeclareClassElement):e.value&&this.raise(e.value.start,K.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(c.braceBarL,2):!this.state.inType||62!==t&&60!==t?this.state.inType&&63===t?this.finishOp(c.question,1):function(t,e){return 64===t&&64===e}(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(c.relational,1)}isAssignable(t,e){switch(t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const e=t.properties.length-1;return t.properties.every(((t,s)=>"ObjectMethod"!==t.type&&(s===e||"SpreadElement"===t.type)&&this.isAssignable(t)))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every((t=>this.isAssignable(t)));case"AssignmentExpression":return"="===t.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!e;default:return!1}}toAssignable(t){return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t)):super.toAssignable(t)}toAssignableList(t,e){for(let e=0;e1||!e)&&this.raise(i.typeAnnotation.start,K.TypeCastInPattern)}return t}parseArrayLike(t,e,s,r){const i=super.parseArrayLike(t,e,s,r);return e&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(t,e=64,s,r){if("TypeCastExpression"!==t.type)return super.checkLVal(t,e,s,r)}parseClassProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(c.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(c.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,s,r,i,n){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(c.comma))}}parsePropertyName(t,e){const s=this.flowParseVariance(),r=super.parsePropertyName(t,e);return t.variance=s,r}parseObjPropValue(t,e,s,r,i,n,a,o){let u;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&!a&&(u=this.flowParseTypeParameterDeclaration(),this.match(c.parenL)||this.unexpected()),super.parseObjPropValue(t,e,s,r,i,n,a,o),u&&((t.value||t).typeParameters=u)}parseAssignableListItemTypes(t){return this.eat(c.question)&&("Identifier"!==t.type&&this.raise(t.start,K.OptionalBindingPattern),t.optional=!0),this.match(c.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(t,e,s)),n),!i.error)return i.node;const{context:r}=this.state;r[r.length-1]===T.j_oTag?r.length-=2:r[r.length-1]===T.j_expr&&(r.length-=1)}if((null==(r=i)?void 0:r.error)||this.isRelational("<")){var a,o;let r;n=n||this.state.clone();const u=this.tryParse((i=>{var n;r=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(r,(()=>{const i=super.parseMaybeAssign(t,e,s);return this.resetStartLocationFromNode(i,r),i}));"ArrowFunctionExpression"!==a.type&&(null==(n=a.extra)?void 0:n.parenthesized)&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=r,this.resetStartLocationFromNode(o,r),a}),n);let h=null;if(u.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(u.node).type){if(!u.error&&!u.aborted)return u.node.async&&this.raise(r.start,K.UnexpectedTypeParameterBeforeAsyncArrowFunction),u.node;h=u.node}if(null==(a=i)?void 0:a.node)return this.state=i.failState,i.node;if(h)return this.state=u.failState,h;if(null==(o=i)?void 0:o.thrown)throw i.error;if(u.thrown)throw u.error;throw this.raise(r.start,K.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,s)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(c.arrow)||this.unexpected(),s}));if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,"TypeAnnotation"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(c.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(c.parenR,!1),t=this.finishNode(r,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.isRelational("<")){const i=this.state.clone(),n=this.tryParse((t=>this.parseAsyncArrowWithTypeParameters(e,s)||t()),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse((()=>super.parseSubscripts(t,e,s,r)),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,i){if(this.match(c.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,r)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,s);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(c.parenL),n.arguments=this.parseCallExpressionArguments(c.parenR,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(e,s);r.callee=t;const n=this.tryParse((()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(c.parenL),r.arguments=this.parseCallExpressionArguments(c.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember))));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational("<")&&(e=this.tryParse((()=>this.flowParseTypeParameterInstantiationCallOrNew())).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(c.braceBarR,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,K.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,K.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf("*-/",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,g.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,g.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumBooleanMemberNotInitialized,s,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(t,K.EnumInvalidMemberName,s,r,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:s}){this.raise(t,K.EnumDuplicateMemberName,s,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,K.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:s}){return this.raise(t,null===s?K.EnumInvalidExplicitTypeUnknownSupplied:K.EnumInvalidExplicitType,e,s)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:s,memberName:r}){let i=null;switch(s){case"boolean":case"number":case"string":i=K.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=K.EnumInvalidMemberInitializerSymbolType;break;default:i=K.EnumInvalidMemberInitializerUnknownType}return this.raise(t,i,e,r,s)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,K.EnumNumberMemberNotInitialized,e,s)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,K.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(c.comma)||this.match(c.braceR);switch(this.state.type){case c.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return e()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:t}}case c.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return e()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:t}}case c._true:case c._false:{const s=this.parseBooleanLiteral();return e()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:t}}default:return{type:"invalid",pos:t}}}flowEnumMemberRaw(){const t=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(c.eq)?this.flowEnumMemberInit():{type:"none",pos:t}}}flowEnumCheckExplicitTypeMismatch(t,e,s){const{explicitType:r}=e;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(c.braceR);){const i=this.startNode(),{id:n,init:a}=this.flowEnumMemberRaw(),o=n.name;if(""===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(n.start,{enumName:t,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(n.start,{enumName:t,memberName:o}),s.add(o);const u={enumName:t,explicitType:e,memberName:o};switch(i.id=n,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,"boolean"),i.init=a.value,r.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,"number"),i.init=a.value,r.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,u,"string"),i.init=a.value,r.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,u);case"none":switch(e){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,u);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,u);break;default:r.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(c.braceR)||this.expect(c.comma)}return r}flowEnumStringMembers(t,e,{enumName:s}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(let e=0;e(t.members=[],this.expect(c.braceR),this.finishNode(t,"EnumStringBody"));t.explicitType=!1;const n=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,u=i.defaultedMembers.length;if(n||a||o||u){if(n||a){if(!a&&!o&&n>=u){for(let t=0,s=i.defaultedMembers;t=u){for(let t=0,s=i.defaultedMembers;tclass extends t{getScopeHandler(){return ut}tsIsIdentifier(){return this.match(c.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(c.parenL)||this.match(c.parenR)||this.match(c.colon)||this.match(c.eq)||this.match(c.question)||this.match(c.bang))}tsParseModifier(t){if(!this.match(c.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e){for(;;){const s=this.state.start,r=this.tsParseModifier(e);if(!r)break;Object.hasOwnProperty.call(t,r)&&this.raise(s,dt.DuplicateModifier,r),t[r]=!0}}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(c.braceR);case"HeritageClauseElement":return this.match(c.braceL);case"TupleElementTypes":return this.match(c.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(t,e){const s=[];for(;!this.tsIsListTerminator(t);)s.push(e());return s}tsParseDelimitedList(t,e){return pt(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,s){const r=[];for(;!this.tsIsListTerminator(t);){const i=e();if(null==i)return;if(r.push(i),!this.eat(c.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(c.comma))}}return r}tsParseBracketedList(t,e,s,r){r||(s?this.expect(c.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(t,e);return s?this.expect(c.bracketR):this.expectRelational(">"),i}tsParseImportType(){const t=this.startNode();return this.expect(c._import),this.expect(c.parenL),this.match(c.string)||this.raise(this.state.start,dt.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(c.parenR),this.eat(c.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(c.dot);){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(c._typeof),this.match(c._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(c._extends),t.default=this.tsEatThenParseType(c.eq),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational("<")||this.match(c.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===t.params.length&&this.raise(t.start,dt.EmptyTypeParameters),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===c._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=t===c.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(c.parenL),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(c.parenR,41).map((t=>("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type&&this.raise(t.start,dt.UnsupportedSignatureParameterKind,t.type),t)))}tsParseTypeMemberSemicolon(){this.eat(c.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(c.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(c.name)&&this.match(c.colon)}tsTryParseIndexSignature(t){if(!this.match(c.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(c.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(c.bracketR),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(c.question)&&(t.optional=!0);const s=t;if(e||!this.match(c.parenL)&&!this.isRelational("<")){const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}{const t=s;return this.tsFillSignature(c.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSMethodSignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(c.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(c._new)){const e=this.startNode();return this.next(),this.match(c.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier(["readonly"]),s=this.tsTryParseIndexSignature(t);return s?(e&&(t.readonly=!0),s):(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(c.braceL);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(c.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(c.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(c.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(c._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(c._in),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(c.braceL),this.match(c.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(t.readonly=!0),this.expect(c.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(c.bracketR),this.match(c.plusMin)?(t.optional=this.state.value,this.next(),this.expect(c.question)):this.eat(c.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(c.braceR),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1,s=null;return t.elementTypes.forEach((t=>{var r;let{type:i}=t;!e||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&t.optional||this.raise(t.start,dt.OptionalTypeBeforeRequired),e=e||"TSNamedTupleMember"===i&&t.optional||"TSOptionalType"===i,"TSRestType"===i&&(i=(t=t.typeAnnotation).type);const n="TSNamedTupleMember"===i;s=null!=(r=s)?r:n,s!==n&&this.raise(t.start,dt.MixedLabeledAndUnlabeledElements)})),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){const{start:t,startLoc:e}=this.state,s=this.eat(c.ellipsis);let r=this.tsParseType();const i=this.eat(c.question);if(this.eat(c.colon)){const t=this.startNodeAtNode(r);t.optional=i,"TSTypeReference"!==r.type||r.typeParameters||"Identifier"!==r.typeName.type?(this.raise(r.start,dt.InvalidTupleMemberLabel),t.label=r):t.label=r.typeName,t.elementType=this.tsParseType(),r=this.finishNode(t,"TSNamedTupleMember")}else if(i){const t=this.startNodeAtNode(r);t.typeAnnotation=r,r=this.finishNode(t,"TSOptionalType")}if(s){const s=this.startNodeAt(t,e);s.typeAnnotation=r,r=this.finishNode(s,"TSRestType")}return r}tsParseParenthesizedType(){const t=this.startNode();return this.expect(c.parenL),t.typeAnnotation=this.tsParseType(),this.expect(c.parenR),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return"TSConstructorType"===t&&this.expect(c._new),this.tsFillSignature(c.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case c.num:case c.bigint:case c.string:case c._true:case c._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode();return t.literal=this.parseTemplate(!1),this.finishNode(t,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case c.name:case c._void:case c._null:{const t=this.match(c._void)?"TSVoidKeyword":this.match(c._null)?"TSNullKeyword":function(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case c.string:case c.num:case c.bigint:case c._true:case c._false:return this.tsParseLiteralTypeNode();case c.plusMin:if("-"===this.state.value){const t=this.startNode(),e=this.lookahead();if(e.type!==c.num&&e.type!==c.bigint)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case c._this:return this.tsParseThisTypeOrThisTypePredicate();case c._typeof:return this.tsParseTypeQuery();case c._import:return this.tsParseImportType();case c.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case c.bracketL:return this.tsParseTupleType();case c.parenL:return this.tsParseParenthesizedType();case c.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(c.bracketL);)if(this.match(c.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(c.bracketR),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(c.bracketR),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,dt.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual("infer");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){const t=["keyof","unique","readonly"].find((t=>this.isContextual(t)));return t?this.tsParseTypeOperator(t):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){this.eat(s);let r=e();if(this.match(s)){const i=[r];for(;this.eat(s);)i.push(e());const n=this.startNodeAtNode(r);n.types=i,r=this.finishNode(n,t)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),c.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),c.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(c.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(c.name)||this.match(c._this))return this.next(),!0;if(this.match(c.braceL)){let t=1;for(this.next();t>0;)this.match(c.braceL)?++t:this.match(c.braceR)&&--t,this.next();return!0}if(this.match(c.bracketL)){let t=1;for(this.next();t>0;)this.match(c.bracketL)?++t:this.match(c.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(c.parenR)||this.match(c.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(c.colon)||this.match(c.comma)||this.match(c.question)||this.match(c.eq))return!0;if(this.match(c.parenR)&&(this.next(),this.match(c.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType((()=>{const e=this.startNode();this.expect(t);const s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(c._this)){let t=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===t.type){const s=this.startNodeAtNode(e);s.parameterName=t,s.asserts=!0,t=this.finishNode(s,"TSTypePredicate")}else t.asserts=!0;return e.typeAnnotation=t,this.finishNode(e,"TSTypeAnnotation")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,e);const t=this.startNodeAtNode(e);return t.parameterName=this.parseIdentifier(),t.asserts=s,e.typeAnnotation=this.finishNode(t,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")}const i=this.tsParseTypeAnnotation(!1),n=this.startNodeAtNode(e);return n.parameterName=r,n.typeAnnotation=i,n.asserts=s,e.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")}))}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(c.colon)?this.tsParseTypeOrTypePredicateAnnotation(c.colon):void 0}tsTryParseTypeAnnotation(){return this.match(c.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(c.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(c.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(c.name)&&!this.match(c._this))&&(t&&this.raise(this.state.lastTokStart,g.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType((()=>{t&&this.expect(c.colon),e.typeAnnotation=this.tsParseType()})),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){lt(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(c._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(c.question),e.trueType=this.tsParseType(),this.expect(c.colon),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(c._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(">"),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,dt.EmptyHeritageClauseType,t),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,130,void 0,"typescript interface declaration"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(c._extends)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,2,void 0,"typescript type alias"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsInType((()=>{if(this.expect(c.eq),this.isContextual("intrinsic")&&this.lookahead().type!==c.dot){const t=this.startNode();return this.next(),this.finishNode(t,"TSIntrinsicKeyword")}return this.tsParseType()})),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType((()=>this.expect(t)))}tsNextThenParseType(){return this.tsDoThenParseType((()=>this.next()))}tsDoThenParseType(t){return this.tsInType((()=>(t(),this.tsParseType())))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(c.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(c.eq)&&(t.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?779:267,void 0,"typescript enum declaration"),this.expect(c.braceL),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(c.braceR),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(0),this.expect(c.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,c.braceR),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,1024,null,"module or namespace declaration"),this.eat(c.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual("global")?(t.global=!0,t.id=this.parseIdentifier()):this.match(c.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(c.braceL)?(this.scope.enter(p),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,9,void 0,"import equals declaration"),this.expect(c.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual("require"),this.expect(c.parenL),!this.match(c.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(c.parenR),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.tryParse((e=>t()||e()));if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;return this.isContextual("let")&&(s=c._var,e="let"),this.tsInDeclareContext((()=>{switch(s){case c._function:return t.declare=!0,this.parseFunctionStatement(t,!1,!0);case c._class:return t.declare=!0,this.parseClass(t,!0,!1);case c._const:if(this.match(c._const)&&this.isLookaheadContextual("enum"))return this.expect(c._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0);case c._var:return e=e||this.state.value,this.parseVarStatement(t,e);case c.name:{const e=this.state.value;return"global"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}))}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(c.braceL)){this.scope.enter(p),this.prodParam.enter(0);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case"abstract":if(this.tsCheckLineTerminatorAndMatch(c._class,s)){const e=t;return e.abstract=!0,s&&(this.next(),this.match(c._class)||this.unexpected(null,c._class)),this.parseClass(e,!0,!1)}break;case"enum":if(s||this.match(c.name))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(t);break;case"module":if(s&&this.next(),this.match(c.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(c.name,s))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminatorAndMatch(c.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const r=this.tsTryParseAndCatch((()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(c.arrow),s}));return this.state.maybeInArrowParameters=s,r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType((()=>this.tsInNoContext((()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))))),0===t.params.length&&this.raise(t.start,dt.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(c.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let i,n=!1;void 0!==t&&(i=this.parseAccessModifier(),n=!!this.tsParseModifier(["readonly"]),!1===t&&(i||n)&&this.raise(s,dt.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||n){const t=this.startNodeAt(s,r);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(t.start,dt.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,"TSParameterProperty")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,s=!1){this.match(c.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(c.colon));const r="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e?"TSDeclareMethod":void 0;r&&!this.match(c.braceL)&&this.isLineTerminator()?this.finishNode(t,r):"TSDeclareFunction"===r&&this.state.isDeclareContext&&(this.raise(t.start,dt.DeclareFunctionHasImplementation),t.declare)?super.parseFunctionBodyAndFinish(t,r,s):super.parseFunctionBodyAndFinish(t,e,s)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,1024,null,"function name"):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(t){t.forEach((t=>{"TSTypeCastExpression"===(null==t?void 0:t.type)&&this.raise(t.typeAnnotation.start,dt.UnexpectedTypeAnnotation)}))}toReferencedList(t,e){return this.tsCheckForInvalidTypeCasts(t),t}parseArrayLike(...t){const e=super.parseArrayLike(...t);return"ArrayExpression"===e.type&&this.tsCheckForInvalidTypeCasts(e.elements),e}parseSubscript(t,e,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(c.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const n=this.tsTryParseAndCatch((()=>{if(!r&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const n=this.startNodeAt(e,s);n.callee=t;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(c.parenL))return n.arguments=this.parseCallExpressionArguments(c.parenR,!1),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeParameters=a,this.finishCallExpression(n,i.optionalChainMember);if(this.match(c.backQuote)){const r=this.parseTaggedTemplateExpression(t,e,s,i);return r.typeParameters=a,r}}this.unexpected()}));if(n)return n}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch((()=>{const t=this.tsParseTypeArguments();return this.match(c.parenL)||this.unexpected(),t}));e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r){if(pt(c._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(e,s);i.expression=t;const n=this.tsTryNextParseConstantContext();return i.typeAnnotation=n||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,e,s,r)}return super.parseExprOp(t,e,s,r)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){if(this.match(c.name)||this.match(c.star)||this.match(c.braceL)){const e=this.lookahead();if(this.match(c.name)&&e.type===c.eq)return this.tsParseImportEqualsDeclaration(t);!this.isContextual("type")||e.type===c.comma||e.type===c.name&&"from"===e.value||(t.importKind="type",this.next())}t.importKind||(t.importKind="value");const e=super.parseImport(t);return"type"===e.importKind&&e.specifiers.length>1&&"ImportDefaultSpecifier"===e.specifiers[0].type&&this.raise(e.start,"A type-only import can specify a default import or named bindings, but not both."),e}parseExport(t){if(this.match(c._import))return this.expect(c._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(c.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual("as")){const e=t;return this.expectContextual("namespace"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===c.braceL?(this.next(),t.exportKind="type"):t.exportKind="value",super.parseExport(t)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===c._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if("interface"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===c._const){const t=this.lookahead();if(t.type===c.name&&"enum"===t.value){const t=this.startNode();return this.expect(c._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(t,e,s){this.tsParseModifiers(e,["declare"]);const r=this.parseAccessModifier();r&&(e.accessibility=r),this.tsParseModifiers(e,["declare"]);const i=()=>{super.parseClassMember(t,e,s)};e.declare?this.tsInDeclareContext(i):i()}parseClassMemberWithIsStatic(t,e,s,r){this.tsParseModifiers(e,["abstract","readonly","declare"]);const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,dt.IndexSignatureHasAbstract),r&&this.raise(e.start,dt.IndexSignatureHasStatic),e.accessibility&&this.raise(e.start,dt.IndexSignatureHasAccessibility,e.accessibility),void(e.declare&&this.raise(e.start,dt.IndexSignatureHasDeclare));super.parseClassMemberWithIsStatic(t,e,s,r)}parsePostMemberNameModifiers(t){this.eat(c.question)&&(t.optional=!0),t.readonly&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasReadonly),t.declare&&this.match(c.parenL)&&this.raise(t.start,dt.ClassMethodHasDeclare)}parseExpressionStatement(t,e){return("Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r){if(!r||!this.match(c.question))return super.parseConditional(t,e,s,r);const i=this.tryParse((()=>super.parseConditional(t,e,s)));return i.node?(i.error&&(this.state=i.failState),i.node):(r.start=i.error.pos||this.state.start,t)}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(c.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(c.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");let i;return this.match(c.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||r)&&(t.exportKind="type"),i&&r&&(this.resetStartLocation(i,e,s),i.declare=!0),i}parseClassId(t,e,s){if((!e||s)&&this.isContextual("implements"))return;super.parseClassId(t,e,s,t.declare?1024:139);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(c.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),this.state.isDeclareContext&&this.match(c.eq)&&this.raise(this.state.start,dt.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,dt.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,dt.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,s,r,i,n){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,dt.ConstructorHasTypeParameters),a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t,...e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),"Identifier"===t.id.type&&this.eat(c.bang)&&(t.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(t.id.typeAnnotation=s,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(c.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){var e,s,r,i,n,a,o;let u,h,p,l;if(this.match(c.jsxTagStart)){if(u=this.state.clone(),h=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!h.error)return h.node;const{context:e}=this.state;e[e.length-1]===T.j_oTag?e.length-=2:e[e.length-1]===T.j_expr&&(e.length-=1)}if(!(null==(e=h)?void 0:e.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...t);u=u||this.state.clone();const d=this.tryParse((e=>{var s;l=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...t);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&e(),0!==(null==(s=l)?void 0:s.params.length)&&this.resetStartLocationFromNode(r,l),r.typeParameters=l,r}),u);if(!d.error&&!d.aborted)return d.node;if(!h&&(lt(!this.hasPlugin("jsx")),p=this.tryParse((()=>super.parseMaybeAssign(...t)),u),!p.error))return p.node;if(null==(s=h)?void 0:s.node)return this.state=h.failState,h.node;if(d.node)return this.state=d.failState,d.node;if(null==(r=p)?void 0:r.node)return this.state=p.failState,p.node;if(null==(i=h)?void 0:i.thrown)throw h.error;if(d.thrown)throw d.error;if(null==(n=p)?void 0:n.thrown)throw p.error;throw(null==(a=h)?void 0:a.error)||d.error||(null==(o=p)?void 0:o.error)}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(c.colon)){const e=this.tryParse((t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(c.colon);return!this.canInsertSemicolon()&&this.match(c.arrow)||t(),e}));if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(c.question)&&("Identifier"===t.type||this.state.isDeclareContext||this.state.inType||this.raise(t.start,dt.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t){switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t));case"TSParameterProperty":return super.toAssignable(t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression),t;default:return super.toAssignable(t)}}checkLVal(t,e=64,s,r){switch(t.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(t.parameter,e,s,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(t.expression,e,s,r);default:return void super.checkLVal(t,e,s,r)}}parseBindingAtom(){switch(this.state.type){case c._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational("<")){const e=this.tsParseTypeArguments();if(this.match(c.parenL)){const s=super.parseMaybeDecoratorArguments(t);return s.typeParameters=e,s}this.unexpected(this.state.start,c.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(c.bang)||this.match(c.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return"AssignmentPattern"===e.type&&e.typeAnnotation&&e.right.startthis.tsParseTypeArguments()));e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=t.params[0];return s&&"Identifier"===s.type&&"this"===s.name?e+1:e}parseCatchClauseParam(){const t=super.parseCatchClauseParam(),e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e,this.resetEndLocation(t)),t}tsInDeclareContext(t){const e=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return t()}finally{this.state.isDeclareContext=e}}},v8intrinsic:t=>class extends t{parseV8Intrinsic(){if(this.match(c.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(c.modulo),this.match(c.name)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type="V8IntrinsicIdentifier",this.match(c.parenL))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:t=>class extends t{parsePlaceholder(t){if(this.match(c.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(c.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(c.colon)){const s=t;return s.label=this.finishPlaceholder(e,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const i=this.state.strict,n=this.parsePlaceholder("Identifier");if(n)if(this.match(c._extends)||this.match(c.placeholder)||this.match(c.braceL))t.id=n;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(n,"ClassBody"),this.finishNode(t,r);this.unexpected(null,"A class name is required")}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass,i),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(c.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(t)}isExportDefaultSpecifier(){if(this.match(c._default)){const t=this.nextTokenStart();if(this.isUnparsedContextual(t,"from")&&this.input.startsWith(c.placeholder.label,this.nextTokenStartSince(t+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;(null==e?void 0:e.length)&&(t.specifiers=e.filter((t=>"Placeholder"===t.exported.type))),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual("from")&&!this.match(c.comma))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const s=this.startNodeAtNode(e);if(s.local=e,this.finishNode(s,"ImportDefaultSpecifier"),t.specifiers.push(s),this.eat(c.comma)){this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)}return this.expectContextual("from"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},At=Object.keys(Et),Ct={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class xt{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=c.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[T.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],this.exportedIdentifiers=[],this.tokensLength=0}init(t){this.strict=!1!==t.strictMode&&"module"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new C(this.curLine,this.pos-this.lineStart)}clone(t){const e=new xt,s=Object.keys(this);for(let r=0,i=s.length;r=48&&t<=57};const gt=new Set(["g","m","s","i","y","u"]),bt={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Pt={bin:[48,49]};Pt.oct=[...Pt.bin,50,51,52,53,54,55],Pt.dec=[...Pt.oct,56,57],Pt.hex=[...Pt.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Tt{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new x(t.startLoc,t.endLoc)}}class wt{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class Bt{constructor(t,e,s){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=e,this.end=0,this.loc=new x(s),(null==t?void 0:t.options.ranges)&&(this.range=[e,0]),(null==t?void 0:t.filename)&&(this.loc.filename=t.filename)}__clone(){const t=new Bt,e=Object.keys(this);for(let s=0,r=e.length;s"ParenthesizedExpression"===t.type?St(t.expression):t;class Nt{constructor(t=0){this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}}class It extends Nt{constructor(t){super(t),this.errors=new Map}recordDeclarationError(t,e){this.errors.set(t,e)}clearDeclarationError(t){this.errors.delete(t)}iterateErrors(t){this.errors.forEach(t)}}class vt{constructor(t){this.stack=[new Nt],this.raise=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;!i.isCertainlyParameterDeclaration();){if(!i.canBeArrowParameterDeclaration())return;i.recordDeclarationError(t,e),i=s[--r]}this.raise(t,e)}recordAsyncArrowParametersError(t,e){const{stack:s}=this;let r=s.length-1,i=s[r];for(;i.canBeArrowParameterDeclaration();)2===i.type&&i.recordDeclarationError(t,e),i=s[--r]}validateAsPattern(){const{stack:t}=this,e=t[t.length-1];e.canBeArrowParameterDeclaration()&&e.iterateErrors(((e,s)=>{this.raise(s,e);let r=t.length-2,i=t[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(s),i=t[--r]}))}}function kt(){return new Nt}const Lt={kind:"loop"},Ot={kind:"switch"},Mt=/[\uD800-\uDFFF]/u;class Rt{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class _t{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Rt)}exit(){const t=this.stack.pop(),e=this.current();for(let s=0,r=Array.from(t.undefinedPrivateNames);s0;)r=e[--i];if(null===r)return;for(let t=0;t0?r.trailingComments=n:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(t){if("Program"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let s,r,i,n,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const s=F(e);s.trailingComments&&s.trailingComments[0].start>=t.end&&(i=s.trailingComments,delete s.trailingComments)}for(e.length>0&&F(e).start>=t.start&&(s=e.pop());e.length>0&&F(e).start>=t.start;)r=e.pop();if(!r&&s&&(r=s),s)switch(t.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(t,t.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==t.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(r){if(r.leadingComments)if(r!==t&&r.leadingComments.length>0&&F(r.leadingComments).end<=t.start)t.leadingComments=r.leadingComments,delete r.leadingComments;else for(n=r.leadingComments.length-2;n>=0;--n)if(r.leadingComments[n].end<=t.start){t.leadingComments=r.leadingComments.splice(0,n+1);break}}else if(this.state.leadingComments.length>0)if(F(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(n=0;nt.start);n++);const e=this.state.leadingComments.slice(0,n);e.length&&(t.leadingComments=e),i=this.state.leadingComments.slice(n),0===i.length&&(i=null)}if(this.state.commentPreviousNode=t,i)if(i.length&&i[0].start>=t.start&&F(i).end<=t.end)t.innerComments=i;else{const e=i.findIndex((e=>e.end>=t.end));e>0?(t.innerComments=i.slice(0,e),t.trailingComments=i.slice(e)):t.trailingComments=i}e.push(t)}}{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:function(t,e){let s,r=1,i=0;for(f.lastIndex=0;(s=f.exec(t))&&s.indexr[e]))+" (".concat(i.line,":").concat(i.column,")");return this._raise(Object.assign({loc:i,pos:t},e),n)}_raise(t,e){const s=new SyntaxError(e);if(Object.assign(s,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new xt,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Tt(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){E.lastIndex=t;return t+E.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(c.num)||this.match(c.string)){for(this.state.pos=this.state.start;this.state.pos=this.length)return void this.finishToken(c.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,s,r,i,n){const a={type:t?"CommentBlock":"CommentLine",value:e,start:s,end:r,loc:new x(i,n)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(e,g.UnterminatedComment);let r;for(this.state.pos=s+2,f.lastIndex=e;(r=f.exec(this.input))&&r.index=48&&e<=57)throw this.raise(this.state.pos,g.UnexpectedDigitAfterHash);if(123===e||91===e&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===e?g.RecordExpressionHashIncorrectStartSyntaxType:g.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(c.braceHashL):this.finishToken(c.bracketHashL),this.state.pos+=2}else this.finishOp(c.hash,1)}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(c.ellipsis)):(++this.state.pos,this.finishToken(c.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.assign,2):this.finishOp(c.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;for(this.state.pos+=1;!y(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(c.question)):(this.state.pos+=2,this.finishToken(c.questionDot))}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(c.parenL);case 41:return++this.state.pos,void this.finishToken(c.parenR);case 59:return++this.state.pos,void this.finishToken(c.semi);case 44:return++this.state.pos,void this.finishToken(c.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,g.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(c.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.bracketL);return;case 93:return++this.state.pos,void this.finishToken(c.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,g.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(c.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(c.braceL);return;case 125:return++this.state.pos,void this.finishToken(c.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(c.doubleColon,2):(++this.state.pos,this.finishToken(c.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(c.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(c.tilde,1);case 64:return++this.state.pos,void this.finishToken(c.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(L(t))return void this.readWord()}throw this.raise(this.state.pos,g.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.pos;let e,s;for(;;){if(this.state.pos>=this.length)throw this.raise(t,g.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(m.test(r))throw this.raise(t,g.UnterminatedRegExp);if(e)e=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;e="\\"===r}++this.state.pos}const r=this.input.slice(t,this.state.pos);++this.state.pos;let i="";for(;this.state.pos-1&&this.raise(this.state.pos+1,g.DuplicateRegExpFlags);else{if(!O(e)&&92!==e)break;this.raise(this.state.pos+1,g.MalformedRegExpFlags)}++this.state.pos,i+=t}this.finishToken(c.regexp,{pattern:r,flags:i})}readInt(t,e,s,r=!0){const i=this.state.pos,n=16===t?bt.hex:bt.decBinOct,a=16===t?Pt.hex:10===t?Pt.dec:8===t?Pt.oct:Pt.bin;let o=!1,u=0;for(let i=0,h=null==e?1/0:e;i=97?e-97+10:e>=65?e-65+10:Ft(e)?e-48:1/0,h>=t)if(this.options.errorRecovery&&h<=9)h=0,this.raise(this.state.start+i+2,g.InvalidDigit,t);else{if(!s)break;h=0,o=!0}++this.state.pos,u=u*t+h}else{const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,g.UnexpectedNumericSeparator),r||this.raise(this.state.pos,g.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:u}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);null==r&&this.raise(this.state.start+2,g.InvalidDigit,t);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,s=!0;else if(109===i)throw this.raise(e,g.InvalidDecimal);if(L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);if(s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(c.bigint,t)}else this.finishToken(c.num,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,i=!1,n=!1,a=!1;t||null!==this.readInt(10)||this.raise(e,g.InvalidNumber);const o=this.state.pos-e>=2&&48===this.input.charCodeAt(e);if(o){const t=this.input.slice(e,this.state.pos);if(this.state.strict)this.raise(e,g.StrictOctalLiteral);else{const s=t.indexOf("_");s>0&&this.raise(s+e,g.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(t)}let u=this.input.charCodeAt(this.state.pos);if(46!==u||a||(++this.state.pos,this.readInt(10),s=!0,u=this.input.charCodeAt(this.state.pos)),69!==u&&101!==u||a||(u=this.input.charCodeAt(++this.state.pos),43!==u&&45!==u||++this.state.pos,null===this.readInt(10)&&this.raise(e,g.InvalidOrMissingExponent),s=!0,n=!0,u=this.input.charCodeAt(this.state.pos)),110===u&&((s||o)&&this.raise(e,g.InvalidBigIntLiteral),++this.state.pos,r=!0),109===u&&(this.expectPlugin("decimal",this.state.pos),(n||o)&&this.raise(e,g.InvalidDecimal),++this.state.pos,i=!0),L(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,g.NumberIdentifier);const h=this.input.slice(e,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(c.bigint,h);if(i)return void this.finishToken(c.decimal,h);const p=a?parseInt(h,8):parseFloat(h);this.finishToken(c.num,p)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const s=++this.state.pos;if(e=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==e&&e>1114111){if(!t)return null;this.raise(s,g.InvalidCodePoint)}}else e=this.readHexChar(4,!1,t);return e}readString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(92===r)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(y(r))throw this.raise(this.state.start,g.UnterminatedString);++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(c.string,e)}readTmplToken(){let t="",e=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,g.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(c.template)?36===r?(this.state.pos+=2,void this.finishToken(c.dollarBraceL)):(++this.state.pos,void this.finishToken(c.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(c.template,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(y(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;this.state.strict&&this.raise(this.state.pos-1,g.StrictNumericEscape);default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==s||56===i||57===i){if(t)return null;this.state.strict?this.raise(e,g.StrictNumericEscape):this.state.octalPositions.push(e)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e,s){const r=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(s?this.raise(r,g.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(){let t="";this.state.containsEsc=!1;const e=this.state.pos;let s=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e="Unexpected token"){throw"string"!=typeof e&&(e='Unexpected token, expected "'.concat(e.label,'"')),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},"This experimental syntax requires enabling the parser plugin: '".concat(t,"'"));return!0}expectOnePlugin(t,e){if(!t.some((t=>this.hasPlugin(t))))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},"This experimental syntax requires enabling one of the following parser plugin(s): '".concat(t.join(", "),"'"))}tryParse(t,e=this.state.clone()){const s={node:null};try{const r=t(((t=null)=>{throw s.node=t,s}));if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:r,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(t){const r=this.state;if(this.state=e,t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:r};if(t===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:r};throw t}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:s,doubleProto:r}=t;if(!e)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,g.DuplicateProto)}isLiteralPropertyName(){return this.match(c.name)||!!this.state.type.keyword||this.match(c.string)||this.match(c.num)||this.match(c.bigint)||this.match(c.decimal)}}{startNode(){return new Bt(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new Bt(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,s,r){return t.type=e,t.end=s,t.loc.end=r,this.options.ranges&&(t.range[1]=s),this.processComment(t),t}resetStartLocation(t,e,s){t.start=e,t.loc.start=s,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t,e=this.state.lastTokEnd,s=this.state.lastTokEndLoc){t.end=e,t.loc.end=s,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}{toAssignable(t){var e,s;let r=void 0;switch(("ParenthesizedExpression"===t.type||(null==(e=t.extra)?void 0:e.parenthesized))&&(r=St(t),"Identifier"!==r.type&&"MemberExpression"!==r.type&&this.raise(t.start,g.InvalidParenthesizedAssignment)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(let e=0,s=t.properties.length,r=s-1;ethis.parseExpressionBase(e))):this.allowInAnd((()=>this.parseExpressionBase(e)))}parseExpressionBase(t){const e=this.state.start,s=this.state.startLoc,r=this.parseMaybeAssign(t);if(this.match(c.comma)){const i=this.startNodeAt(e,s);for(i.expressions=[r];this.eat(c.comma);)i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return r}parseMaybeAssignDisallowIn(t,e,s){return this.disallowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssignAllowIn(t,e,s){return this.allowInAnd((()=>this.parseMaybeAssign(t,e,s)))}parseMaybeAssign(t,e,s){const r=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let t=this.parseYield();return e&&(t=e.call(this,t,r,i)),t}let n;t?n=!1:(t=new wt,n=!0),(this.match(c.parenL)||this.match(c.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t,s);if(e&&(a=e.call(this,a,r,i)),this.state.type.isAssign){const e=this.startNodeAt(r,i),s=this.state.value;return e.operator=s,this.match(c.eq)?(e.left=this.toAssignable(a),t.doubleProto=-1):e.left=a,t.shorthandAssign>=e.left.start&&(t.shorthandAssign=-1),this.checkLVal(a,void 0,void 0,"assignment expression"),this.next(),e.right=this.parseMaybeAssign(),this.finishNode(e,"AssignmentExpression")}return n&&this.checkExpressionErrors(t,!0),a}parseMaybeConditional(t,e){const s=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,n=this.parseExprOps(t);return this.shouldExitDescending(n,i)?n:this.parseConditional(n,s,r,e)}parseConditional(t,e,s,r){if(this.eat(c.question)){const r=this.startNodeAt(e,s);return r.test=t,r.consequent=this.parseMaybeAssignAllowIn(),this.expect(c.colon),r.alternate=this.parseMaybeAssign(),this.finishNode(r,"ConditionalExpression")}return t}parseExprOps(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseMaybeUnary(t);return this.shouldExitDescending(i,r)?i:this.parseExprOp(i,e,s,-1)}parseExprOp(t,e,s,r){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(c._in))&&i>r){const n=this.state.type;if(n===c.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)}const a=this.startNodeAt(e,s);a.left=t,a.operator=this.state.value,n!==c.exponent||"UnaryExpression"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,g.UnexpectedTokenUnaryExponentiation);const o=n===c.logicalOR||n===c.logicalAND,u=n===c.nullishCoalescing;if(u&&(i=c.logicalAND.binop),this.next(),n===c.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(c.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,g.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(n,i),this.finishNode(a,o||u?"LogicalExpression":"BinaryExpression");const h=this.state.type;if(u&&(h===c.logicalOR||h===c.logicalAND)||o&&h===c.nullishCoalescing)throw this.raise(this.state.start,g.MixingCoalesceWithLogical);return this.parseExprOp(a,e,s,r)}return t}parseExprOpRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;switch(t){case c.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext((()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e),s,r)));case"fsharp":return this.withSoloAwaitPermittingContext((()=>this.parseFSharpPipelineBody(e)))}default:return this.parseExprOpBaseRightExpr(t,e)}}parseExprOpBaseRightExpr(t,e){const s=this.state.start,r=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,r,t.rightAssociative?e-1:e)}parseMaybeUnary(t){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();const e=this.match(c.incDec),s=this.startNode();if(this.state.type.prefix){s.operator=this.state.value,s.prefix=!0,this.match(c._throw)&&this.expectPlugin("throwExpressions");const r=this.match(c._delete);if(this.next(),s.argument=this.parseMaybeUnary(),this.checkExpressionErrors(t,!0),this.state.strict&&r){const t=s.argument;"Identifier"===t.type?this.raise(s.start,g.StrictDelete):"MemberExpression"!==t.type&&"OptionalMemberExpression"!==t.type||"PrivateName"!==t.property.type||this.raise(s.start,g.DeletePrivateField)}if(!e)return this.finishNode(s,"UnaryExpression")}return this.parseUpdate(s,e,t)}parseUpdate(t,e,s){if(e)return this.checkLVal(t.argument,void 0,void 0,"prefix operation"),this.finishNode(t,"UpdateExpression");const r=this.state.start,i=this.state.startLoc;let n=this.parseExprSubscripts(s);if(this.checkExpressionErrors(s,!1))return n;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const t=this.startNodeAt(r,i);t.operator=this.state.value,t.prefix=!1,t.argument=n,this.checkLVal(n,void 0,void 0,"postfix operation"),this.next(),n=this.finishNode(t,"UpdateExpression")}return n}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,r)?i:this.parseSubscripts(i,e,s)}parseSubscripts(t,e,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{t=this.parseSubscript(t,e,s,r,i),i.maybeAsyncArrow=!1}while(!i.stop);return t}parseSubscript(t,e,s,r,i){if(!r&&this.eat(c.doubleColon))return this.parseBind(t,e,s,r,i);if(this.match(c.backQuote))return this.parseTaggedTemplateExpression(t,e,s,i);let n=!1;if(this.match(c.questionDot)){if(i.optionalChainMember=n=!0,r&&40===this.lookaheadCharCode())return i.stop=!0,t;this.next()}return!r&&this.match(c.parenL)?this.parseCoverCallAndAsyncArrowHead(t,e,s,i,n):n||this.match(c.bracketL)||this.eat(c.dot)?this.parseMember(t,e,s,i,n):(i.stop=!0,t)}parseMember(t,e,s,r,i){const n=this.startNodeAt(e,s),a=this.eat(c.bracketL);n.object=t,n.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return"PrivateName"===o.type&&("Super"===n.object.type&&this.raise(e,g.SuperPrivateField),this.classScope.usePrivateName(o.id.name,o.start)),n.property=o,a&&this.expect(c.bracketR),r.optionalChainMember?(n.optional=i,this.finishNode(n,"OptionalMemberExpression")):this.finishNode(n,"MemberExpression")}parseBind(t,e,s,r,i){const n=this.startNodeAt(e,s);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,"BindExpression"),e,s,r)}parseCoverCallAndAsyncArrowHead(t,e,s,r,i){const n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(e,s);return a.callee=t,r.maybeAsyncArrow&&this.expressionScope.enter(new It(2)),r.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(c.parenR,!1):this.parseCallExpressionArguments(c.parenR,r.maybeAsyncArrow,"Import"===t.type,"Super"!==t.type,a),this.finishCallExpression(a,r.optionalChainMember),r.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(r.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),a)):(r.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=n,a}toReferencedArguments(t,e){this.toReferencedListDeep(t.arguments,e)}parseTaggedTemplateExpression(t,e,s,r){const i=this.startNodeAt(e,s);return i.tag=t,i.quasi=this.parseTemplate(!0),r.optionalChainMember&&this.raise(e,g.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if("Import"===t.callee.type)if(2===t.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===t.arguments.length||t.arguments.length>2)this.raise(t.start,g.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(let e=0,s=t.arguments;e1?(r=this.startNodeAt(a,o),r.expressions=u,this.finishNodeAt(r,"SequenceExpression",m,f)):r=u[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",e),r;const E=this.startNodeAt(e,s);return E.expression=r,this.finishNode(E,"ParenthesizedExpression"),E}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(c.arrow))return t}parseParenItem(t,e,s){return t}parseNewOrNewTarget(){const t=this.startNode();if(this.next(),this.match(c.dot)){const e=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();const s=this.parseMetaProperty(t,e,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=g.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(t+=" or class properties"),this.raise(s.start,t)}return s}return this.parseNew(t)}parseNew(t){return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,g.ImportCallNotNewExpression):"OptionalMemberExpression"===t.callee.type||"OptionalCallExpression"===t.callee.type?this.raise(this.state.lastTokEnd,g.OptionalChainingNoNew):this.eat(c.questionDot)&&this.raise(this.state.start,g.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(c.parenL)){const e=this.parseExprList(c.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,g.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(c.backQuote),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);for(e.quasis=[s];!s.tail;)this.expect(c.dollarBraceL),e.expressions.push(this.parseTemplateSubstitution()),this.expect(c.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,e,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=Object.create(null);let a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(a)a=!1;else if(this.expect(c.comma),this.match(t)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(e,r);e||this.checkProto(i,s,n,r),s&&"ObjectProperty"!==i.type&&"SpreadElement"!==i.type&&this.raise(i.start,g.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),o.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return e?u="ObjectPattern":s&&(u="RecordExpression"),this.finishNode(o,u)}maybeAsyncOrAccessorProp(t){return!t.computed&&"Identifier"===t.key.type&&(this.isLiteralPropertyName()||this.match(c.bracketL)||this.match(c.star))}parsePropertyDefinition(t,e){let s=[];if(this.match(c.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,g.UnsupportedPropertyDecorator);this.match(c.at);)s.push(this.parseDecorator());const r=this.startNode();let i,n,a=!1,o=!1,u=!1;if(this.match(c.ellipsis))return s.length&&this.unexpected(),t?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(t||e)&&(i=this.state.start,n=this.state.startLoc),t||(a=this.eat(c.star));const h=this.state.containsEsc,p=this.parsePropertyName(r,!1);if(!t&&!a&&!h&&this.maybeAsyncOrAccessorProp(r)){const t=p.name;"async"!==t||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(c.star),this.parsePropertyName(r,!1)),"get"!==t&&"set"!==t||(u=!0,r.kind=t,this.match(c.star)&&(a=!0,this.raise(this.state.pos,g.AccessorIsGenerator,t),this.next()),this.parsePropertyName(r,!1))}return this.parseObjPropValue(r,i,n,a,o,t,u,e),r}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var e;const s=this.getGetterSetterExpectedParamCount(t),r=this.getObjectOrClassMethodParams(t),i=t.start;r.length!==s&&("get"===t.kind?this.raise(i,g.BadGetterArity):this.raise(i,g.BadSetterArity)),"set"===t.kind&&"RestElement"===(null==(e=r[r.length-1])?void 0:e.type)&&this.raise(i,g.BadSetterRestParameter)}parseObjectMethod(t,e,s,r,i){return i?(this.parseMethod(t,e,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):s||e||this.match(c.parenL)?(r&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,s,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(t,e,s,r,i){return t.shorthand=!1,this.eat(c.colon)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!1),r?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(c.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,s,r,i,n,a,o){const u=this.parseObjectMethod(t,r,i,n,a)||this.parseObjectProperty(t,e,s,n,o);return u||this.unexpected(),u}parsePropertyName(t,e){if(this.eat(c.bracketL))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(c.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(c.num)||this.match(c.string)||this.match(c.bigint)||this.match(c.decimal)?this.parseExprAtom():this.parseMaybePrivateName(e),"PrivateName"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=s}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,i,n,a=!1){this.initFunction(t,s),t.generator=!!e;const o=r;return this.scope.enter(18|(a?64:0)|(i?32:0)),this.prodParam.enter(ct(s,t.generator)),this.parseFunctionParams(t,o),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),t}parseArrayLike(t,e,s,r){s&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=this.startNode();return this.next(),n.elements=this.parseExprList(t,!s,r,n),this.state.inFSharpPipelineDirectBody=i,this.finishNode(n,s?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,e,s,r){this.scope.enter(6);let i=ct(s,!1);!this.match(c.bracketL)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(t,s);const n=this.state.maybeInArrowParameters;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,s)}parseFunctionBodyAndFinish(t,e,s=!1){this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e,s=!1){const r=e&&!this.match(c.braceL);if(this.expressionScope.enter(kt()),r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),t.body=this.parseBlock(!0,!1,(i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,g.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(t,!(this.state.strict||e||s||n),e,a),this.state.strict&&t.id&&this.checkLVal(t.id,65,void 0,"function name",void 0,a)})),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(t){for(let e=0,s=t.length;e=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){const e=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),e,s,t);return this.state.inFSharpPipelineDirectBody=r,i}}{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,c.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let t=0,e=Array.from(this.scope.undefinedExports);tthis.parseStatement("do"))),this.state.labels.pop(),this.expect(c._while),t.test=this.parseHeaderExpression(),this.eat(c.semi),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(Lt);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(e=this.state.lastTokStart),this.scope.enter(0),this.expect(c.parenL),this.match(c.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isLet();if(this.match(c._var)||this.match(c._const)||s){const r=this.startNode(),i=s?"let":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,"VariableDeclaration"),(this.match(c._in)||this.isContextual("of"))&&1===r.declarations.length?this.parseForIn(t,r,e):(e>-1&&this.unexpected(e),this.parseFor(t,r))}const r=new wt,i=this.parseExpression(!0,r);if(this.match(c._in)||this.isContextual("of")){this.toAssignable(i);const s=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,void 0,void 0,s),this.parseForIn(t,i,e)}return this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,i)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,1|(s?0:2),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(c._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,g.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(c.braceL),this.state.labels.push(Ot),this.scope.enter(0);!this.match(c.braceR);)if(this.match(c._case)||this.match(c._default)){const t=this.match(c._case);s&&this.finishNode(s,"SwitchCase"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,g.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(c.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,g.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){const t=this.parseBindingAtom(),e="Identifier"===t.type;return this.scope.enter(e?8:0),this.checkLVal(t,9,null,"catch clause"),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(c._catch)){const e=this.startNode();this.next(),this.match(c.parenL)?(this.expect(c.parenL),e.param=this.parseCatchClauseParam(),this.expect(c.parenR)):(e.param=null,this.scope.enter(0)),e.body=this.withTopicForbiddingContext((()=>this.parseBlock(!1,!1))),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(c._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,g.NoCatchOrFinally),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(Lt),t.body=this.withTopicForbiddingContext((()=>this.parseStatement("while"))),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,g.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext((()=>this.parseStatement("with"))),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,s,r){for(let t=0,r=this.state.labels;t=0;e--){const s=this.state.labels[e];if(s.statementStart!==t.start)break;s.statementStart=this.state.start,s.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,e=!0,s){const r=this.startNode();return this.expect(c.braceL),e&&this.scope.enter(0),this.parseBlockBody(r,t,!1,c.braceR,s),e&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,s,r,i)}parseBlockOrModuleBlockBody(t,e,s,r,i){const n=[],a=this.state.strict;let o=!1,u=!1;for(;!this.match(r);){!u&&this.state.octalPositions.length&&n.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(e&&!u&&this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),o||"use strict"!==t.value.value||(o=!0,this.setStrict(!0))}else u=!0,t.push(r)}if(this.state.strict&&n.length)for(let t=0;tthis.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,s){const r=this.match(c._in);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,g.InvalidLhs,"for-loop"):this.raise(e.start,g.ForInOfLoopInitializer,r?"for-in":"for-of"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(c.parenR),t.body=this.withTopicForbiddingContext((()=>this.parseStatement("for"))),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")}parseVar(t,e,s){const r=t.declarations=[],i=this.hasPlugin("typescript");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(c.eq)?t.init=e?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==s||this.match(c._in)||this.isContextual("of")?"Identifier"===t.id.type||e&&(this.match(c._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,g.DeclarationMissingInitializer,"Const declarations"),t.init=null),r.push(this.finishNode(t,"VariableDeclarator")),!this.eat(c.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?5:9,void 0,"variable declaration","var"!==e)}parseFunction(t,e=0,s=!1){const r=1&e,i=2&e,n=!(!r||4&e);this.initFunction(t,s),this.match(c.star)&&i&&this.raise(this.state.start,g.GeneratorInSingleStatementContext),t.generator=this.eat(c.star),r&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(ct(s,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withTopicForbiddingContext((()=>{this.parseFunctionBodyAndFinish(t,r?"FunctionDeclaration":"FunctionExpression")})),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,t}parseFunctionId(t){return t||this.match(c.name)?this.parseIdentifier():null}parseFunctionParams(t,e){this.expect(c.parenL),this.expressionScope.enter(new Nt(3)),t.params=this.parseBindingList(c.parenR,41,!1,e),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:9:17,t.id.start)}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,r),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(c.eq)||this.match(c.semi)||this.match(c.braceR)}isClassMethod(){return this.match(c.parenL)}isNonstaticConstructor(t){return!(t.computed||t.static||"constructor"!==t.key.name&&"constructor"!==t.key.value)}parseClassBody(t,e){this.classScope.enter();const s={constructorAllowsSuper:t,hadConstructor:!1,hadStaticBlock:!1};let r=[];const i=this.startNode();if(i.body=[],this.expect(c.braceL),this.withTopicForbiddingContext((()=>{for(;!this.match(c.braceR);){if(this.eat(c.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,g.DecoratorSemicolon);continue}if(this.match(c.at)){r.push(this.parseDecorator());continue}const t=this.startNode();r.length&&(t.decorators=r,this.resetStartLocationFromNode(t,r[0]),r=[]),this.parseClassMember(i,t,s),"constructor"===t.kind&&t.decorators&&t.decorators.length>0&&this.raise(t.start,g.DecoratorConstructor)}})),this.state.strict=e,this.next(),r.length)throw this.raise(this.state.start,g.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,e){const s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(t,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,t.body.push(this.parseClassProperty(r)),!0}return!1}parseClassMember(t,e,s){const r=this.isContextual("static");if(r){if(this.parseClassMemberFromModifier(t,e))return;if(this.eat(c.braceL))return void this.parseClassStaticBlock(t,e,s)}this.parseClassMemberWithIsStatic(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r){const i=e,n=e,a=e,o=e,u=i,h=i;if(e.static=r,this.eat(c.star))return u.kind="method",this.parseClassElementName(u),"PrivateName"===u.key.type?void this.pushClassPrivateMethod(t,n,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1));const p=this.state.containsEsc,l=this.parseClassElementName(e),d="PrivateName"===l.type,D="Identifier"===l.type,m=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(u.kind="method",d)return void this.pushClassPrivateMethod(t,n,!1,!1);const e=this.isNonstaticConstructor(i);let r=!1;e&&(i.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(l.start,g.DuplicateConstructor),s.hadConstructor=!0,r=s.constructorAllowsSuper),this.pushClassMethod(t,i,!1,!1,e,r)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a);else if(!D||"async"!==l.name||p||this.isLineTerminator())!D||"get"!==l.name&&"set"!==l.name||p||this.match(c.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a):this.unexpected():(u.kind=l.name,this.parseClassElementName(i),"PrivateName"===u.key.type?this.pushClassPrivateMethod(t,n,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(c.star);h.optional&&this.unexpected(m),u.kind="method",this.parseClassElementName(u),this.parsePostMemberNameModifiers(h),"PrivateName"===u.key.type?this.pushClassPrivateMethod(t,n,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,g.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassElementName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||"prototype"!==e.name&&"prototype"!==e.value||this.raise(e.start,g.StaticPrototype),"PrivateName"===e.type&&"constructor"===e.id.name&&this.raise(e.start,g.ConstructorClassPrivateField),e}parseClassStaticBlock(t,e,s){var r;this.expectPlugin("classStaticBlock",e.start),this.scope.enter(80),this.expressionScope.enter(kt());const i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const n=e.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,c.braceR),this.prodParam.exit(),this.expressionScope.exit(),this.scope.exit(),this.state.labels=i,t.body.push(this.finishNode(e,"StaticBlock")),s.hadStaticBlock&&this.raise(e.start,g.DuplicateStaticBlock),(null==(r=e.decorators)?void 0:r.length)&&this.raise(e.start,g.DecoratorStaticBlock),s.hadStaticBlock=!0}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,g.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin("classPrivateProperties",e.key.start);const s=this.parseClassPrivateProperty(e);t.body.push(s),this.classScope.declarePrivateName(s.key.id.name,0,s.key.start)}pushClassMethod(t,e,s,r,i,n){t.body.push(this.parseMethod(e,s,r,i,n,"ClassMethod",!0))}pushClassPrivateMethod(t,e,s,r){this.expectPlugin("classPrivateMethods",e.key.start);const i=this.parseMethod(e,s,r,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);const n="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.classScope.declarePrivateName(i.key.id.name,n,i.key.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return t.typeAnnotation&&!this.match(c.eq)||this.expectPlugin("classProperties"),this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseInitializer(t){this.scope.enter(80),this.expressionScope.enter(kt()),this.prodParam.enter(0),t.value=this.eat(c.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,e,s,r=139){this.match(c.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,r,void 0,"class name")):s||!e?t.id=null:this.unexpected(null,g.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(c._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(c.comma),r=s&&this.eatExportStar(t),i=r&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!i||this.eat(c.comma)),a=e||r;if(r&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||i&&n&&!o)throw this.unexpected(null,c.braceL);let u;if(a||o?(u=!1,this.parseExportFrom(t,a)):u=this.maybeParseExportDeclaration(t),a||o||u)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(c._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,c.braceL)}eatExportStar(t){return this.eat(c.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual("as")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(c.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){return!!this.shouldParseExportDeclaration()&&(t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const t=this.nextTokenStart();return!m.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(c._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,5,e);if(this.match(c._class))return this.parseClass(t,!0,!0);if(this.match(c.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,g.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(c._const)||this.match(c._var)||this.isLet())throw this.raise(this.state.start,g.UnsupportedDefaultExport);{const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(c.name)){const t=this.state.value;if("async"===t&&!this.state.containsEsc||"let"===t)return!1;if(("type"===t||"interface"===t)&&!this.state.containsEsc){const t=this.lookahead();if(t.type===c.name&&"from"!==t.value||t.type===c.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(c._default))return!1;const t=this.nextTokenStart(),e=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||this.match(c.name)&&e)return!0;if(this.match(c._default)&&e){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(t,e){if(this.eatContextual("from")){t.source=this.parseImportSource(),this.checkExport(t);const e=this.maybeParseImportAssertions();e&&(t.assertions=e)}else e?this.unexpected():t.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(c.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,g.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;const e=t.declaration;"Identifier"!==e.type||"from"!==e.name||e.end-e.start!=4||(null==(i=e.extra)?void 0:i.parenthesized)||this.raise(e.start,g.ExportDefaultFromAsIdentifier)}}else if(t.specifiers&&t.specifiers.length)for(let e=0,s=t.specifiers;e-1&&this.raise(t.start,"default"===e?g.DuplicateDefaultExport:g.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else if(this.expect(c.comma),this.eat(c.braceR))break;const s=this.startNode();s.local=this.parseModuleExportName(),s.exported=this.eatContextual("as")?this.parseModuleExportName():s.local.__clone(),t.push(this.finishNode(s,"ExportSpecifier"))}return t}parseModuleExportName(){if(this.match(c.string)){this.expectPlugin("moduleStringNames");const t=this.parseLiteral(this.state.value,"StringLiteral"),e=t.value.match(Mt);return e&&this.raise(t.start,g.ModuleExportNameHasLoneSurrogate,e[0].charCodeAt(0).toString(16)),t}return this.parseIdentifier(!0)}parseImport(t){if(t.specifiers=[],!this.match(c.string)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(c.comma),s=e&&this.maybeParseStarImportSpecifier(t);e&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual("from")}t.source=this.parseImportSource();const e=this.maybeParseImportAssertions();if(e)t.assertions=e;else{const e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(c.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(c.name)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,9,void 0,r),t.specifiers.push(this.finishNode(e,s))}parseAssertEntries(){const t=[],e=new Set;do{if(this.match(c.braceR))break;const s=this.startNode(),r=this.state.value;if(this.match(c.string)?s.key=this.parseLiteral(r,"StringLiteral"):s.key=this.parseIdentifier(!0),this.expect(c.colon),"type"!==r&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,r),e.has(r)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,r),e.add(r),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),t.push(s)}while(this.eat(c.comma));return t}maybeParseModuleAttributes(){if(!this.match(c._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const t=[],e=new Set;do{const s=this.startNode();if(s.key=this.parseIdentifier(!0),"type"!==s.key.name&&this.raise(s.key.start,g.ModuleAttributeDifferentFromType,s.key.name),e.has(s.key.name)&&this.raise(s.key.start,g.ModuleAttributesWithDuplicateKeys,s.key.name),e.add(s.key.name),this.expect(c.colon),!this.match(c.string))throw this.unexpected(this.state.start,g.ModuleAttributeInvalidValue);s.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(s,"ImportAttribute"),t.push(s)}while(this.eat(c.comma));return t}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(c.braceL);const t=this.parseAssertEntries();return this.eat(c.braceR),t}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(c.star)){const e=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(c.braceL);!this.eat(c.braceR);){if(e)e=!1;else{if(this.eat(c.colon))throw this.raise(this.state.start,g.DestructureNamedImport);if(this.expect(c.comma),this.eat(c.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();if(e.imported=this.parseModuleExportName(),this.eatContextual("as"))e.local=this.parseIdentifier();else{const{imported:t}=e;if("StringLiteral"===t.type)throw this.raise(e.start,g.ImportBindingIsString,t.value);this.checkReservedWord(t.name,e.start,!0,!0),e.local=t.__clone()}this.checkLVal(e.local,9,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}}{constructor(t,e){super(t=function(t){const e={};for(let s=0,r=Object.keys(Ct);s"'".concat(t,"'"))).join(", "));if(Dt(t,"moduleAttributes")){if(Dt(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if("may-2020"!==mt(t,"moduleAttributes","version"))throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Dt(t,"recordAndTuple")&&!yt.includes(mt(t,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+yt.map((t=>"'".concat(t,"'"))).join(", "))}(t.plugins),s=function(t){const e=At.filter((e=>Dt(t,e))),s=e.join("/");let r=qt[s];if(!r){r=jt;for(let t=0;t{if("babel"===n.parser&&function(t,e){if(e.filepath&&e.filepath.endsWith(".js.flow"))return!0;const s=_s(t);s&&(t=t.slice(s.length));const r=Rs(t,0);return!1!==r&&(t=t.slice(0,r)),Vs.test(t)}(r,n))return n.parser="babel-flow",Ws(r,i,n);const a=Ms,o="script"===n.__babelSourceType?"script":"module";let u;try{u=function(t,e){let s;for(let r=0;ra[e](r,t)),function(t,e,s){if(!t)return e;const r=[];for(const t of e)for(const e of s)r.push([...t,e]);return r}(r.includes("|>"),s,[["pipelineOperator",{proposal:"smart"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]]).map((t=>function({sourceType:t,extraPlugins:e=[]}){return{sourceType:t,allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","classProperties","exportDefaultFrom","functionBind","functionSent","classPrivateProperties","throwExpressions","classPrivateMethods","v8intrinsic","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"privateIn","importAssertions",["recordAndTuple",{syntaxType:"hash"}],"decimal","moduleStringNames","classStaticBlock",...e],tokens:!0,ranges:!0}}({sourceType:o,extraPlugins:t}))))}catch(e){const{message:s,loc:r}=e;throw t(s.replace(/ \(.*\)/,""),{start:{line:r?r.line:0,column:r?r.column+1:0}})}return Os(u,Object.assign({},n,{originalText:r}))}}const Hs=zs("parse",["jsx","flow"]),Ws=zs("parse",["jsx",["flow",{all:!0,enums:!0}]]),Gs=zs("parse",["jsx","typescript"],["typescript"]),Xs=zs("parseExpression",["jsx"]);const Ks=new Set(["Did not expect a type annotation here.","The only accepted module attribute is `type`","Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`"]);function Js(t){const e=t.errors.find((t=>function(t){const[,e]=t.message.match(/(.*?)\s*\(\d+:\d+\)/);return Ks.has(e)}(t)));if(e)throw e;return t}function $s(e,s){switch(e.type){case"ArrayExpression":return e.elements.forEach(r);case"ObjectExpression":return e.properties.forEach(r);case"ObjectProperty":if(e.computed)throw i("computed");if(e.shorthand)throw i("shorthand");return[e.key,e.value].forEach(r);case"UnaryExpression":switch(e.operator){case"+":case"-":return r(e.argument);default:throw i("operator")}case"Identifier":if(s&&"ObjectProperty"===s.type&&s.key===e)return;throw i();case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":return;default:throw i()}function r(t){return $s(t,e)}function i(s){const r=s?"".concat(e.type," with ").concat(s,"=").concat(JSON.stringify(e[s])):e.type;return t("".concat(r," is not allowed in JSON."),{start:{line:e.loc.start.line,column:e.loc.start.column+1}})}}const Ys={parse:Hs,astFormat:"estree",hasPragma:js,locStart:Us,locEnd:qs},Qs=Object.assign({},Ys,{parse:Ws}),Zs=Object.assign({},Ys,{parse:Gs}),tr=Object.assign({},Ys,{parse:Xs});var er={parsers:{babel:Ys,"babel-flow":Qs,"babel-ts":Zs,json:Object.assign({},tr,{hasPragma:()=>!0}),json5:tr,"json-stringify":{parse:function(t,e,s){const r=Xs(t,e,s);return r.comments.forEach($s),$s(r),r},astFormat:"estree-json",locStart:Us,locEnd:qs},__js_expression:tr,__vue_expression:tr,__vue_event_binding:Ys}};export default er; diff --git a/node_modules/prettier/esm/parser-espree.mjs b/node_modules/prettier/esm/parser-espree.mjs deleted file mode 100644 index be061eb1..00000000 --- a/node_modules/prettier/esm/parser-espree.mjs +++ /dev/null @@ -1 +0,0 @@ -var e=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const t=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var u=t,i=t;u.default=i;const n=t=>{if("string"!=typeof(t=t.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===t.length)return 0;t=e(t);let i=0;for(let e=0;e=127&&n<=159||(n>=768&&n<=879||(n>65535&&e++,i+=u(n)?2:1))}return i};var r=n,s=n;r.default=s;var a=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var c="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function p(){throw new Error("setTimeout has not been defined")}function D(){throw new Error("clearTimeout has not been defined")}var h=p,l=D;function d(e){if(h===setTimeout)return setTimeout(e,0);if((h===p||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}"function"==typeof c.setTimeout&&(h=setTimeout),"function"==typeof c.clearTimeout&&(l=clearTimeout);var E,f=[],C=!1,m=-1;function A(){C&&E&&(C=!1,E.length?f=E.concat(f):m=-1,f.length&&F())}function F(){if(!C){var e=d(A);C=!0;for(var t=f.length;t;){for(E=f,f=[];++m1)for(var u=1;uconsole.error("SEMVER",...e):()=>{};var P={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16};function O(e,t,u){return e(u={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&u.path)}},u.exports),u.exports}function R(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var M=O((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:u}=P,i=(t=e.exports={}).re=[],n=t.src=[],r=t.t={};let s=0;const a=(e,t,u)=>{const a=s++;L(a,t),r[e]=a,n[a]=t,i[a]=new RegExp(t,u?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(n[r.NUMERICIDENTIFIER],")\\.")+"(".concat(n[r.NUMERICIDENTIFIER],")\\.")+"(".concat(n[r.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(n[r.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(n[r.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(n[r.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(n[r.NUMERICIDENTIFIER],"|").concat(n[r.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(n[r.NUMERICIDENTIFIERLOOSE],"|").concat(n[r.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(n[r.PRERELEASEIDENTIFIER],"(?:\\.").concat(n[r.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(n[r.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(n[r.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(n[r.BUILDIDENTIFIER],"(?:\\.").concat(n[r.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(n[r.MAINVERSION]).concat(n[r.PRERELEASE],"?").concat(n[r.BUILD],"?")),a("FULL","^".concat(n[r.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(n[r.MAINVERSIONLOOSE]).concat(n[r.PRERELEASELOOSE],"?").concat(n[r.BUILD],"?")),a("LOOSE","^".concat(n[r.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(n[r.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(n[r.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(n[r.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(n[r.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(n[r.XRANGEIDENTIFIER],")")+"(?:".concat(n[r.PRERELEASE],")?").concat(n[r.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(n[r.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(n[r.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(n[r.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(n[r.PRERELEASELOOSE],")?").concat(n[r.BUILD],"?")+")?)?"),a("XRANGE","^".concat(n[r.GTLT],"\\s*").concat(n[r.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(n[r.GTLT],"\\s*").concat(n[r.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(u,"})")+"(?:\\.(\\d{1,".concat(u,"}))?")+"(?:\\.(\\d{1,".concat(u,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",n[r.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(n[r.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",a("TILDE","^".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(n[r.LONETILDE]).concat(n[r.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(n[r.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",a("CARET","^".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(n[r.LONECARET]).concat(n[r.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(n[r.GTLT],"\\s*(").concat(n[r.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(n[r.GTLT],"\\s*(").concat(n[r.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(n[r.GTLT],"\\s*(").concat(n[r.LOOSEPLAIN],"|").concat(n[r.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(n[r.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(n[r.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(n[r.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(n[r.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const V=/^[0-9]+$/,j=(e,t)=>{const u=V.test(e),i=V.test(t);return u&&i&&(e=+e,t=+t),e===t?0:u&&!i?-1:i&&!u?1:ej(t,e)};const{MAX_LENGTH:G,MAX_SAFE_INTEGER:X}=P,{re:q,t:W}=M,{compareIdentifiers:J}=U;class H{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof H){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>G)throw new TypeError("version is longer than ".concat(G," characters"));L("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const u=e.trim().match(t.loose?q[W.LOOSE]:q[W.FULL]);if(!u)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+u[1],this.minor=+u[2],this.patch=+u[3],this.major>X||this.major<0)throw new TypeError("Invalid major version");if(this.minor>X||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>X||this.patch<0)throw new TypeError("Invalid patch version");u[4]?this.prerelease=u[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var z=H;var $=(e,t,u)=>new z(e,u).compare(new z(t,u));var K=(e,t,u)=>$(e,t,u)<0;var Q=(e,t,u)=>$(e,t,u)>=0,Y="2.2.1",Z=O((function(e,t){function u(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:se(ie()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:se(ue()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:se(te()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:se(ee()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const oe={compare:$,lt:K,gte:Q},ce=Y,pe={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:ae}.options;var De={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:u=!1,showInternal:i=!1}={}){const n=ce.split("-",1)[0],r=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(c),s=(a=Object.assign({},...e.map((({options:e})=>e)),pe),o="name",Object.entries(a).map((([e,t])=>Object.assign({[o]:e},t)))).filter((e=>c(e)&&p(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(n[u]=e[u]);return n}(e,["cliName","cliCategory","cliDescription"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(c).sort(((e,t)=>oe.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>c(e)&&p(e))),"parser"===t.name&&function(e,t,u){const i=new Set(e.choices.map((e=>e.value)));for(const n of t)if(n.parsers)for(const t of n.parsers)if(!i.has(t)){i.add(t);const r=u.find((e=>e.parsers&&e.parsers[t]));let s=n.name;r&&r.name&&(s+=" (plugin: ".concat(r.name,")")),e.choices.push({value:t,description:s})}}(t,r,e));const u=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,u)=>(e[u.name]=u.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:u})}));var a,o;return{languages:r,options:s};function c(e){return t||!("since"in e)||e.since&&oe.gte(n,e.since)}function p(e){return u||!("deprecated"in e)||e.deprecated&&oe.lt(n,e.deprecated)}}};const{getSupportInfo:he}=De,le=/[^\x20-\x7F]/;function de(e){return(t,u,i)=>{const n=i&&i.backwards;if(!1===u)return!1;const{length:r}=t;let s=u;for(;s>=0&&s(u.match(s.regex)||[]).length?s.quote:r.quote}return a}function Te(e,t,u){const i='"'===t?"'":'"',n=e.replace(/\\([\S\s])|(["'])/g,((e,n,r)=>n===i?n:r===t?"\\"+r:r||(u&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(n)?n:"\\"+n)));return t+n+t}function _e(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}var we={inferParserByLanguage:function(e,t){const{languages:u}=he({plugins:t.plugins}),i=u.find((({name:t})=>t.toLowerCase()===e))||u.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||u.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return i&&i.parsers[0]},replaceEndOfLineWith:function(e,t){const u=[];for(const i of e.split("\n"))0!==u.length&&u.push(t),u.push(i);return u},getStringWidth:function(e){return e?le.test(e)?r(e):e.length:0},getMaxContinuousCount:function(e,t){const u=e.match(new RegExp("(".concat(a(t),")+"),"g"));return null===u?0:u.reduce(((e,u)=>Math.max(e,u.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const u=e.match(new RegExp("(".concat(a(t),")+"),"g"));if(null===u)return 0;const i=new Map;let n=0;for(const e of u){const u=e.length/t.length;i.set(u,!0),u>n&&(n=u)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Be,getNextNonSpaceNonCommentCharacterIndex:Se,getNextNonSpaceNonCommentCharacter:function(e,t,u){return e.charAt(Se(e,t,u))},skip:de,skipWhitespace:Ee,skipSpaces:fe,skipToLineEnd:Ce,skipEverythingButNewLine:me,skipInlineComment:Ae,skipTrailingComment:Fe,skipNewline:ge,isNextLineEmptyAfterIndex:xe,isNextLineEmpty:function(e,t,u){return xe(e,u(t))},isPreviousLineEmpty:function(e,t,u){let i=u(t)-1;return i=fe(e,i,{backwards:!0}),i=ge(e,i,{backwards:!0}),i=fe(e,i,{backwards:!0}),i!==ge(e,i,{backwards:!0})},hasNewline:ye,hasNewlineInRange:function(e,t,u){for(let i=t;i"browser",cpus:()=>[{model:"Prettier"}]}});const Ne=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const u=t.filter((e=>"\r\n"===e)).length;return u>t.length-u?"\r\n":"\n"};var Le=Ne;Le.graceful=e=>"string"==typeof e&&Ne(e)||"\n";var Pe=R(Ie),Oe=O((function(e,t){function u(){const e=Pe;return u=function(){return e},e}function i(){const e=(t=Le)&&t.__esModule?t:{default:t};var t;return i=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(s);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(s);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return l(e).pragmas},t.parseWithComments=l,t.print=function({comments:e="",pragmas:t={}}){const n=(0,i().default)(e)||u().EOL,r=" *",s=Object.keys(t),a=s.map((e=>d(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+n)).join("");if(!e){if(0===s.length)return"";if(1===s.length&&!Array.isArray(t[s[0]])){const e=t[s[0]];return"".concat("/**"," ").concat(d(s[0],e)[0]).concat(" */")}}const o=e.split(n).map((e=>"".concat(r," ").concat(e))).join(n)+n;return"/**"+n+(e?o:"")+(e&&s.length?r+n:"")+a+" */"};const n=/\*\/$/,r=/^\/\*\*/,s=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,o=/^(\r?\n)+/,c=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,p=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,D=/(\r?\n|^) *\* ?/g,h=[];function l(e){const t=(0,i().default)(e)||u().EOL;e=e.replace(r,"").replace(n,"").replace(D,"$1");let s="";for(;s!==e;)s=e,e=e.replace(c,"".concat(t,"$1 $2").concat(t));e=e.replace(o,"").trimRight();const l=Object.create(null),d=e.replace(p,"").replace(o,"").trimRight();let E;for(;E=p.exec(e);){const e=E[2].replace(a,"");"string"==typeof l[E[1]]||Array.isArray(l[E[1]])?l[E[1]]=h.concat(l[E[1]],e):l[E[1]]=e}return{comments:d,pragmas:l}}function d(e,t){return h.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}}));var Re={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let u;if("\n"===t)u=/\n/g;else if("\r"===t)u=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));u=/\r\n/g}const i=e.match(u);return i?i.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:Me,strip:Ve,extract:je,print:Ue}=Oe,{getShebang:Ge}=we,{normalizeEndOfLine:Xe}=Re;function qe(e){const t=Ge(e);t&&(e=e.slice(t.length+1));const u=je(e),{pragmas:i,comments:n}=Me(u);return{shebang:t,text:e,pragmas:i,comments:n}}var We={hasPragma:function(e){const t=Object.keys(qe(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:u,pragmas:i,comments:n}=qe(e),r=Ve(u),s=Ue({pragmas:Object.assign({format:""},i),comments:n.trimStart()});return(t?"".concat(t,"\n"):"")+Xe(s)+(r.startsWith("\n")?"\n":"\n\n")+r}};function Je(e,t){const{ignoreDecorators:u}=t||{};if(!u){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return Je(t[0])}return e.range?e.range[0]:e.start}function He(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,He(e.typeAnnotation)):t}function ze(e,t){return Je(e)===Je(t)}var $e={locStart:Je,locEnd:He,composeLoc:function(e,t=e){const u=Je(e);return[u,"number"==typeof t?u+t:He(t)]},hasSameLocStart:ze,hasSameLoc:function(e,t){return ze(e,t)&&function(e,t){return He(e)===He(t)}(e,t)}},Ke=O((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function u(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=u(t)}while(t);return!1},trailingStatement:u}}()})),Qe=O((function(e){!function(){var t,u,i,n,r,s;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},i=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],n=new Array(128),s=0;s<128;++s)n[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&i.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?n[e]:u.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?n[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()})),Ye=O((function(e){!function(){var t=Qe;function u(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function n(e,t){return"null"===e||"true"===e||"false"===e||u(e,t)}function r(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function s(e){var u,i,n;if(0===e.length)return!1;if(n=e.charCodeAt(0),!t.isIdentifierStartES5(n))return!1;for(u=1,i=e.length;u=i)return!1;if(!(56320<=(r=e.charCodeAt(u))&&r<=57343))return!1;n=1024*(n-55296)+(r-56320)+65536}if(!s(n))return!1;s=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:u,isKeywordES6:i,isReservedWordES5:n,isReservedWordES6:r,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:s,isIdentifierNameES6:a,isIdentifierES5:function(e,t){return s(e)&&!n(e,t)},isIdentifierES6:function(e,t){return a(e)&&!r(e,t)}}}()}));const Ze=O((function(e,t){t.ast=Ke,t.code=Qe,t.keyword=Ye})).keyword.isIdentifierNameES5,{getLast:et,hasNewline:tt,hasNewlineInRange:ut,skipWhitespace:it}=we,{locStart:nt,locEnd:rt,hasSameLocStart:st}=$e,at=new RegExp("^".concat("(?:(?=.)\\s)","*:")),ot=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function ct(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>ct(e,t)));const u=t(e);return"boolean"==typeof u?u:Object.keys(e).some((u=>ct(e[u],t)))}function pt(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||"CallExpression"===e.type||"OptionalCallExpression"===e.type||"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type}function Dt(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}const ht=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function lt(e){return e&&ht.has(e.type)}function dt(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type}function Et(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function ft(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function Ct(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function mt(e){return!("CallExpression"!==e.type&&"OptionalCallExpression"!==e.type||"Identifier"!==e.callee.type||"async"!==e.callee.name&&"inject"!==e.callee.name&&"fakeAsync"!==e.callee.name)}function At(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Ft(e){return"get"===e.kind||"set"===e.kind}function gt(e){return Ft(e)||st(e,e.value)}const yt=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const xt=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const Bt=/^(skip|[fx]?(it|describe|test))$/;function St(e){return"CallExpression"===e.type||"OptionalCallExpression"===e.type}const vt=new RegExp("([ \n\r\t]+)"),bt=new RegExp("[^ \n\r\t]");function Tt(e){return dt(e)&&(bt.test(It(e))||!/\n/.test(It(e)))}function _t(e,t){if(At(t))return Gt(t);return t.comments&&t.comments.some((t=>t.leading&&tt(e,rt(t))))}function wt(e){return/^(\d+|\d+\.\d+)$/.test(e)}function kt(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function It(e){return e.extra?e.extra.raw:e.raw}const Nt={"==":!0,"!=":!0,"===":!0,"!==":!0},Lt={"*":!0,"/":!0,"%":!0},Pt={">>":!0,">>>":!0,"<<":!0};const Ot={};function Rt(e){return Ot[e]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((e,t)=>{e.forEach((e=>{Ot[e]=t}))}));const Mt=new WeakMap;function Vt(e){if(Mt.has(e))return Mt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),Mt.set(e,t),t}const jt=new WeakMap;function Ut(e){return"prettier-ignore"===e.value.trim()}function Gt(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Ut(e)&&!e.unignore))||e.prettierIgnore)}function Xt(e){return Gt(e.getValue())}var qt={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if("in"===t||"instanceof"===t)return!0}switch(e.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const t=e.value?e.value.async:e.async,u=e.value?e.value.generator:e.generator;return!t&&"get"!==e.kind&&"set"!==e.kind&&!(!e.computed&&!u)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if("ClassProperty"!==t.type&&"FieldDefinition"!==t.type)return!1;const u=t.key&&t.key.name;return!("static"!==u&&"get"!==u&&"set"!==u||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Vt,iterateFunctionParametersPath:function(e,t){const u=e.getValue();let i=0;const n=e=>t(e,i++);u.this&&e.call(n,"this"),Array.isArray(u.parameters)?e.each(n,"parameters"):Array.isArray(u.params)&&e.each(n,"params"),u.rest&&e.call(n,"rest")},getCallArguments:function(e){if(jt.has(e))return jt.get(e);const t="ImportExpression"===e.type?[e.source]:e.arguments;return jt.set(e,t),t},iterateCallArgumentsPath:function(e,t){"ImportExpression"===e.getValue().type?e.call((e=>t(e,0)),"source"):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=Vt(e);return t.length>0&&"RestElement"===et(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&<(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&Dt(e[0])&&ot.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&Dt(e.trailingComments[0])&&at.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:_t,hasNakedLeftSide:pt,hasNewlineBetweenOrAfterDecorators:function(e,t){return ut(t.originalText,nt(e.decorators[0]),rt(et(e.decorators)))||tt(t.originalText,rt(et(e.decorators)))},hasNgSideEffect:function(e){return ct(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:ct,hasPrettierIgnore:function(e){return Xt(e)||function(e){const t=e.getValue(),u=e.getParentNode();if(!(u&&t&&At(t)&&At(u)))return!1;let i=null;for(let e=u.children.indexOf(t);e>0;e--){const t=u.children[e-1];if("JSXText"!==t.type||Tt(t)){i=t;break}}return i&&"JSXExpressionContainer"===i.type&&"JSXEmptyExpression"===i.expression.type&&i.expression.comments&&i.expression.comments.some((e=>Ut(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!Dt(e)))},hasIgnoreComment:Xt,hasNodeIgnoreComment:Gt,identity:function(e){return e},isBinaryish:function(e){return yt.has(e.type)},isBlockComment:Dt,isLineComment:function(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type},isPrettierIgnoreComment:Ut,isCallOrOptionalCallExpression:St,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return dt(t)&&!Tt(t)},isExportDeclaration:lt,isFlowAnnotationComment:function(e,t){const u=nt(t),i=it(e,rt(t));return!1!==i&&"/*"===e.slice(u,u+2)&&"*/"===e.slice(i,i+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const u of e)if(Ct(u)){if(t+=1,t>1)return!0}else if(St(u))for(const e of u.arguments)if(Ct(e))return!0;return!1},isFunctionNotation:gt,isFunctionOrArrowExpression:Ct,isGetterOrSetter:Ft,isJestEachTemplateLiteral:function(e,t){const u=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&u.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&u.test(t.tag.object.object.name))},isJSXNode:At,isJSXWhitespaceExpression:function(e){return"JSXExpressionContainer"===e.type&&dt(e.expression)&&" "===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const u=e.getValue(),i=(t.body||t.consequent).filter((e=>"EmptyStatement"!==e.type));return i[i.length-1]===u},isLiteral:dt,isLongCurriedCallExpression:function(e){const t=e.getValue(),u=e.getParentNode();return St(t)&&St(u)&&u.callee===t&&t.arguments.length>u.arguments.length&&u.arguments.length>0},isSimpleCallArgument:function e(t,u){if(u>=2)return!1;const i=t=>e(t,u+1),n="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(n&&n.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.expressions.every(i):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&i(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||i(e))):"ImportExpression"===t.type?i(t.source):"CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type?e(t.callee,u)&&t.arguments.every(i):"MemberExpression"===t.type||"OptionalMemberExpression"===t.type?e(t.object,u)&&e(t.property,u):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,u):e(t.argument,u)))},isMeaningfulJSXText:Tt,isMemberExpressionChain:function e(t){return("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&("Identifier"===t.object.type||e(t.object))},isMemberish:function(e){return"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"BindExpression"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,u){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===u.body[0].type&&null===u.body[0].value},isNumericLiteral:Et,isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||gt(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!xt.has(e.type))},isSimpleNumber:wt,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const u=e[t];return 0!==u.length&&u.every((e=>{if(e.comments)return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if("MemberExpression"===e.type||"OptionalMemberExpression"===e.type){let t=e;for(;"MemberExpression"===t.type||"OptionalMemberExpression"===t.type;){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:ft,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&ft(e.key)&&It(e.key).slice(1,-1)===e.key.value&&(Ze(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||wt(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&kt(e)||"TaggedTemplateExpression"===e.type&&kt(e.quasi))&&!tt(t,nt(e),{backwards:!0})},isTestCall:function e(t,u){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(mt(t)&&u&&e(u))return Ct(t.arguments[0]);if("Identifier"===(i=t).callee.type&&/^(before|after)(Each|All)$/.test(i.callee.name)&&1===i.arguments.length)return mt(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&Bt.test(t.callee.name)||function(e){return("MemberExpression"===e.callee.type||"OptionalMemberExpression"===e.callee.type)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&Bt.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||ft(t.arguments[0])))return!(t.arguments[2]&&!Et(t.arguments[2]))&&((2===t.arguments.length?Ct(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&Vt(t.arguments[1]).length<=1)||mt(t.arguments[1]));var i;return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const u=t.getNode();if(!u.expression||!At(u.expression))return!1;const i=t.getParentNode();return"Program"===i.type&&1===i.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||st(e,e.typeAnnotation))},matchJsxWhitespaceRegex:vt,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=et(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!Dt(t)},rawText:It,returnArgumentHasLeadingComment:function(e,t){if(_t(e.originalText,t))return!0;if(pt(t)){let i,n=t;for(;i=(u=n).expressions?u.expressions[0]:u.left||u.test||u.callee||u.object||u.tag||u.argument||u.expression;)if(n=i,_t(e.originalText,n))return!0}var u;return!1},shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return!!Pt[e]||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Rt(t)===Rt(e)&&("**"!==e&&((!Nt[e]||!Nt[t])&&(!("%"===t&&Lt[e]||"%"===e&&Lt[t])&&((t===e||!Lt[t]||!Lt[e])&&(!Pt[e]||!Pt[t])))))},startsWithNoLookaheadToken:function e(t,u){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return u;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,u);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,u);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,u);case"ConditionalExpression":return e(t.test,u);case"UpdateExpression":return!t.prefix&&e(t.argument,u);case"BindExpression":return t.object&&e(t.object,u);case"SequenceExpression":return e(t.expressions[0],u);case"TSAsExpression":return e(t.expression,u);default:return!1}},getPrecedence:Rt};const{getLast:Wt,hasNewline:Jt,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ht,getNextNonSpaceNonCommentCharacter:zt,hasNewlineInRange:$t,addLeadingComment:Kt,addTrailingComment:Qt,addDanglingComment:Yt,getNextNonSpaceNonCommentCharacterIndex:Zt}=we,{isBlockComment:eu,getFunctionParameters:tu,isPrettierIgnoreComment:uu,isJSXNode:iu,hasFlowShorthandAnnotationComment:nu,hasFlowAnnotationComment:ru,hasIgnoreComment:su}=qt,{locStart:au,locEnd:ou}=$e;function cu(e,t){const u=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));u?Kt(u,t):Yt(e,t)}function pu(e,t){"BlockStatement"===e.type?cu(e,t):Kt(e,t)}function Du(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||"IfStatement"!==i.type||!n)return!1;return")"===zt(t,e,ou)?(Qt(u,e),!0):u===i.consequent&&n===i.alternate?("BlockStatement"===u.type?Qt(u,e):Yt(i,e),!0):"BlockStatement"===n.type?(cu(n,e),!0):"IfStatement"===n.type?(pu(n.consequent,e),!0):i.consequent===n&&(Kt(n,e),!0)}function hu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(!i||"WhileStatement"!==i.type||!n)return!1;return")"===zt(t,e,ou)?(Qt(u,e),!0):"BlockStatement"===n.type?(cu(n,e),!0):i.body===n&&(Kt(n,e),!0)}function lu(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;return!(!u||"TryStatement"!==u.type&&"CatchClause"!==u.type||!i)&&("CatchClause"===u.type&&t?(Qt(t,e),!0):"BlockStatement"===i.type?(cu(i,e),!0):"TryStatement"===i.type?(pu(i.finalizer,e),!0):"CatchClause"===i.type&&(pu(i.body,e),!0))}function du(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&("ClassDeclaration"===u.type||"ClassExpression"===u.type||"DeclareClass"===u.type||"DeclareInterface"===u.type||"InterfaceDeclaration"===u.type||"TSInterfaceDeclaration"===u.type)){if(u.decorators&&u.decorators.length>0&&(!i||"Decorator"!==i.type))return Qt(u.decorators[u.decorators.length-1],e),!0;if(u.body&&i===u.body)return cu(u.body,e),!0;if(i)for(const n of["implements","extends","mixins"])if(u[n]&&i===u[n][0])return!t||t!==u.id&&t!==u.typeParameters&&t!==u.superClass?Yt(u,e,n):Qt(t,e),!0}return!1}function Eu(e,t){const{precedingNode:u,enclosingNode:i}=e;return(i&&u&&("Property"===i.type||"TSDeclareMethod"===i.type||"TSAbstractMethodDefinition"===i.type)&&"Identifier"===u.type&&i.key===u&&":"!==zt(t,u,ou)||!(!u||!i||"Decorator"!==u.type||"ClassMethod"!==i.type&&"ClassProperty"!==i.type&&"FieldDefinition"!==i.type&&"TSAbstractClassProperty"!==i.type&&"TSAbstractMethodDefinition"!==i.type&&"TSDeclareMethod"!==i.type&&"MethodDefinition"!==i.type))&&(Qt(u,e),!0)}function fu(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e;if(u&&"FunctionTypeParam"===u.type&&i&&"FunctionTypeAnnotation"===i.type&&n&&"FunctionTypeParam"!==n.type)return Qt(u,e),!0;if(u&&("Identifier"===u.type||"AssignmentPattern"===u.type)&&i&&gu(i)&&")"===zt(t,e,ou))return Qt(u,e),!0;if(i&&"FunctionDeclaration"===i.type&&n&&"BlockStatement"===n.type){const u=(()=>{const e=tu(i);if(0!==e.length)return Ht(t,ou(Wt(e)));const u=Ht(t,ou(i.id));return!1!==u&&Ht(t,u+1)})();if(au(e)>u)return cu(n,e),!0}return!1}function Cu(e){const{enclosingNode:t}=e;return!(!t||"ImportSpecifier"!==t.type)&&(Kt(t,e),!0)}function mu(e){const{enclosingNode:t}=e;return!(!t||"LabeledStatement"!==t.type)&&(Kt(t,e),!0)}function Au(e,t,u){const{enclosingNode:i}=e;return t&&t.body&&0===t.body.length?(u?Yt(t,e):Kt(t,e),!0):!(!i||"Program"!==i.type||0!==i.body.length||!i.directives||0!==i.directives.length)&&(u?Yt(i,e):Kt(i,e),!0)}function Fu(e){const{enclosingNode:t,followingNode:u}=e;if(uu(e)&&t&&"TSMappedType"===t.type&&u&&"TSTypeParameter"===u.type&&u.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function gu(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function yu(e){return eu(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var xu={handleOwnLineComment:function(e,t,u,i,n){return Fu(e)||fu(e,t)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&u&&"Identifier"===u.type)return Kt(t,e),!0;return!1}(e)||Du(e,t)||hu(e,t)||lu(e)||du(e)||Cu(e)||function(e){const{enclosingNode:t}=e;if(t&&("ForInStatement"===t.type||"ForOfStatement"===t.type))return Kt(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(u&&("UnionTypeAnnotation"===u.type||"TSUnionType"===u.type))return uu(e)&&(i.prettierIgnore=!0,e.unignore=!0),!!t&&(Qt(t,e),!0);i&&("UnionTypeAnnotation"===i.type||"TSUnionType"===i.type)&&uu(e)&&(i.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Au(e,i,n)||function(e,t){const{precedingNode:u,enclosingNode:i}=e;if(u&&"ImportSpecifier"===u.type&&i&&"ImportDeclaration"===i.type&&Jt(t,ou(e)))return Qt(u,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&"AssignmentPattern"===t.type)return Kt(t,e),!0;return!1}(e)||Eu(e,t)||mu(e)},handleEndOfLineComment:function(e,t,u,i,n){return function(e){const{followingNode:t}=e;if(t&&yu(e))return Kt(t,e),!0;return!1}(e)||fu(e,t)||function(e,t){const{precedingNode:u,enclosingNode:i,followingNode:n}=e,r=u&&!$t(t,ou(u),au(e));if((!u||!r)&&i&&("ConditionalExpression"===i.type||"TSConditionalType"===i.type)&&n)return Kt(n,e),!0;return!1}(e,t)||Cu(e)||Du(e,t)||hu(e,t)||lu(e)||du(e)||mu(e)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&("CallExpression"===u.type||"OptionalCallExpression"===u.type)&&t&&u.callee===t&&u.arguments.length>0)return Kt(u.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("Property"===t.type||"ObjectProperty"===t.type))return Kt(t,e),!0;return!1}(e)||Au(e,i,n)||function(e){const{enclosingNode:t}=e;if(t&&"TypeAlias"===t.type)return Kt(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:u}=e;if(t&&("VariableDeclarator"===t.type||"AssignmentExpression"===t.type)&&u&&("ObjectExpression"===u.type||"ArrayExpression"===u.type||"TemplateLiteral"===u.type||"TaggedTemplateExpression"===u.type||eu(e)))return Kt(u,e),!0;return!1}(e)},handleRemainingComment:function(e,t,u,i,n){return!!(Fu(e)||Du(e,t)||hu(e,t)||function(e){const{precedingNode:t,enclosingNode:u}=e;if(u&&("ObjectProperty"===u.type||"Property"===u.type)&&u.shorthand&&u.key===t&&"AssignmentPattern"===u.value.type)return Qt(u.value.left,e),!0;return!1}(e)||function(e,t){if(")"!==zt(t,e,ou))return!1;const{enclosingNode:u}=e;if(u&&(gu(u)&&0===tu(u).length||("CallExpression"===u.type||"OptionalCallExpression"===u.type||"NewExpression"===u.type)&&0===u.arguments.length))return Yt(u,e),!0;if(u&&"MethodDefinition"===u.type&&0===tu(u.value).length)return Yt(u.value,e),!0;return!1}(e,t)||Eu(e,t)||Au(e,i,n)||function(e,t){const{enclosingNode:u}=e;if(!u||"ArrowFunctionExpression"!==u.type)return!1;const i=Zt(t,e,ou);if(!1!==i&&"=>"===t.slice(i,i+2))return Yt(u,e),!0;return!1}(e,t)||function(e,t){if("("!==zt(t,e,ou))return!1;const{precedingNode:u,enclosingNode:i}=e;if(u&&i&&("FunctionDeclaration"===i.type||"FunctionExpression"===i.type||"ClassMethod"===i.type||"MethodDefinition"===i.type||"ObjectMethod"===i.type))return Qt(u,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:u,followingNode:i}=e;if(!u||"TSMappedType"!==u.type)return!1;if(i&&"TSTypeParameter"===i.type&&i.name)return Kt(i.name,e),!0;if(t&&"TSTypeParameter"===t.type&&t.constraint)return Qt(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("ContinueStatement"===t.type||"BreakStatement"===t.type)&&!t.label)return Qt(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:u,followingNode:i}=e;if(!i&&u&&("TSMethodSignature"===u.type||"TSDeclareFunction"===u.type||"TSAbstractMethodDefinition"===u.type)&&";"===zt(t,e,ou))return Qt(u,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:yu,getGapRegex:function(e){if(e&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type)return/^[\s&(|]*$/},getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===tu(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),u=e.getParentNode();return(t&&(iu(t)||nu(t)||u&&("CallExpression"===u.type||"OptionalCallExpression"===u.type)&&(ru(t.leadingComments)||ru(t.trailingComments)))||u&&("JSXSpreadAttribute"===u.type||"JSXSpreadChild"===u.type||"UnionTypeAnnotation"===u.type||"TSUnionType"===u.type||("ClassDeclaration"===u.type||"ClassExpression"===u.type)&&u.superClass===t))&&(!su(e)||"UnionTypeAnnotation"===u.type||"TSUnionType"===u.type)}};const{getLast:Bu,getNextNonSpaceNonCommentCharacter:Su,getShebang:vu}=we,{composeLoc:bu,locStart:Tu,locEnd:_u}=$e,{isTypeCastComment:wu}=xu;function ku(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=ku(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=ku(e.object)):"TSNonNullExpression"===e.type&&(e.expression=ku(e.expression)),e}function Iu(e,t){let u;if(Array.isArray(e))u=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;u=Object.entries(e)}for(const[i,n]of u)e[i]=Iu(n,t);return Array.isArray(e)?e:t(e)||e}function Nu(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Lu(e){return Nu(e)?Lu({type:"LogicalExpression",operator:e.operator,left:Lu({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:bu(e.left,e.right.left)}),right:e.right.right,range:bu(e)}):e}var Pu=function(e,t){if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser||function(e,t){const u=vu(t.originalText);u&&e.comments.unshift({type:"Line",value:u.slice(2),range:[0,u.length]})}(e,t),"typescript"===t.parser&&t.originalText.includes("@")){const{esTreeNodeToTSNodeMap:u,tsNodeToESTreeNodeMap:i}=t.tsParseResult;e=Iu(e,(e=>{const t=u.get(e);if(!t)return;const n=t.decorators;if(!Array.isArray(n))return;const r=i.get(t);if(r!==e)return;const s=r.decorators;if(!Array.isArray(s)||s.length!==n.length||n.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:e,end:t}=r.loc;throw ke("Leading decorators must be attached to a class declaration",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const t=new Set;e=Iu(e,(e=>{e.leadingComments&&e.leadingComments.some(wu)&&t.add(Tu(e))})),e=Iu(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:u}=e;if("TypeCastExpression"===u.type)return u.range=e.range,u;const i=Tu(e);if(!t.has(i))return u.extra=Object.assign({},u.extra,{parenthesized:!0}),u}}))}return e=Iu(e,(e=>{switch(e.type){case"ChainExpression":return ku(e.expression);case"LogicalExpression":if(Nu(e))return Lu(e);break;case"VariableDeclaration":{const u=Bu(e.declarations);u&&u.init&&function(e,u){if(";"===t.originalText[_u(u)])return;e.range=bu(e,u)}(e,u);break}case"TSParenthesizedType":return e.typeAnnotation.range=bu(e),e.typeAnnotation;case"TSUnionType":case"TSIntersectionType":if(1===e.types.length){const[t]=e.types;return t.range=bu(e),t}break;case"TSTypeParameter":"string"==typeof e.name&&(e.name={type:"Identifier",name:e.name,range:bu(e,e.name.length)});break;case"SequenceExpression":{const t=Bu(e.expressions);_u(e)>_u(t)&&(e.range=bu(e,t));break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===Su(t.originalText,e.key,_u)&&(e.optional=!0)}}))},Ou={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Ru="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Mu={5:Ru,"5module":Ru+" export import",6:Ru+" const class extends export import super"},Vu=/^in(stanceof)?$/,ju="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",Uu="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",Gu=new RegExp("["+ju+"]"),Xu=new RegExp("["+ju+Uu+"]");ju=Uu=null;var qu=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Wu=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Ju(e,t){for(var u=65536,i=0;ie)return!1;if((u+=t[i+1])>=e)return!0}}function Hu(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&Gu.test(String.fromCharCode(e)):!1!==t&&Ju(e,qu)))}function zu(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&Xu.test(String.fromCharCode(e)):!1!==t&&(Ju(e,qu)||Ju(e,Wu)))))}var $u=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function Ku(e,t){return new $u(e,{beforeExpr:!0,binop:t})}var Qu={beforeExpr:!0},Yu={startsExpr:!0},Zu={};function ei(e,t){return void 0===t&&(t={}),t.keyword=e,Zu[e]=new $u(e,t)}var ti={num:new $u("num",Yu),regexp:new $u("regexp",Yu),string:new $u("string",Yu),name:new $u("name",Yu),eof:new $u("eof"),bracketL:new $u("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new $u("]"),braceL:new $u("{",{beforeExpr:!0,startsExpr:!0}),braceR:new $u("}"),parenL:new $u("(",{beforeExpr:!0,startsExpr:!0}),parenR:new $u(")"),comma:new $u(",",Qu),semi:new $u(";",Qu),colon:new $u(":",Qu),dot:new $u("."),question:new $u("?",Qu),questionDot:new $u("?."),arrow:new $u("=>",Qu),template:new $u("template"),invalidTemplate:new $u("invalidTemplate"),ellipsis:new $u("...",Qu),backQuote:new $u("`",Yu),dollarBraceL:new $u("${",{beforeExpr:!0,startsExpr:!0}),eq:new $u("=",{beforeExpr:!0,isAssign:!0}),assign:new $u("_=",{beforeExpr:!0,isAssign:!0}),incDec:new $u("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new $u("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ku("||",1),logicalAND:Ku("&&",2),bitwiseOR:Ku("|",3),bitwiseXOR:Ku("^",4),bitwiseAND:Ku("&",5),equality:Ku("==/!=/===/!==",6),relational:Ku("/<=/>=",7),bitShift:Ku("<>/>>>",8),plusMin:new $u("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ku("%",10),star:Ku("*",10),slash:Ku("/",10),starstar:new $u("**",{beforeExpr:!0}),coalesce:Ku("??",1),_break:ei("break"),_case:ei("case",Qu),_catch:ei("catch"),_continue:ei("continue"),_debugger:ei("debugger"),_default:ei("default",Qu),_do:ei("do",{isLoop:!0,beforeExpr:!0}),_else:ei("else",Qu),_finally:ei("finally"),_for:ei("for",{isLoop:!0}),_function:ei("function",Yu),_if:ei("if"),_return:ei("return",Qu),_switch:ei("switch"),_throw:ei("throw",Qu),_try:ei("try"),_var:ei("var"),_const:ei("const"),_while:ei("while",{isLoop:!0}),_with:ei("with"),_new:ei("new",{beforeExpr:!0,startsExpr:!0}),_this:ei("this",Yu),_super:ei("super",Yu),_class:ei("class",Yu),_extends:ei("extends",Qu),_export:ei("export"),_import:ei("import",Yu),_null:ei("null",Yu),_true:ei("true",Yu),_false:ei("false",Yu),_in:ei("in",{beforeExpr:!0,binop:7}),_instanceof:ei("instanceof",{beforeExpr:!0,binop:7}),_typeof:ei("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:ei("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:ei("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},ui=/\r\n?|\n|\u2028|\u2029/,ii=new RegExp(ui.source,"g");function ni(e,t){return 10===e||13===e||!t&&(8232===e||8233===e)}var ri=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,si=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,ai=Object.prototype,oi=ai.hasOwnProperty,ci=ai.toString;function pi(e,t){return oi.call(e,t)}var Di=Array.isArray||function(e){return"[object Array]"===ci.call(e)};function hi(e){return new RegExp("^(?:"+e.replace(/ /g,"|")+")$")}var li=function(e,t){this.line=e,this.column=t};li.prototype.offset=function(e){return new li(this.line,this.column+e)};var di=function(e,t,u){this.start=t,this.end=u,null!==e.sourceFile&&(this.source=e.sourceFile)};function Ei(e,t){for(var u=1,i=0;;){ii.lastIndex=i;var n=ii.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),Di(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return Di(t.onComment)&&(t.onComment=function(e,t){return function(u,i,n,r,s,a){var o={type:u?"Block":"Line",value:i,start:n,end:r};e.locations&&(o.loc=new di(this,s,a)),e.ranges&&(o.range=[n,r]),t.push(o)}}(t,t.onComment)),t}function mi(e,t){return 2|(e?4:0)|(t?8:0)}var Ai=function(e,t,u){this.options=e=Ci(e),this.sourceFile=e.sourceFile,this.keywords=hi(Mu[e.ecmaVersion>=6?6:"module"===e.sourceType?"5module":5]);var i="";if(!0!==e.allowReserved){for(var n=e.ecmaVersion;!(i=Ou[n]);n--);"module"===e.sourceType&&(i+=" await")}this.reservedWords=hi(i);var r=(i?i+" ":"")+Ou.strict;this.reservedWordsStrict=hi(r),this.reservedWordsStrictBind=hi(r+" "+Ou.strictBind),this.input=String(t),this.containsEsc=!1,u?(this.pos=u,this.lineStart=this.input.lastIndexOf("\n",u-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(ui).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ti.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},Fi={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};Ai.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)},Fi.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},Fi.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},Fi.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},Fi.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},Fi.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},Fi.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Ai.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},Ai.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var u=this,i=0;i=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}e+=t[0].length,si.lastIndex=e,e+=si.exec(this.input)[0].length,";"===this.input[e]&&e++}},gi.eat=function(e){return this.type===e&&(this.next(),!0)},gi.isContextual=function(e){return this.type===ti.name&&this.value===e&&!this.containsEsc},gi.eatContextual=function(e){return!!this.isContextual(e)&&(this.next(),!0)},gi.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},gi.canInsertSemicolon=function(){return this.type===ti.eof||this.type===ti.braceR||ui.test(this.input.slice(this.lastTokEnd,this.start))},gi.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},gi.semicolon=function(){this.eat(ti.semi)||this.insertSemicolon()||this.unexpected()},gi.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},gi.expect=function(e){this.eat(e)||this.unexpected()},gi.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")},gi.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var u=t?e.parenthesizedAssign:e.parenthesizedBind;u>-1&&this.raiseRecoverable(u,"Parenthesized pattern")}},gi.checkExpressionErrors=function(e,t){if(!e)return!1;var u=e.shorthandAssign,i=e.doubleProto;if(!t)return u>=0||i>=0;u>=0&&this.raise(u,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},gi.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos=6&&this.unexpected(),this.parseFunctionStatement(r,!1,!e);case ti._class:return e&&this.unexpected(),this.parseClass(r,!0);case ti._if:return this.parseIfStatement(r);case ti._return:return this.parseReturnStatement(r);case ti._switch:return this.parseSwitchStatement(r);case ti._throw:return this.parseThrowStatement(r);case ti._try:return this.parseTryStatement(r);case ti._const:case ti._var:return i=i||this.value,e&&"var"!==i&&this.unexpected(),this.parseVarStatement(r,i);case ti._while:return this.parseWhileStatement(r);case ti._with:return this.parseWithStatement(r);case ti.braceL:return this.parseBlock(!0,r);case ti.semi:return this.parseEmptyStatement(r);case ti._export:case ti._import:if(this.options.ecmaVersion>10&&n===ti._import){si.lastIndex=this.pos;var s=si.exec(this.input),a=this.pos+s[0].length,o=this.input.charCodeAt(a);if(40===o||46===o)return this.parseExpressionStatement(r,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===ti._import?this.parseImport(r):this.parseExport(r,u);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(r,!0,!e);var c=this.value,p=this.parseExpression();return n===ti.name&&"Identifier"===p.type&&this.eat(ti.colon)?this.parseLabeledStatement(r,c,p,e):this.parseExpressionStatement(r,p)}},Bi.parseBreakContinueStatement=function(e,t){var u="break"===t;this.next(),this.eat(ti.semi)||this.insertSemicolon()?e.label=null:this.type!==ti.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var i=0;i=6?this.eat(ti.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},Bi.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Si),this.enterScope(0),this.expect(ti.parenL),this.type===ti.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var u=this.isLet();if(this.type===ti._var||this.type===ti._const||u){var i=this.startNode(),n=u?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),(this.type===ti._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ti._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,i)):(t>-1&&this.unexpected(t),this.parseFor(e,i))}var r=new xi,s=this.parseExpression(!0,r);return this.type===ti._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===ti._in?t>-1&&this.unexpected(t):e.await=t>-1),this.toAssignable(s,!1,r),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(r,!0),t>-1&&this.unexpected(t),this.parseFor(e,s))},Bi.parseFunctionStatement=function(e,t,u){return this.next(),this.parseFunction(e,Ti|(u?0:_i),!1,t)},Bi.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(ti._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},Bi.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(ti.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},Bi.parseSwitchStatement=function(e){var t;this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(ti.braceL),this.labels.push(vi),this.enterScope(0);for(var u=!1;this.type!==ti.braceR;)if(this.type===ti._case||this.type===ti._default){var i=this.type===ti._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),i?t.test=this.parseExpression():(u&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),u=!0,t.test=null),this.expect(ti.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},Bi.parseThrowStatement=function(e){return this.next(),ui.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var bi=[];Bi.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===ti._catch){var t=this.startNode();if(this.next(),this.eat(ti.parenL)){t.param=this.parseBindingAtom();var u="Identifier"===t.param.type;this.enterScope(u?32:0),this.checkLVal(t.param,u?4:2),this.expect(ti.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(ti._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},Bi.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},Bi.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(Si),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},Bi.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},Bi.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},Bi.parseLabeledStatement=function(e,t,u,i){for(var n=0,r=this.labels;n=0;a--){var o=this.labels[a];if(o.statementStart!==e.start)break;o.statementStart=this.start,o.kind=s}return this.labels.push({name:t,kind:s,statementStart:this.start}),e.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),e.label=u,this.finishNode(e,"LabeledStatement")},Bi.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},Bi.parseBlock=function(e,t,u){for(void 0===e&&(e=!0),void 0===t&&(t=this.startNode()),t.body=[],this.expect(ti.braceL),e&&this.enterScope(0);this.type!==ti.braceR;){var i=this.parseStatement(null);t.body.push(i)}return u&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},Bi.parseFor=function(e,t){return e.init=t,this.expect(ti.semi),e.test=this.type===ti.semi?null:this.parseExpression(),this.expect(ti.semi),e.update=this.type===ti.parenR?null:this.parseExpression(),this.expect(ti.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},Bi.parseForIn=function(e,t){var u=this.type===ti._in;return this.next(),"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!u||this.options.ecmaVersion<8||this.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)?this.raise(t.start,(u?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===t.type&&this.raise(t.start,"Invalid left-hand side in for-loop"),e.left=t,e.right=u?this.parseExpression():this.parseMaybeAssign(),this.expect(ti.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,u?"ForInStatement":"ForOfStatement")},Bi.parseVar=function(e,t,u){for(e.declarations=[],e.kind=u;;){var i=this.startNode();if(this.parseVarId(i,u),this.eat(ti.eq)?i.init=this.parseMaybeAssign(t):"const"!==u||this.type===ti._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===i.id.type||t&&(this.type===ti._in||this.isContextual("of"))?i.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(ti.comma))break}return e},Bi.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?1:2,!1)};var Ti=1,_i=2;Bi.parseFunction=function(e,t,u,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ti.star&&t&_i&&this.unexpected(),e.generator=this.eat(ti.star)),this.options.ecmaVersion>=8&&(e.async=!!i),t&Ti&&(e.id=4&t&&this.type!==ti.name?null:this.parseIdent(),!e.id||t&_i||this.checkLVal(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?1:2:3));var n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(mi(e.async,e.generator)),t&Ti||(e.id=this.type===ti.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,u,!1),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(e,t&Ti?"FunctionDeclaration":"FunctionExpression")},Bi.parseFunctionParams=function(e){this.expect(ti.parenL),e.params=this.parseBindingList(ti.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Bi.parseClass=function(e,t){this.next();var u=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var i=this.startNode(),n=!1;for(i.body=[],this.expect(ti.braceL);this.type!==ti.braceR;){var r=this.parseClassElement(null!==e.superClass);r&&(i.body.push(r),"MethodDefinition"===r.type&&"constructor"===r.kind&&(n&&this.raise(r.start,"Duplicate constructor in the same class"),n=!0))}return this.strict=u,this.next(),e.body=this.finishNode(i,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},Bi.parseClassElement=function(e){var t=this;if(this.eat(ti.semi))return null;var u=this.startNode(),i=function(e,i){void 0===i&&(i=!1);var n=t.start,r=t.startLoc;return!!t.eatContextual(e)&&(!(t.type===ti.parenL||i&&t.canInsertSemicolon())||(u.key&&t.unexpected(),u.computed=!1,u.key=t.startNodeAt(n,r),u.key.name=e,t.finishNode(u.key,"Identifier"),!1))};u.kind="method",u.static=i("static");var n=this.eat(ti.star),r=!1;n||(this.options.ecmaVersion>=8&&i("async",!0)?(r=!0,n=this.options.ecmaVersion>=9&&this.eat(ti.star)):i("get")?u.kind="get":i("set")&&(u.kind="set")),u.key||this.parsePropertyName(u);var s=u.key,a=!1;return u.computed||u.static||!("Identifier"===s.type&&"constructor"===s.name||"Literal"===s.type&&"constructor"===s.value)?u.static&&"Identifier"===s.type&&"prototype"===s.name&&this.raise(s.start,"Classes may not have a static property named prototype"):("method"!==u.kind&&this.raise(s.start,"Constructor can't have get/set modifier"),n&&this.raise(s.start,"Constructor can't be a generator"),r&&this.raise(s.start,"Constructor can't be an async method"),u.kind="constructor",a=e),this.parseClassMethod(u,n,r,a),"get"===u.kind&&0!==u.value.params.length&&this.raiseRecoverable(u.value.start,"getter should have no params"),"set"===u.kind&&1!==u.value.params.length&&this.raiseRecoverable(u.value.start,"setter should have exactly one param"),"set"===u.kind&&"RestElement"===u.value.params[0].type&&this.raiseRecoverable(u.value.params[0].start,"Setter cannot use rest params"),u},Bi.parseClassMethod=function(e,t,u,i){return e.value=this.parseMethod(t,u,i),this.finishNode(e,"MethodDefinition")},Bi.parseClassId=function(e,t){this.type===ti.name?(e.id=this.parseIdent(),t&&this.checkLVal(e.id,2,!1)):(!0===t&&this.unexpected(),e.id=null)},Bi.parseClassSuper=function(e){e.superClass=this.eat(ti._extends)?this.parseExprSubscripts():null},Bi.parseExport=function(e,t){if(this.next(),this.eat(ti.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(e.exported=this.parseIdent(!0),this.checkExport(t,e.exported.name,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==ti.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(ti._default)){var u;if(this.checkExport(t,"default",this.lastTokStart),this.type===ti._function||(u=this.isAsyncFunction())){var i=this.startNode();this.next(),u&&this.next(),e.declaration=this.parseFunction(i,4|Ti,!1,u)}else if(this.type===ti._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),"VariableDeclaration"===e.declaration.type?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id.name,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==ti.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var r=0,s=e.specifiers;r=6&&e)switch(e.type){case"Identifier":this.inAsync&&"await"===e.name&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",u&&this.checkPatternErrors(u,!0);for(var i=0,n=e.properties;i=8&&!r&&"async"===s.name&&!this.canInsertSemicolon()&&this.eat(ti._function))return this.parseFunction(this.startNodeAt(i,n),0,!1,!0);if(u&&!this.canInsertSemicolon()){if(this.eat(ti.arrow))return this.parseArrowExpression(this.startNodeAt(i,n),[s],!1);if(this.options.ecmaVersion>=8&&"async"===s.name&&this.type===ti.name&&!r)return s=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ti.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,n),[s],!0)}return s;case ti.regexp:var a=this.value;return(t=this.parseLiteral(a.value)).regex={pattern:a.pattern,flags:a.flags},t;case ti.num:case ti.string:return this.parseLiteral(this.value);case ti._null:case ti._true:case ti._false:return(t=this.startNode()).value=this.type===ti._null?null:this.type===ti._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case ti.parenL:var o=this.start,c=this.parseParenAndDistinguishExpression(u);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(c)&&(e.parenthesizedAssign=o),e.parenthesizedBind<0&&(e.parenthesizedBind=o)),c;case ti.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(ti.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case ti.braceL:return this.parseObj(!1,e);case ti._function:return t=this.startNode(),this.next(),this.parseFunction(t,0);case ti._class:return this.parseClass(this.startNode(),!1);case ti._new:return this.parseNew();case ti.backQuote:return this.parseTemplate();case ti._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},ki.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case ti.parenL:return this.parseDynamicImport(e);case ti.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},ki.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(ti.parenR)){var t=this.start;this.eat(ti.comma)&&this.eat(ti.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},ki.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),"meta"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},ki.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},ki.parseParenExpression=function(){this.expect(ti.parenL);var e=this.parseExpression();return this.expect(ti.parenR),e},ki.parseParenAndDistinguishExpression=function(e){var t,u=this.start,i=this.startLoc,n=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var r,s=this.start,a=this.startLoc,o=[],c=!0,p=!1,D=new xi,h=this.yieldPos,l=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ti.parenR;){if(c?c=!1:this.expect(ti.comma),n&&this.afterTrailingComma(ti.parenR,!0)){p=!0;break}if(this.type===ti.ellipsis){r=this.start,o.push(this.parseParenItem(this.parseRestBinding())),this.type===ti.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}o.push(this.parseMaybeAssign(!1,D,this.parseParenItem))}var d=this.start,E=this.startLoc;if(this.expect(ti.parenR),e&&!this.canInsertSemicolon()&&this.eat(ti.arrow))return this.checkPatternErrors(D,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=h,this.awaitPos=l,this.parseParenArrowList(u,i,o);o.length&&!p||this.unexpected(this.lastTokStart),r&&this.unexpected(r),this.checkExpressionErrors(D,!0),this.yieldPos=h||this.yieldPos,this.awaitPos=l||this.awaitPos,o.length>1?((t=this.startNodeAt(s,a)).expressions=o,this.finishNodeAt(t,"SequenceExpression",d,E)):t=o[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var f=this.startNodeAt(u,i);return f.expression=t,this.finishNode(f,"ParenthesizedExpression")}return t},ki.parseParenItem=function(e){return e},ki.parseParenArrowList=function(e,t,u){return this.parseArrowExpression(this.startNodeAt(e,t),u)};var Ii=[];ki.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(ti.dot)){e.meta=t;var u=this.containsEsc;return e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),u&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(e.start,"'new.target' can only be used in functions"),this.finishNode(e,"MetaProperty")}var i=this.start,n=this.startLoc,r=this.type===ti._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),i,n,!0),r&&"ImportExpression"===e.callee.type&&this.raise(i,"Cannot use new with import()"),this.eat(ti.parenL)?e.arguments=this.parseExprList(ti.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ii,this.finishNode(e,"NewExpression")},ki.parseTemplateElement=function(e){var t=e.isTagged,u=this.startNode();return this.type===ti.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),u.value={raw:this.value,cooked:null}):u.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),u.tail=this.type===ti.backQuote,this.finishNode(u,"TemplateElement")},ki.parseTemplate=function(e){void 0===e&&(e={});var t=e.isTagged;void 0===t&&(t=!1);var u=this.startNode();this.next(),u.expressions=[];var i=this.parseTemplateElement({isTagged:t});for(u.quasis=[i];!i.tail;)this.type===ti.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(ti.dollarBraceL),u.expressions.push(this.parseExpression()),this.expect(ti.braceR),u.quasis.push(i=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(u,"TemplateLiteral")},ki.isAsyncProp=function(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.type===ti.name||this.type===ti.num||this.type===ti.string||this.type===ti.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ti.star)&&!ui.test(this.input.slice(this.lastTokEnd,this.start))},ki.parseObj=function(e,t){var u=this.startNode(),i=!0,n={};for(u.properties=[],this.next();!this.eat(ti.braceR);){if(i)i=!1;else if(this.expect(ti.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ti.braceR))break;var r=this.parseProperty(e,t);e||this.checkPropClash(r,n,t),u.properties.push(r)}return this.finishNode(u,e?"ObjectPattern":"ObjectExpression")},ki.parseProperty=function(e,t){var u,i,n,r,s=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ti.ellipsis))return e?(s.argument=this.parseIdent(!1),this.type===ti.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(s,"RestElement")):(this.type===ti.parenL&&t&&(t.parenthesizedAssign<0&&(t.parenthesizedAssign=this.start),t.parenthesizedBind<0&&(t.parenthesizedBind=this.start)),s.argument=this.parseMaybeAssign(!1,t),this.type===ti.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(s,"SpreadElement"));this.options.ecmaVersion>=6&&(s.method=!1,s.shorthand=!1,(e||t)&&(n=this.start,r=this.startLoc),e||(u=this.eat(ti.star)));var a=this.containsEsc;return this.parsePropertyName(s),!e&&!a&&this.options.ecmaVersion>=8&&!u&&this.isAsyncProp(s)?(i=!0,u=this.options.ecmaVersion>=9&&this.eat(ti.star),this.parsePropertyName(s,t)):i=!1,this.parsePropertyValue(s,e,u,i,n,r,t,a),this.finishNode(s,"Property")},ki.parsePropertyValue=function(e,t,u,i,n,r,s,a){if((u||i)&&this.type===ti.colon&&this.unexpected(),this.eat(ti.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===ti.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(u,i);else if(t||a||!(this.options.ecmaVersion>=5)||e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||this.type===ti.comma||this.type===ti.braceR||this.type===ti.eq)this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((u||i)&&this.unexpected(),this.checkUnreserved(e.key),"await"!==e.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,r,e.key):this.type===ti.eq&&s?(s.shorthandAssign<0&&(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,r,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected();else{(u||i)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var o="get"===e.kind?0:1;if(e.value.params.length!==o){var c=e.value.start;"get"===e.kind?this.raiseRecoverable(c,"getter should have no params"):this.raiseRecoverable(c,"setter should have exactly one param")}else"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}},ki.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(ti.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(ti.bracketR),e.key;e.computed=!1}return e.key=this.type===ti.num||this.type===ti.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},ki.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},ki.parseMethod=function(e,t,u){var i=this.startNode(),n=this.yieldPos,r=this.awaitPos,s=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=e),this.options.ecmaVersion>=8&&(i.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|mi(t,i.generator)|(u?128:0)),this.expect(ti.parenL),i.params=this.parseBindingList(ti.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=n,this.awaitPos=r,this.awaitIdentPos=s,this.finishNode(i,"FunctionExpression")},ki.parseArrowExpression=function(e,t,u){var i=this.yieldPos,n=this.awaitPos,r=this.awaitIdentPos;return this.enterScope(16|mi(u,!1)),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!u),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1),this.yieldPos=i,this.awaitPos=n,this.awaitIdentPos=r,this.finishNode(e,"ArrowFunctionExpression")},ki.parseFunctionBody=function(e,t,u){var i=t&&this.type!==ti.braceL,n=this.strict,r=!1;if(i)e.body=this.parseMaybeAssign(),e.expression=!0,this.checkParams(e,!1);else{var s=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);n&&!s||(r=this.strictDirective(this.end))&&s&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list");var a=this.labels;this.labels=[],r&&(this.strict=!0),this.checkParams(e,!n&&!r&&!t&&!u&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLVal(e.id,5),e.body=this.parseBlock(!1,void 0,r&&!n),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=a}this.exitScope()},ki.isSimpleParamList=function(e){for(var t=0,u=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&1&n.flags&&delete this.undefinedExports[e]}else if(4===t){this.currentScope().lexical.push(e)}else if(3===t){var r=this.currentScope();i=this.treatFunctionsAsVar?r.lexical.indexOf(e)>-1:r.lexical.indexOf(e)>-1||r.var.indexOf(e)>-1,r.functions.push(e)}else for(var s=this.scopeStack.length-1;s>=0;--s){var a=this.scopeStack[s];if(a.lexical.indexOf(e)>-1&&!(32&a.flags&&a.lexical[0]===e)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(e)>-1){i=!0;break}if(a.var.push(e),this.inModule&&1&a.flags&&delete this.undefinedExports[e],3&a.flags)break}i&&this.raiseRecoverable(u,"Identifier '"+e+"' has already been declared")},Li.checkLocalExport=function(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&(this.undefinedExports[e.name]=e)},Li.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Li.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags)return t}},Li.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(3&t.flags&&!(16&t.flags))return t}};var Oi=function(e,t,u){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new di(e,u)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},Ri=Ai.prototype;function Mi(e,t,u,i){return e.type=t,e.end=u,this.options.locations&&(e.loc.end=i),this.options.ranges&&(e.range[1]=u),e}Ri.startNode=function(){return new Oi(this,this.start,this.startLoc)},Ri.startNodeAt=function(e,t){return new Oi(this,e,t)},Ri.finishNode=function(e,t){return Mi.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},Ri.finishNodeAt=function(e,t,u,i){return Mi.call(this,e,t,u,i)};var Vi=function(e,t,u,i,n){this.token=e,this.isExpr=!!t,this.preserveSpace=!!u,this.override=i,this.generator=!!n},ji={b_stat:new Vi("{",!1),b_expr:new Vi("{",!0),b_tmpl:new Vi("${",!1),p_stat:new Vi("(",!1),p_expr:new Vi("(",!0),q_tmpl:new Vi("`",!0,!0,(function(e){return e.tryReadTemplateToken()})),f_stat:new Vi("function",!1),f_expr:new Vi("function",!0),f_expr_gen:new Vi("function",!0,!1,null,!0),f_gen:new Vi("function",!1,!1,null,!0)},Ui=Ai.prototype;Ui.initialContext=function(){return[ji.b_stat]},Ui.braceIsBlock=function(e){var t=this.curContext();return t===ji.f_expr||t===ji.f_stat||(e!==ti.colon||t!==ji.b_stat&&t!==ji.b_expr?e===ti._return||e===ti.name&&this.exprAllowed?ui.test(this.input.slice(this.lastTokEnd,this.start)):e===ti._else||e===ti.semi||e===ti.eof||e===ti.parenR||e===ti.arrow||(e===ti.braceL?t===ji.b_stat:e!==ti._var&&e!==ti._const&&e!==ti.name&&!this.exprAllowed):!t.isExpr)},Ui.inGeneratorContext=function(){for(var e=this.context.length-1;e>=1;e--){var t=this.context[e];if("function"===t.token)return t.generator}return!1},Ui.updateContext=function(e){var t,u=this.type;u.keyword&&e===ti.dot?this.exprAllowed=!1:(t=u.updateContext)?t.call(this,e):this.exprAllowed=u.beforeExpr},ti.parenR.updateContext=ti.braceR.updateContext=function(){if(1!==this.context.length){var e=this.context.pop();e===ji.b_stat&&"function"===this.curContext().token&&(e=this.context.pop()),this.exprAllowed=!e.isExpr}else this.exprAllowed=!0},ti.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?ji.b_stat:ji.b_expr),this.exprAllowed=!0},ti.dollarBraceL.updateContext=function(){this.context.push(ji.b_tmpl),this.exprAllowed=!0},ti.parenL.updateContext=function(e){var t=e===ti._if||e===ti._for||e===ti._with||e===ti._while;this.context.push(t?ji.p_stat:ji.p_expr),this.exprAllowed=!0},ti.incDec.updateContext=function(){},ti._function.updateContext=ti._class.updateContext=function(e){!e.beforeExpr||e===ti.semi||e===ti._else||e===ti._return&&ui.test(this.input.slice(this.lastTokEnd,this.start))||(e===ti.colon||e===ti.braceL)&&this.curContext()===ji.b_stat?this.context.push(ji.f_stat):this.context.push(ji.f_expr),this.exprAllowed=!1},ti.backQuote.updateContext=function(){this.curContext()===ji.q_tmpl?this.context.pop():this.context.push(ji.q_tmpl),this.exprAllowed=!1},ti.star.updateContext=function(e){if(e===ti._function){var t=this.context.length-1;this.context[t]===ji.f_expr?this.context[t]=ji.f_expr_gen:this.context[t]=ji.f_gen}this.exprAllowed=!0},ti.name.updateContext=function(e){var t=!1;this.options.ecmaVersion>=6&&e!==ti.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(t=!0),this.exprAllowed=t};var Gi="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Xi=Gi+" Extended_Pictographic",qi={9:Gi,10:Xi,11:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic"},Wi="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Ji="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Hi=Ji+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",zi={9:Ji,10:Hi,11:"Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},$i={};function Ki(e){var t=$i[e]={binary:hi(qi[e]+" "+Wi),nonBinary:{General_Category:hi(Wi),Script:hi(zi[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}Ki(9),Ki(10),Ki(11);var Qi=Ai.prototype,Yi=function(e){this.parser=e,this.validFlags="gim"+(e.options.ecmaVersion>=6?"uy":"")+(e.options.ecmaVersion>=9?"s":""),this.unicodeProperties=$i[e.options.ecmaVersion>=11?11:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Zi(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function en(e){return 36===e||e>=40&&e<=43||46===e||63===e||e>=91&&e<=94||e>=123&&e<=125}function tn(e){return e>=65&&e<=90||e>=97&&e<=122}function un(e){return tn(e)||95===e}function nn(e){return un(e)||rn(e)}function rn(e){return e>=48&&e<=57}function sn(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function an(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e-48}function on(e){return e>=48&&e<=55}Yi.prototype.reset=function(e,t,u){var i=-1!==u.indexOf("u");this.start=0|e,this.source=t+"",this.flags=u,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},Yi.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)},Yi.prototype.at=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return-1;var n=u.charCodeAt(e);if(!t&&!this.switchU||n<=55295||n>=57344||e+1>=i)return n;var r=u.charCodeAt(e+1);return r>=56320&&r<=57343?(n<<10)+r-56613888:n},Yi.prototype.nextIndex=function(e,t){void 0===t&&(t=!1);var u=this.source,i=u.length;if(e>=i)return i;var n,r=u.charCodeAt(e);return!t&&!this.switchU||r<=55295||r>=57344||e+1>=i||(n=u.charCodeAt(e+1))<56320||n>57343?e+1:e+2},Yi.prototype.current=function(e){return void 0===e&&(e=!1),this.at(this.pos,e)},Yi.prototype.lookahead=function(e){return void 0===e&&(e=!1),this.at(this.nextIndex(this.pos,e),e)},Yi.prototype.advance=function(e){void 0===e&&(e=!1),this.pos=this.nextIndex(this.pos,e)},Yi.prototype.eat=function(e,t){return void 0===t&&(t=!1),this.current(t)===e&&(this.advance(t),!0)},Qi.validateRegExpFlags=function(e){for(var t=e.validFlags,u=e.flags,i=0;i-1&&this.raise(e.start,"Duplicate regular expression flag")}},Qi.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},Qi.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,u=e.backReferenceNames;t=9&&(u=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!u,!0}return e.pos=t,!1},Qi.regexp_eatQuantifier=function(e,t){return void 0===t&&(t=!1),!!this.regexp_eatQuantifierPrefix(e,t)&&(e.eat(63),!0)},Qi.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},Qi.regexp_eatBracedQuantifier=function(e,t){var u=e.pos;if(e.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return-1!==n&&n=9?this.regexp_groupSpecifier(e):63===e.current()&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},Qi.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},Qi.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},Qi.regexp_eatSyntaxCharacter=function(e){var t=e.current();return!!en(t)&&(e.lastIntValue=t,e.advance(),!0)},Qi.regexp_eatPatternCharacters=function(e){for(var t=e.pos,u=0;-1!==(u=e.current())&&!en(u);)e.advance();return e.pos!==t},Qi.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return!(-1===t||36===t||t>=40&&t<=43||46===t||63===t||91===t||94===t||124===t)&&(e.advance(),!0)},Qi.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e))return-1!==e.groupNames.indexOf(e.lastStringValue)&&e.raise("Duplicate capture group name"),void e.groupNames.push(e.lastStringValue);e.raise("Invalid group")}},Qi.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},Qi.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=Zi(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=Zi(e.lastIntValue);return!0}return!1},Qi.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return Hu(e,!0)||36===e||95===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Qi.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,u=this.options.ecmaVersion>=11,i=e.current(u);return e.advance(u),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(e,u)&&(i=e.lastIntValue),function(e){return zu(e,!0)||36===e||95===e||8204===e||8205===e}(i)?(e.lastIntValue=i,!0):(e.pos=t,!1)},Qi.regexp_eatAtomEscape=function(e){return!!(this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e))||(e.switchU&&(99===e.current()&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},Qi.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var u=e.lastIntValue;if(e.switchU)return u>e.maxBackReference&&(e.maxBackReference=u),!0;if(u<=e.numCapturingParens)return!0;e.pos=t}return!1},Qi.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},Qi.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},Qi.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},Qi.regexp_eatZero=function(e){return 48===e.current()&&!rn(e.lookahead())&&(e.lastIntValue=0,e.advance(),!0)},Qi.regexp_eatControlEscape=function(e){var t=e.current();return 116===t?(e.lastIntValue=9,e.advance(),!0):110===t?(e.lastIntValue=10,e.advance(),!0):118===t?(e.lastIntValue=11,e.advance(),!0):102===t?(e.lastIntValue=12,e.advance(),!0):114===t&&(e.lastIntValue=13,e.advance(),!0)},Qi.regexp_eatControlLetter=function(e){var t=e.current();return!!tn(t)&&(e.lastIntValue=t%32,e.advance(),!0)},Qi.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){void 0===t&&(t=!1);var u,i=e.pos,n=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var r=e.lastIntValue;if(n&&r>=55296&&r<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var a=e.lastIntValue;if(a>=56320&&a<=57343)return e.lastIntValue=1024*(r-55296)+(a-56320)+65536,!0}e.pos=s,e.lastIntValue=r}return!0}if(n&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&((u=e.lastIntValue)>=0&&u<=1114111))return!0;n&&e.raise("Invalid unicode escape"),e.pos=i}return!1},Qi.regexp_eatIdentityEscape=function(e){if(e.switchU)return!!this.regexp_eatSyntaxCharacter(e)||!!e.eat(47)&&(e.lastIntValue=47,!0);var t=e.current();return!(99===t||e.switchN&&107===t)&&(e.lastIntValue=t,e.advance(),!0)},Qi.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do{e.lastIntValue=10*e.lastIntValue+(t-48),e.advance()}while((t=e.current())>=48&&t<=57);return!0}return!1},Qi.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(function(e){return 100===e||68===e||115===e||83===e||119===e||87===e}(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(80===t||112===t)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1},Qi.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var u=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,u,i),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},Qi.regexp_validateUnicodePropertyNameAndValue=function(e,t,u){pi(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(u)||e.raise("Invalid property value")},Qi.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},Qi.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";un(t=e.current());)e.lastStringValue+=Zi(t),e.advance();return""!==e.lastStringValue},Qi.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";nn(t=e.current());)e.lastStringValue+=Zi(t),e.advance();return""!==e.lastStringValue},Qi.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},Qi.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},Qi.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var u=e.lastIntValue;!e.switchU||-1!==t&&-1!==u||e.raise("Invalid character class"),-1!==t&&-1!==u&&t>u&&e.raise("Range out of order in character class")}}},Qi.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var u=e.current();(99===u||on(u))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var i=e.current();return 93!==i&&(e.lastIntValue=i,e.advance(),!0)},Qi.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},Qi.regexp_eatClassControlLetter=function(e){var t=e.current();return!(!rn(t)&&95!==t)&&(e.lastIntValue=t%32,e.advance(),!0)},Qi.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},Qi.regexp_eatDecimalDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;rn(u=e.current());)e.lastIntValue=10*e.lastIntValue+(u-48),e.advance();return e.pos!==t},Qi.regexp_eatHexDigits=function(e){var t=e.pos,u=0;for(e.lastIntValue=0;sn(u=e.current());)e.lastIntValue=16*e.lastIntValue+an(u),e.advance();return e.pos!==t},Qi.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var u=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=64*t+8*u+e.lastIntValue:e.lastIntValue=8*t+u}else e.lastIntValue=t;return!0}return!1},Qi.regexp_eatOctalDigit=function(e){var t=e.current();return on(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)},Qi.regexp_eatFixedHexDigits=function(e,t){var u=e.pos;e.lastIntValue=0;for(var i=0;i>10),56320+(1023&e)))}pn.next=function(e){!e&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new cn(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},pn.getToken=function(){return this.next(),new cn(this)},"undefined"!=typeof Symbol&&(pn[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===ti.eof,value:t}}}}),pn.curContext=function(){return this.context[this.context.length-1]},pn.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(ti.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},pn.readToken=function(e){return Hu(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},pn.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},pn.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),u=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(-1===i&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(ii.lastIndex=u;(e=ii.exec(this.input))&&e.index8&&e<14||e>=5760&&ri.test(String.fromCharCode(e))))break e;++this.pos}}},pn.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var u=this.type;this.type=e,this.value=t,this.updateContext(u)},pn.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(ti.ellipsis)):(++this.pos,this.finishToken(ti.dot))},pn.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(ti.assign,2):this.finishOp(ti.slash,1)},pn.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),u=1,i=42===e?ti.star:ti.modulo;return this.options.ecmaVersion>=7&&42===e&&42===t&&(++u,i=ti.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(ti.assign,u+1):this.finishOp(i,u)},pn.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ti.assign,3);return this.finishOp(124===e?ti.logicalOR:ti.logicalAND,2)}return 61===t?this.finishOp(ti.assign,2):this.finishOp(124===e?ti.bitwiseOR:ti.bitwiseAND,1)},pn.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ti.assign,2):this.finishOp(ti.bitwiseXOR,1)},pn.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45!==t||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!ui.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ti.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===t?this.finishOp(ti.assign,2):this.finishOp(ti.plusMin,1)},pn.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),u=1;return t===e?(u=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+u)?this.finishOp(ti.assign,u+1):this.finishOp(ti.bitShift,u)):33!==t||60!==e||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===t&&(u=2),this.finishOp(ti.relational,u)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},pn.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(ti.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ti.arrow)):this.finishOp(61===e?ti.eq:ti.prefix,1)},pn.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(46===t){var u=this.input.charCodeAt(this.pos+2);if(u<48||u>57)return this.finishOp(ti.questionDot,2)}if(63===t){if(e>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(ti.assign,3);return this.finishOp(ti.coalesce,2)}}return this.finishOp(ti.question,1)},pn.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ti.parenL);case 41:return++this.pos,this.finishToken(ti.parenR);case 59:return++this.pos,this.finishToken(ti.semi);case 44:return++this.pos,this.finishToken(ti.comma);case 91:return++this.pos,this.finishToken(ti.bracketL);case 93:return++this.pos,this.finishToken(ti.bracketR);case 123:return++this.pos,this.finishToken(ti.braceL);case 125:return++this.pos,this.finishToken(ti.braceR);case 58:return++this.pos,this.finishToken(ti.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ti.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(ti.prefix,1)}this.raise(this.pos,"Unexpected character '"+hn(e)+"'")},pn.finishOp=function(e,t){var u=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,u)},pn.readRegexp=function(){for(var e,t,u=this.pos;;){this.pos>=this.input.length&&this.raise(u,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(ui.test(i)&&this.raise(u,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++this.pos}var n=this.input.slice(u,this.pos);++this.pos;var r=this.pos,s=this.readWord1();this.containsEsc&&this.unexpected(r);var a=this.regexpState||(this.regexpState=new Yi(this));a.reset(u,n,s),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var o=null;try{o=new RegExp(n,s)}catch(e){}return this.finishToken(ti.regexp,{pattern:n,flags:s,value:o})},pn.readInt=function(e,t,u){for(var i=this.options.ecmaVersion>=12&&void 0===t,n=u&&48===this.input.charCodeAt(this.pos),r=this.pos,s=0,a=0,o=0,c=null==t?1/0:t;o=97?p-97+10:p>=65?p-65+10:p>=48&&p<=57?p-48:1/0)>=e)break;a=p,s=s*e+D}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===r||null!=t&&this.pos-r!==t?null:s},pn.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var u=this.readInt(e);return null==u&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(u=Dn(this.input.slice(t,this.pos)),++this.pos):Hu(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ti.num,u)},pn.readNumber=function(e){var t=this.pos;e||null!==this.readInt(10,void 0,!0)||this.raise(t,"Invalid number");var u=this.pos-t>=2&&48===this.input.charCodeAt(t);u&&this.strict&&this.raise(t,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!u&&!e&&this.options.ecmaVersion>=11&&110===i){var n=Dn(this.input.slice(t,this.pos));return++this.pos,Hu(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ti.num,n)}u&&/[89]/.test(this.input.slice(t,this.pos))&&(u=!1),46!==i||u||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||u||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number")),Hu(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var r,s=(r=this.input.slice(t,this.pos),u?parseInt(r,8):parseFloat(r.replace(/_/g,"")));return this.finishToken(ti.num,s)},pn.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.invalidStringToken(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},pn.readString=function(e){for(var t="",u=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===e)break;92===i?(t+=this.input.slice(u,this.pos),t+=this.readEscapedChar(!1),u=this.pos):(ni(i,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(u,this.pos++),this.finishToken(ti.string,t)};var ln={};pn.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e!==ln)throw e;this.readInvalidTemplateToken()}this.inTemplateElement=!1},pn.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ln;this.raise(e,t)},pn.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var u=this.input.charCodeAt(this.pos);if(96===u||36===u&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==ti.template&&this.type!==ti.invalidTemplate?(e+=this.input.slice(t,this.pos),this.finishToken(ti.template,e)):36===u?(this.pos+=2,this.finishToken(ti.dollarBraceL)):(++this.pos,this.finishToken(ti.backQuote));if(92===u)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(ni(u)){switch(e+=this.input.slice(t,this.pos),++this.pos,u){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(u)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},pn.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,t=this.input.charCodeAt(this.pos),"0"===i&&56!==t&&57!==t||!this.strict&&!e||this.invalidStringToken(this.pos-1-i.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return ni(t)?"":String.fromCharCode(t)}},pn.readHexChar=function(e){var t=this.pos,u=this.readInt(16,e);return null===u&&this.invalidStringToken(t,"Bad character escape sequence"),u},pn.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,u=this.pos,i=this.options.ecmaVersion>=6;this.pos",nbsp:"\xa0",iexcl:"\xa1",cent:"\xa2",pound:"\xa3",curren:"\xa4",yen:"\xa5",brvbar:"\xa6",sect:"\xa7",uml:"\xa8",copy:"\xa9",ordf:"\xaa",laquo:"\xab",not:"\xac",shy:"\xad",reg:"\xae",macr:"\xaf",deg:"\xb0",plusmn:"\xb1",sup2:"\xb2",sup3:"\xb3",acute:"\xb4",micro:"\xb5",para:"\xb6",middot:"\xb7",cedil:"\xb8",sup1:"\xb9",ordm:"\xba",raquo:"\xbb",frac14:"\xbc",frac12:"\xbd",frac34:"\xbe",iquest:"\xbf",Agrave:"\xc0",Aacute:"\xc1",Acirc:"\xc2",Atilde:"\xc3",Auml:"\xc4",Aring:"\xc5",AElig:"\xc6",Ccedil:"\xc7",Egrave:"\xc8",Eacute:"\xc9",Ecirc:"\xca",Euml:"\xcb",Igrave:"\xcc",Iacute:"\xcd",Icirc:"\xce",Iuml:"\xcf",ETH:"\xd0",Ntilde:"\xd1",Ograve:"\xd2",Oacute:"\xd3",Ocirc:"\xd4",Otilde:"\xd5",Ouml:"\xd6",times:"\xd7",Oslash:"\xd8",Ugrave:"\xd9",Uacute:"\xda",Ucirc:"\xdb",Uuml:"\xdc",Yacute:"\xdd",THORN:"\xde",szlig:"\xdf",agrave:"\xe0",aacute:"\xe1",acirc:"\xe2",atilde:"\xe3",auml:"\xe4",aring:"\xe5",aelig:"\xe6",ccedil:"\xe7",egrave:"\xe8",eacute:"\xe9",ecirc:"\xea",euml:"\xeb",igrave:"\xec",iacute:"\xed",icirc:"\xee",iuml:"\xef",eth:"\xf0",ntilde:"\xf1",ograve:"\xf2",oacute:"\xf3",ocirc:"\xf4",otilde:"\xf5",ouml:"\xf6",divide:"\xf7",oslash:"\xf8",ugrave:"\xf9",uacute:"\xfa",ucirc:"\xfb",uuml:"\xfc",yacute:"\xfd",thorn:"\xfe",yuml:"\xff",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02c6",tilde:"\u02dc",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039a",Lambda:"\u039b",Mu:"\u039c",Nu:"\u039d",Xi:"\u039e",Omicron:"\u039f",Pi:"\u03a0",Rho:"\u03a1",Sigma:"\u03a3",Tau:"\u03a4",Upsilon:"\u03a5",Phi:"\u03a6",Chi:"\u03a7",Psi:"\u03a8",Omega:"\u03a9",alpha:"\u03b1",beta:"\u03b2",gamma:"\u03b3",delta:"\u03b4",epsilon:"\u03b5",zeta:"\u03b6",eta:"\u03b7",theta:"\u03b8",iota:"\u03b9",kappa:"\u03ba",lambda:"\u03bb",mu:"\u03bc",nu:"\u03bd",xi:"\u03be",omicron:"\u03bf",pi:"\u03c0",rho:"\u03c1",sigmaf:"\u03c2",sigma:"\u03c3",tau:"\u03c4",upsilon:"\u03c5",phi:"\u03c6",chi:"\u03c7",psi:"\u03c8",omega:"\u03c9",thetasym:"\u03d1",upsih:"\u03d2",piv:"\u03d6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200c",zwj:"\u200d",lrm:"\u200e",rlm:"\u200f",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201a",ldquo:"\u201c",rdquo:"\u201d",bdquo:"\u201e",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203a",oline:"\u203e",frasl:"\u2044",euro:"\u20ac",image:"\u2111",weierp:"\u2118",real:"\u211c",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21b5",lArr:"\u21d0",uArr:"\u21d1",rArr:"\u21d2",dArr:"\u21d3",hArr:"\u21d4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220b",prod:"\u220f",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221a",prop:"\u221d",infin:"\u221e",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222a",int:"\u222b",there4:"\u2234",sim:"\u223c",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22a5",sdot:"\u22c5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230a",rfloor:"\u230b",lang:"\u2329",rang:"\u232a",loz:"\u25ca",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},En=R(Object.freeze({__proto__:null,Node:Oi,Parser:Ai,Position:li,SourceLocation:di,TokContext:Vi,Token:cn,TokenType:$u,defaultOptions:fi,getLineInfo:Ei,isIdentifierChar:zu,isIdentifierStart:Hu,isNewLine:ni,keywordTypes:Zu,lineBreak:ui,lineBreakG:ii,nonASCIIwhitespace:ri,parse:function(e,t){return Ai.parse(e,t)},parseExpressionAt:function(e,t,u){return Ai.parseExpressionAt(e,t,u)},tokContexts:ji,tokTypes:ti,tokenizer:function(e,t){return Ai.tokenizer(e,t)},version:"7.4.0"})),fn=O((function(e){const t=/^[\da-fA-F]+$/,u=/^\d+$/,i=new WeakMap;function n(e){e=e.Parser.acorn||e;let t=i.get(e);if(!t){const u=e.tokTypes,n=e.TokContext,r=e.TokenType,s=new n("...",!0,!0),c={tc_oTag:s,tc_cTag:a,tc_expr:o},p={jsxName:new r("jsxName"),jsxText:new r("jsxText",{beforeExpr:!0}),jsxTagStart:new r("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new r("jsxTagEnd")};p.jsxTagStart.updateContext=function(){this.context.push(o),this.context.push(s),this.exprAllowed=!1},p.jsxTagEnd.updateContext=function(e){let t=this.context.pop();t===s&&e===u.slash||t===a?(this.context.pop(),this.exprAllowed=this.curContext()===o):this.exprAllowed=!0},t={tokContexts:c,tokTypes:p},i.set(e,t)}return t}function r(e){return e?"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?r(e.object)+"."+r(e.property):void 0:e}e.exports=function(e){return e=e||{},function(i){return function(e,i){const s=i.acorn||En,a=n(s),o=s.tokTypes,c=a.tokTypes,p=s.tokContexts,D=a.tokContexts.tc_oTag,h=a.tokContexts.tc_cTag,l=a.tokContexts.tc_expr,d=s.isNewLine,E=s.isIdentifierStart,f=s.isIdentifierChar;return class extends i{static get acornJsx(){return a}jsx_readToken(){let e="",t=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let u=this.input.charCodeAt(this.pos);switch(u){case 60:case 123:return this.pos===this.start?60===u&&this.exprAllowed?(++this.pos,this.finishToken(c.jsxTagStart)):this.getTokenFromCode(u):(e+=this.input.slice(t,this.pos),this.finishToken(c.jsxText,e));case 38:e+=this.input.slice(t,this.pos),e+=this.jsx_readEntity(),t=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(62===u?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:d(u)?(e+=this.input.slice(t,this.pos),e+=this.jsx_readNewLine(!0),t=this.pos):++this.pos}}}jsx_readNewLine(e){let t,u=this.input.charCodeAt(this.pos);return++this.pos,13===u&&10===this.input.charCodeAt(this.pos)?(++this.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(u),this.options.locations&&(++this.curLine,this.lineStart=this.pos),t}jsx_readString(e){let t="",u=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let i=this.input.charCodeAt(this.pos);if(i===e)break;38===i?(t+=this.input.slice(u,this.pos),t+=this.jsx_readEntity(),u=this.pos):d(i)?(t+=this.input.slice(u,this.pos),t+=this.jsx_readNewLine(!1),u=this.pos):++this.pos}return t+=this.input.slice(u,this.pos++),this.finishToken(o.string,t)}jsx_readEntity(){let e,i="",n=0,r=this.input[this.pos];"&"!==r&&this.raise(this.pos,"Entity must start with an ampersand");let s=++this.pos;for(;this.pos")}let a=n.name?"Element":"Fragment";return u["opening"+a]=n,u["closing"+a]=s,u.children=i,this.type===o.relational&&"<"===this.value&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(u,"JSX"+a)}jsx_parseText(){let e=this.parseLiteral(this.value);return e.type="JSXText",e}jsx_parseElement(){let e=this.start,t=this.startLoc;return this.next(),this.jsx_parseElementAt(e,t)}parseExprAtom(e){return this.type===c.jsxText?this.jsx_parseText():this.type===c.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(e)}readToken(e){let t=this.curContext();if(t===l)return this.jsx_readToken();if(t===D||t===h){if(E(e))return this.jsx_readWord();if(62==e)return++this.pos,this.finishToken(c.jsxTagEnd);if((34===e||39===e)&&t==D)return this.jsx_readString(e)}return 60===e&&this.exprAllowed&&33!==this.input.charCodeAt(this.pos+1)?(++this.pos,this.finishToken(c.jsxTagStart)):super.readToken(e)}updateContext(e){if(this.type==o.braceL){var t=this.curContext();t==D?this.context.push(p.b_expr):t==l?this.context.push(p.b_tmpl):super.updateContext(e),this.exprAllowed=!0}else{if(this.type!==o.slash||e!==c.jsxTagStart)return super.updateContext(e);this.context.length-=2,this.context.push(h),this.exprAllowed=!1}}}}({allowNamespaces:!1!==e.allowNamespaces,allowNamespacedObjects:!!e.allowNamespacedObjects},i)}},Object.defineProperty(e.exports,"tokTypes",{get:function(){return n(En).tokTypes},configurable:!0,enumerable:!0})})),Cn={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression",JSXIdentifier:"JSXIdentifier",JSXNamespacedName:"JSXNamespacedName",JSXMemberExpression:"JSXMemberExpression",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXElement:"JSXElement",JSXClosingElement:"JSXClosingElement",JSXOpeningElement:"JSXOpeningElement",JSXAttribute:"JSXAttribute",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportAllDeclaration:"ExportAllDeclaration",ExportSpecifier:"ExportSpecifier",ImportDeclaration:"ImportDeclaration",ImportSpecifier:"ImportSpecifier",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier"};const mn="Boolean",An="Identifier",Fn="Keyword",gn="Null",yn="Numeric",xn="Punctuator",Bn="String",Sn="RegularExpression",vn="Template",bn="JSXIdentifier",Tn="JSXText";function _n(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}_n.prototype={constructor:_n,translate(e,t){const u=e.type,i=this._acornTokTypes;if(u===i.name)e.type=An,"static"===e.value&&(e.type=Fn),t.ecmaVersion>5&&("yield"===e.value||"let"===e.value)&&(e.type=Fn);else if(u===i.semi||u===i.comma||u===i.parenL||u===i.parenR||u===i.braceL||u===i.braceR||u===i.dot||u===i.bracketL||u===i.colon||u===i.question||u===i.bracketR||u===i.ellipsis||u===i.arrow||u===i.jsxTagStart||u===i.incDec||u===i.starstar||u===i.jsxTagEnd||u===i.prefix||u===i.questionDot||u.binop&&!u.keyword||u.isAssign)e.type=xn,e.value=this._code.slice(e.start,e.end);else if(u===i.jsxName)e.type=bn;else if("jsxText"===u.label||u===i.jsxAttrValueToken)e.type=Tn;else if(u.keyword)"true"===u.keyword||"false"===u.keyword?e.type=mn:"null"===u.keyword?e.type=gn:e.type=Fn;else if(u===i.num)e.type=yn,e.value=this._code.slice(e.start,e.end);else if(u===i.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=Tn):e.type=Bn,e.value=this._code.slice(e.start,e.end);else if(u===i.regexp){e.type=Sn;const t=e.value;e.regex={flags:t.flags,pattern:t.pattern},e.value="/".concat(t.pattern,"/").concat(t.flags)}return e},onToken(e,t){const u=this,i=this._acornTokTypes,n=t.tokens,r=this._tokens;function s(){n.push(function(e,t){const u=e[0],i=e[e.length-1],n={type:vn,value:t.slice(u.start,i.end)};return u.loc&&(n.loc={start:u.loc.start,end:i.loc.end}),u.range&&(n.start=u.range[0],n.end=i.range[1],n.range=[n.start,n.end]),n}(u._tokens,u._code)),u._tokens=[]}if(e.type!==i.eof){if(e.type===i.backQuote)return this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),r.push(e),void(r.length>1&&s());if(e.type===i.dollarBraceL)return r.push(e),void s();if(e.type===i.braceR)return this._curlyBrace&&n.push(this.translate(this._curlyBrace,t)),void(this._curlyBrace=e);if(e.type===i.template||e.type===i.invalidTemplate)return this._curlyBrace&&(r.push(this._curlyBrace),this._curlyBrace=null),void r.push(e);this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(this.translate(e,t))}else this._curlyBrace&&n.push(this.translate(this._curlyBrace,t))}};var wn=_n;const kn=[3,5,6,7,8,9,10,11,12];var In={normalizeOptions:function(e){const t=function(e=5){if("number"!=typeof e)throw new Error("ecmaVersion must be a number. Received value of type ".concat(typeof e," instead."));let t=e;if(t>=2015&&(t-=2009),!kn.includes(t))throw new Error("Invalid ecmaVersion.");return t}(e.ecmaVersion),u=function(e="script"){if("script"===e||"module"===e)return e;throw new Error("Invalid sourceType.")}(e.sourceType),i=!0===e.range,n=!0===e.loc;if("module"===u&&t<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},e,{ecmaVersion:t,sourceType:u,ranges:i,locations:n})},getLatestEcmaVersion:function(){return kn[kn.length-1]},getSupportedEcmaVersions:function(){return[...kn]}};const{normalizeOptions:Nn}=In,Ln=Symbol("espree's internal state"),Pn=Symbol("espree's esprimaFinishNode");var On=()=>e=>{const t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(e,u){"object"==typeof e&&null!==e||(e={}),"string"==typeof u||u instanceof String||(u=String(u));const i=Nn(e),n=i.ecmaFeatures||{},r=!0===i.tokens?new wn(t,u):null;super({ecmaVersion:i.ecmaVersion,sourceType:i.sourceType,ranges:i.ranges,locations:i.locations,allowReturnOutsideFunction:Boolean(n.globalReturn),onToken:e=>{r&&r.onToken(e,this[Ln]),e.type!==t.eof&&(this[Ln].lastToken=e)},onComment:(e,t,u,i,n,r)=>{if(this[Ln].comments){const s=function(e,t,u,i,n,r){const s={type:e?"Block":"Line",value:t};return"number"==typeof u&&(s.start=u,s.end=i,s.range=[u,i]),"object"==typeof n&&(s.loc={start:n,end:r}),s}(e,t,u,i,n,r);this[Ln].comments.push(s)}}},u),this[Ln]={tokens:r?[]:null,comments:!0===i.comment?[]:null,impliedStrict:!0===n.impliedStrict&&this.options.ecmaVersion>=5,ecmaVersion:this.options.ecmaVersion,jsxAttrValueToken:!1,lastToken:null}}tokenize(){do{this.next()}while(this.type!==t.eof);this.next();const e=this[Ln],u=e.tokens;return e.comments&&(u.comments=e.comments),u}finishNode(...e){const t=super.finishNode(...e);return this[Pn](t)}finishNodeAt(...e){const t=super.finishNodeAt(...e);return this[Pn](t)}parse(){const e=this[Ln],t=super.parse();return t.sourceType=this.options.sourceType,e.comments&&(t.comments=e.comments),e.tokens&&(t.tokens=e.tokens),t.range&&(t.range[0]=t.body.length?t.body[0].range[0]:t.range[0],t.range[1]=e.lastToken?e.lastToken.range[1]:t.range[1]),t.loc&&(t.loc.start=t.body.length?t.body[0].loc.start:t.loc.start,t.loc.end=e.lastToken?e.lastToken.loc.end:t.loc.end),t}parseTopLevel(e){return this[Ln].impliedStrict&&(this.strict=!0),super.parseTopLevel(e)}raise(t,u){const i=e.acorn.getLineInfo(this.input,t),n=new SyntaxError(u);throw n.index=t,n.lineNumber=i.line,n.column=i.column+1,n}raiseRecoverable(e,t){this.raise(e,t)}unexpected(e){let t="Unexpected token";if(null!=e){if(this.pos=e,this.options.locations)for(;this.posthis.start&&(t+=" ".concat(this.input.slice(this.start,this.end))),this.raise(this.start,t)}jsx_readString(e){const u=super.jsx_readString(e);return this.type===t.string&&(this[Ln].jsxAttrValueToken=!0),u}[Pn](e){if("TemplateElement"===e.type){const t="${"===this.input.slice(e.end,e.end+2);e.range&&(e.range[0]--,e.range[1]+=t?2:1),e.loc&&(e.loc.start.column--,e.loc.end.column+=t?2:1)}return e.type.indexOf("Function")>-1&&!e.generator&&(e.generator=!1),e}}},Rn="7.3.0",Mn={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};const Vn=Object.freeze(Object.keys(Mn));for(const e of Vn)Object.freeze(Mn[e]);Object.freeze(Mn);const jn=new Set(["parent","leadingComments","trailingComments"]);function Un(e){return!jn.has(e)&&"_"!==e[0]}var Gn=Object.freeze({KEYS:Mn,getKeys:e=>Object.keys(e).filter(Un),unionWith(e){const t=Object.assign({},Mn);for(const u of Object.keys(e))if(t.hasOwnProperty(u)){const i=new Set(e[u]);for(const e of t[u])i.add(e);t[u]=Object.freeze(Array.from(i))}else t[u]=Object.freeze(Array.from(e[u]));return Object.freeze(t)}});const{getLatestEcmaVersion:Xn,getSupportedEcmaVersions:qn}=In,Wn={_regular:null,_jsx:null,get regular(){return null===this._regular&&(this._regular=En.Parser.extend(On())),this._regular},get jsx(){return null===this._jsx&&(this._jsx=En.Parser.extend(fn(),On())),this._jsx},get(e){return Boolean(e&&e.ecmaFeatures&&e.ecmaFeatures.jsx)?this.jsx:this.regular}};var Jn={version:Rn,tokenize:function(e,t){const u=Wn.get(t);return t&&!0===t.tokens||(t=Object.assign({},t,{tokens:!0})),new u(t,e).tokenize()},parse:function(e,t){return new(Wn.get(t))(t,e).parse()},Syntax:function(){let e,t={};for(e in"function"==typeof Object.create&&(t=Object.create(null)),Cn)Object.hasOwnProperty.call(Cn,e)&&(t[e]=Cn[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}(),VisitorKeys:Gn.KEYS,latestEcmaVersion:Xn(),supportedEcmaVersions:qn()};const{getShebang:Hn}=we,{hasPragma:zn}=We,{locStart:$n,locEnd:Kn}=$e,Qn={range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};var Yn={parsers:{espree:{parse:function(e,t,u){const{parse:i,latestEcmaVersion:n}=Jn;Qn.ecmaVersion=n;const r=Hn(e),s=r?" ".repeat(r.length)+e.slice(r.length):e;let a;try{a=i(s,Qn)}catch(e){try{a=i(s,Object.assign({},Qn,{sourceType:"script"}))}catch(t){const{message:u,lineNumber:i,column:n}=e;if("number"!=typeof i)throw e;throw ke(u,{start:{line:i,column:n}})}}return Pu(a,Object.assign({},u,{originalText:e}))},astFormat:"estree",hasPragma:zn,locStart:$n,locEnd:Kn}}};export default Yn; diff --git a/node_modules/prettier/esm/parser-flow.mjs b/node_modules/prettier/esm/parser-flow.mjs deleted file mode 100644 index 8dddbab7..00000000 --- a/node_modules/prettier/esm/parser-flow.mjs +++ /dev/null @@ -1 +0,0 @@ -var r=function(r,e){const t=new SyntaxError(r+" ("+e.start.line+":"+e.start.column+")");return t.loc=e,t};function e(r,e,t){return r(t={path:e,exports:{},require:function(r,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&t.path)}},t.exports),t.exports}function t(r){return r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var n=Object.freeze({__proto__:null,default:{EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}});const u=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");const e=r.match(/(?:\r?\n)/g)||[];if(0===e.length)return;const t=e.filter((r=>"\r\n"===r)).length;return t>e.length-t?"\r\n":"\n"};var a=u;a.graceful=r=>"string"==typeof r&&u(r)||"\n";var i=t(n),c=e((function(r,e){function t(){const r=i;return t=function(){return r},r}function n(){const r=(e=a)&&e.__esModule?e:{default:e};var e;return n=function(){return r},r}Object.defineProperty(e,"__esModule",{value:!0}),e.extract=function(r){const e=r.match(f);return e?e[0].trimLeft():""},e.strip=function(r){const e=r.match(f);return e&&e[0]?r.substring(e[0].length):r},e.parse=function(r){return b(r).pragmas},e.parseWithComments=b,e.print=function({comments:r="",pragmas:e={}}){const u=(0,n().default)(r)||t().EOL,a=" *",i=Object.keys(e),c=i.map((r=>F(r,e[r]))).reduce(((r,e)=>r.concat(e)),[]).map((r=>" * "+r+u)).join("");if(!r){if(0===i.length)return"";if(1===i.length&&!Array.isArray(e[i[0]])){const r=e[i[0]];return"".concat("/**"," ").concat(F(i[0],r)[0]).concat(" */")}}const f=r.split(u).map((r=>"".concat(a," ").concat(r))).join(u)+u;return"/**"+u+(r?f:"")+(r&&i.length?a+u:"")+c+" */"};const u=/\*\/$/,c=/^\/\*\*/,f=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,o=/(^|\s+)\/\/([^\r\n]*)/g,s=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,v=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,D=/(\r?\n|^) *\* ?/g,p=[];function b(r){const e=(0,n().default)(r)||t().EOL;r=r.replace(c,"").replace(u,"").replace(D,"$1");let a="";for(;a!==r;)a=r,r=r.replace(l,"".concat(e,"$1 $2").concat(e));r=r.replace(s,"").trimRight();const i=Object.create(null),f=r.replace(v,"").replace(s,"").trimRight();let b;for(;b=v.exec(r);){const r=b[2].replace(o,"");"string"==typeof i[b[1]]||Array.isArray(i[b[1]])?i[b[1]]=p.concat(i[b[1]],r):i[b[1]]=r}return{comments:f,pragmas:i}}function F(r,e){return p.concat(e).map((e=>"@".concat(r," ").concat(e).trim()))}})),f=r=>"string"==typeof r?r.replace((({onlyFirst:r=!1}={})=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")})(),""):r;const o=r=>!Number.isNaN(r)&&(r>=4352&&(r<=4447||9001===r||9002===r||11904<=r&&r<=12871&&12351!==r||12880<=r&&r<=19903||19968<=r&&r<=42182||43360<=r&&r<=43388||44032<=r&&r<=55203||63744<=r&&r<=64255||65040<=r&&r<=65049||65072<=r&&r<=65131||65281<=r&&r<=65376||65504<=r&&r<=65510||110592<=r&&r<=110593||127488<=r&&r<=127569||131072<=r&&r<=262141));var s=o,l=o;s.default=l;const v=r=>{if("string"!=typeof(r=r.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===r.length)return 0;r=f(r);let e=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,e+=s(n)?2:1))}return e};var D=v,p=v;D.default=p;var b=r=>{if("string"!=typeof r)throw new TypeError("Expected a string");return r.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function F(r,e){return e||(e=r.slice(0)),Object.freeze(Object.defineProperties(r,{raw:{value:Object.freeze(e)}}))}var m="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function d(){throw new Error("setTimeout has not been defined")}function E(){throw new Error("clearTimeout has not been defined")}var k=d,h=E;function y(r){if(k===setTimeout)return setTimeout(r,0);if((k===d||!k)&&setTimeout)return k=setTimeout,setTimeout(r,0);try{return k(r,0)}catch(e){try{return k.call(null,r,0)}catch(e){return k.call(this,r,0)}}}"function"==typeof m.setTimeout&&(k=setTimeout),"function"==typeof m.clearTimeout&&(h=clearTimeout);var C,w=[],A=!1,_=-1;function g(){A&&C&&(A=!1,C.length?w=C.concat(w):_=-1,w.length&&B())}function B(){if(!A){var r=y(g);A=!0;for(var e=w.length;e;){for(C=w,w=[];++_1)for(var t=1;tconsole.error("SEMVER",...r):()=>{};var J={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},q=e((function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t}=J,n=(e=r.exports={}).re=[],u=e.src=[],a=e.t={};let i=0;const c=(r,e,t)=>{const c=i++;G(c,e),a[r]=c,u[c]=e,n[c]=new RegExp(e,t?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION","(".concat(u[a.NUMERICIDENTIFIER],")\\.")+"(".concat(u[a.NUMERICIDENTIFIER],")\\.")+"(".concat(u[a.NUMERICIDENTIFIER],")")),c("MAINVERSIONLOOSE","(".concat(u[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[a.NUMERICIDENTIFIERLOOSE],")")),c("PRERELEASEIDENTIFIER","(?:".concat(u[a.NUMERICIDENTIFIER],"|").concat(u[a.NONNUMERICIDENTIFIER],")")),c("PRERELEASEIDENTIFIERLOOSE","(?:".concat(u[a.NUMERICIDENTIFIERLOOSE],"|").concat(u[a.NONNUMERICIDENTIFIER],")")),c("PRERELEASE","(?:-(".concat(u[a.PRERELEASEIDENTIFIER],"(?:\\.").concat(u[a.PRERELEASEIDENTIFIER],")*))")),c("PRERELEASELOOSE","(?:-?(".concat(u[a.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(u[a.PRERELEASEIDENTIFIERLOOSE],")*))")),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD","(?:\\+(".concat(u[a.BUILDIDENTIFIER],"(?:\\.").concat(u[a.BUILDIDENTIFIER],")*))")),c("FULLPLAIN","v?".concat(u[a.MAINVERSION]).concat(u[a.PRERELEASE],"?").concat(u[a.BUILD],"?")),c("FULL","^".concat(u[a.FULLPLAIN],"$")),c("LOOSEPLAIN","[v=\\s]*".concat(u[a.MAINVERSIONLOOSE]).concat(u[a.PRERELEASELOOSE],"?").concat(u[a.BUILD],"?")),c("LOOSE","^".concat(u[a.LOOSEPLAIN],"$")),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE","".concat(u[a.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),c("XRANGEIDENTIFIER","".concat(u[a.NUMERICIDENTIFIER],"|x|X|\\*")),c("XRANGEPLAIN","[v=\\s]*(".concat(u[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[a.XRANGEIDENTIFIER],")")+"(?:".concat(u[a.PRERELEASE],")?").concat(u[a.BUILD],"?")+")?)?"),c("XRANGEPLAINLOOSE","[v=\\s]*(".concat(u[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[a.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(u[a.PRERELEASELOOSE],")?").concat(u[a.BUILD],"?")+")?)?"),c("XRANGE","^".concat(u[a.GTLT],"\\s*").concat(u[a.XRANGEPLAIN],"$")),c("XRANGELOOSE","^".concat(u[a.GTLT],"\\s*").concat(u[a.XRANGEPLAINLOOSE],"$")),c("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(t,"})")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:$|[^\\d])"),c("COERCERTL",u[a.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM","(\\s*)".concat(u[a.LONETILDE],"\\s+"),!0),e.tildeTrimReplace="$1~",c("TILDE","^".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAIN],"$")),c("TILDELOOSE","^".concat(u[a.LONETILDE]).concat(u[a.XRANGEPLAINLOOSE],"$")),c("LONECARET","(?:\\^)"),c("CARETTRIM","(\\s*)".concat(u[a.LONECARET],"\\s+"),!0),e.caretTrimReplace="$1^",c("CARET","^".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAIN],"$")),c("CARETLOOSE","^".concat(u[a.LONECARET]).concat(u[a.XRANGEPLAINLOOSE],"$")),c("COMPARATORLOOSE","^".concat(u[a.GTLT],"\\s*(").concat(u[a.LOOSEPLAIN],")$|^$")),c("COMPARATOR","^".concat(u[a.GTLT],"\\s*(").concat(u[a.FULLPLAIN],")$|^$")),c("COMPARATORTRIM","(\\s*)".concat(u[a.GTLT],"\\s*(").concat(u[a.LOOSEPLAIN],"|").concat(u[a.XRANGEPLAIN],")"),!0),e.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE","^\\s*(".concat(u[a.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(u[a.XRANGEPLAIN],")")+"\\s*$"),c("HYPHENRANGELOOSE","^\\s*(".concat(u[a.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(u[a.XRANGEPLAINLOOSE],")")+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const z=/^[0-9]+$/,W=(r,e)=>{const t=z.test(r),n=z.test(e);return t&&n&&(r=+r,e=+e),r===e?0:t&&!n?-1:n&&!t?1:rW(e,r)};const{MAX_LENGTH:$,MAX_SAFE_INTEGER:Y}=J,{re:H,t:K}=q,{compareIdentifiers:Q}=V;class Z{constructor(r,e){if(e&&"object"==typeof e||(e={loose:!!e,includePrerelease:!1}),r instanceof Z){if(r.loose===!!e.loose&&r.includePrerelease===!!e.includePrerelease)return r;r=r.version}else if("string"!=typeof r)throw new TypeError("Invalid Version: ".concat(r));if(r.length>$)throw new TypeError("version is longer than ".concat($," characters"));G("SemVer",r,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const t=r.trim().match(e.loose?H[K.LOOSE]:H[K.FULL]);if(!t)throw new TypeError("Invalid Version: ".concat(r));if(this.raw=r,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>Y||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Y||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Y||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((r=>{if(/^[0-9]+$/.test(r)){const e=+r;if(e>=0&&e=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error("invalid increment argument: ".concat(r))}return this.format(),this.raw=this.version,this}}var rr=Z;var er=(r,e,t)=>new rr(r,t).compare(new rr(e,t));var tr=(r,e,t)=>er(r,e,t)<0;var nr=(r,e,t)=>er(r,e,t)>=0,ur="2.2.1",ar=e((function(r,e){function t(){for(var r=[],e=0;e"string"==typeof r||"function"==typeof r,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:vr(or()),exception:r=>"string"==typeof r||"object"==typeof r,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:vr(fr()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:vr(cr()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:vr(ir()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const pr={compare:er,lt:tr,gte:nr},br=ur,Fr={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Dr}.options;var mr={getSupportInfo:function({plugins:r=[],showUnreleased:e=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const u=br.split("-",1)[0],a=r.reduce(((r,e)=>r.concat(e.languages||[])),[]).filter(o),i=(c=Object.assign({},...r.map((({options:r})=>r)),Fr),f="name",Object.entries(c).map((([r,e])=>Object.assign({[f]:r},e)))).filter((r=>o(r)&&s(r))).sort(((r,e)=>r.name===e.name?0:r.name=0||(u[t]=r[t]);return u}(r,["cliName","cliCategory","cliDescription"])})).map((e=>{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(o).sort(((r,e)=>pr.compare(e.since,r.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((r=>o(r)&&s(r))),"parser"===e.name&&function(r,e,t){const n=new Set(r.choices.map((r=>r.value)));for(const u of e)if(u.parsers)for(const e of u.parsers)if(!n.has(e)){n.add(e);const a=t.find((r=>r.parsers&&r.parsers[e]));let i=u.name;a&&a.name&&(i+=" (plugin: ".concat(a.name,")")),r.choices.push({value:e,description:i})}}(e,a,r));const t=r.filter((r=>r.defaultOptions&&void 0!==r.defaultOptions[e.name])).reduce(((r,t)=>(r[t.name]=t.defaultOptions[e.name],r)),{});return Object.assign({},e,{pluginDefaults:t})}));var c,f;return{languages:a,options:i};function o(r){return e||!("since"in r)||r.since&&pr.gte(u,r.since)}function s(r){return t||!("deprecated"in r)||r.deprecated&&pr.lt(u,r.deprecated)}}};const{getSupportInfo:dr}=mr,Er=/[^\x20-\x7F]/;function kr(r){return(e,t,n)=>{const u=n&&n.backwards;if(!1===t)return!1;const{length:a}=e;let i=t;for(;i>=0&&i(t.match(i.regex)||[]).length?i.quote:a.quote}return c}function Or(r,e,t){const n='"'===e?"'":'"',u=r.replace(/\\([\S\s])|(["'])/g,((r,u,a)=>u===n?u:a===e?"\\"+a:a||(t&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return e+u+e}function Lr(r,e){(r.comments||(r.comments=[])).push(e),e.printed=!1,"JSXText"===r.type&&(e.printed=!0)}var Pr={inferParserByLanguage:function(r,e){const{languages:t}=dr({plugins:e.plugins}),n=t.find((({name:e})=>e.toLowerCase()===r))||t.find((({aliases:e})=>Array.isArray(e)&&e.includes(r)))||t.find((({extensions:e})=>Array.isArray(e)&&e.includes(".".concat(r))));return n&&n.parsers[0]},replaceEndOfLineWith:function(r,e){const t=[];for(const n of r.split("\n"))0!==t.length&&t.push(e),t.push(n);return t},getStringWidth:function(r){return r?Er.test(r)?D(r):r.length:0},getMaxContinuousCount:function(r,e){const t=r.match(new RegExp("(".concat(b(e),")+"),"g"));return null===t?0:t.reduce(((r,t)=>Math.max(r,t.length/e.length)),0)},getMinNotPresentContinuousCount:function(r,e){const t=r.match(new RegExp("(".concat(b(e),")+"),"g"));if(null===t)return 0;const n=new Map;let u=0;for(const r of t){const t=r.length/e.length;n.set(t,!0),t>u&&(u=t)}for(let r=1;rr[r.length-2],getLast:r=>r[r.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:xr,getNextNonSpaceNonCommentCharacterIndex:Tr,getNextNonSpaceNonCommentCharacter:function(r,e,t){return r.charAt(Tr(r,e,t))},skip:kr,skipWhitespace:hr,skipSpaces:yr,skipToLineEnd:Cr,skipEverythingButNewLine:wr,skipInlineComment:Ar,skipTrailingComment:_r,skipNewline:gr,isNextLineEmptyAfterIndex:Sr,isNextLineEmpty:function(r,e,t){return Sr(r,t(e))},isPreviousLineEmpty:function(r,e,t){let n=t(e)-1;return n=yr(r,n,{backwards:!0}),n=gr(r,n,{backwards:!0}),n=yr(r,n,{backwards:!0}),n!==gr(r,n,{backwards:!0})},hasNewline:Br,hasNewlineInRange:function(r,e,t){for(let n=e;n=0?"\n"===r.charAt(e+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(r){switch(r){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(r,e){let t;if("\n"===e)t=/\n/g;else if("\r"===e)t=/\r/g;else{if("\r\n"!==e)throw new Error('Unexpected "eol" '.concat(JSON.stringify(e),"."));t=/\r\n/g}const n=r.match(t);return n?n.length:0},normalizeEndOfLine:function(r){return r.replace(/\r\n?/g,"\n")}};const{parseWithComments:Mr,strip:jr,extract:Ur,print:Xr}=c,{getShebang:Gr}=Pr,{normalizeEndOfLine:Jr}=Rr;function qr(r){const e=Gr(r);e&&(r=r.slice(e.length+1));const t=Ur(r),{pragmas:n,comments:u}=Mr(t);return{shebang:e,text:r,pragmas:n,comments:u}}var zr={hasPragma:function(r){const e=Object.keys(qr(r).pragmas);return e.includes("prettier")||e.includes("format")},insertPragma:function(r){const{shebang:e,text:t,pragmas:n,comments:u}=qr(r),a=jr(t),i=Xr({pragmas:Object.assign({format:""},n),comments:u.trimStart()});return(e?"".concat(e,"\n"):"")+Jr(i)+(a.startsWith("\n")?"\n":"\n\n")+a}};function Wr(r,e){const{ignoreDecorators:t}=e||{};if(!t){const e=r.declaration&&r.declaration.decorators||r.decorators;if(e&&e.length>0)return Wr(e[0])}return r.range?r.range[0]:r.start}function Vr(r){const e=r.range?r.range[1]:r.end;return r.typeAnnotation?Math.max(e,Vr(r.typeAnnotation)):e}function $r(r,e){return Wr(r)===Wr(e)}var Yr={locStart:Wr,locEnd:Vr,composeLoc:function(r,e=r){const t=Wr(r);return[t,"number"==typeof e?t+e:Vr(e)]},hasSameLocStart:$r,hasSameLoc:function(r,e){return $r(r,e)&&function(r,e){return Vr(r)===Vr(e)}(r,e)}},Hr=e((function(r){!function(){function e(r){if(null==r)return!1;switch(r.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(r){switch(r.type){case"IfStatement":return null!=r.alternate?r.alternate:r.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return r.body}return null}r.exports={isExpression:function(r){if(null==r)return!1;switch(r.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(r){if(null==r)return!1;switch(r.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(r){return e(r)||null!=r&&"FunctionDeclaration"===r.type},isProblematicIfStatement:function(r){var e;if("IfStatement"!==r.type)return!1;if(null==r.alternate)return!1;e=r.consequent;do{if("IfStatement"===e.type&&null==e.alternate)return!0;e=t(e)}while(e);return!1},trailingStatement:t}}()})),Kr=e((function(r){!function(){var e,t,n,u,a,i;function c(r){return r<=65535?String.fromCharCode(r):String.fromCharCode(Math.floor((r-65536)/1024)+55296)+String.fromCharCode((r-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(a=new Array(128),i=0;i<128;++i)a[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;r.exports={isDecimalDigit:function(r){return 48<=r&&r<=57},isHexDigit:function(r){return 48<=r&&r<=57||97<=r&&r<=102||65<=r&&r<=70},isOctalDigit:function(r){return r>=48&&r<=55},isWhiteSpace:function(r){return 32===r||9===r||11===r||12===r||160===r||r>=5760&&n.indexOf(r)>=0},isLineTerminator:function(r){return 10===r||13===r||8232===r||8233===r},isIdentifierStartES5:function(r){return r<128?u[r]:t.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES5:function(r){return r<128?a[r]:t.NonAsciiIdentifierPart.test(c(r))},isIdentifierStartES6:function(r){return r<128?u[r]:e.NonAsciiIdentifierStart.test(c(r))},isIdentifierPartES6:function(r){return r<128?a[r]:e.NonAsciiIdentifierPart.test(c(r))}}}()})),Qr=e((function(r){!function(){var e=Kr;function t(r,e){return!(!e&&"yield"===r)&&n(r,e)}function n(r,e){if(e&&function(r){switch(r){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(r))return!0;switch(r.length){case 2:return"if"===r||"in"===r||"do"===r;case 3:return"var"===r||"for"===r||"new"===r||"try"===r;case 4:return"this"===r||"else"===r||"case"===r||"void"===r||"with"===r||"enum"===r;case 5:return"while"===r||"break"===r||"catch"===r||"throw"===r||"const"===r||"yield"===r||"class"===r||"super"===r;case 6:return"return"===r||"typeof"===r||"delete"===r||"switch"===r||"export"===r||"import"===r;case 7:return"default"===r||"finally"===r||"extends"===r;case 8:return"function"===r||"continue"===r||"debugger"===r;case 10:return"instanceof"===r;default:return!1}}function u(r,e){return"null"===r||"true"===r||"false"===r||t(r,e)}function a(r,e){return"null"===r||"true"===r||"false"===r||n(r,e)}function i(r){var t,n,u;if(0===r.length)return!1;if(u=r.charCodeAt(0),!e.isIdentifierStartES5(u))return!1;for(t=1,n=r.length;t=n)return!1;if(!(56320<=(a=r.charCodeAt(t))&&a<=57343))return!1;u=1024*(u-55296)+(a-56320)+65536}if(!i(u))return!1;i=e.isIdentifierPartES6}return!0}r.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:u,isReservedWordES6:a,isRestrictedWord:function(r){return"eval"===r||"arguments"===r},isIdentifierNameES5:i,isIdentifierNameES6:c,isIdentifierES5:function(r,e){return i(r)&&!u(r,e)},isIdentifierES6:function(r,e){return c(r)&&!a(r,e)}}}()}));const Zr=e((function(r,e){e.ast=Hr,e.code=Kr,e.keyword=Qr})).keyword.isIdentifierNameES5,{getLast:re,hasNewline:ee,hasNewlineInRange:te,skipWhitespace:ne}=Pr,{locStart:ue,locEnd:ae,hasSameLocStart:ie}=Yr,ce=new RegExp("^".concat("(?:(?=.)\\s)","*:")),fe=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function oe(r,e){if(!r||"object"!=typeof r)return!1;if(Array.isArray(r))return r.some((r=>oe(r,e)));const t=e(r);return"boolean"==typeof t?t:Object.keys(r).some((t=>oe(r[t],e)))}function se(r){return"AssignmentExpression"===r.type||"BinaryExpression"===r.type||"LogicalExpression"===r.type||"NGPipeExpression"===r.type||"ConditionalExpression"===r.type||"CallExpression"===r.type||"OptionalCallExpression"===r.type||"MemberExpression"===r.type||"OptionalMemberExpression"===r.type||"SequenceExpression"===r.type||"TaggedTemplateExpression"===r.type||"BindExpression"===r.type||"UpdateExpression"===r.type&&!r.prefix||"TSAsExpression"===r.type||"TSNonNullExpression"===r.type}function le(r){return"Block"===r.type||"CommentBlock"===r.type||"MultiLine"===r.type}const ve=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function De(r){return r&&ve.has(r.type)}function pe(r){return"BooleanLiteral"===r.type||"DirectiveLiteral"===r.type||"Literal"===r.type||"NullLiteral"===r.type||"NumericLiteral"===r.type||"BigIntLiteral"===r.type||"DecimalLiteral"===r.type||"RegExpLiteral"===r.type||"StringLiteral"===r.type||"TemplateLiteral"===r.type||"TSTypeLiteral"===r.type||"JSXText"===r.type}function be(r){return"NumericLiteral"===r.type||"Literal"===r.type&&"number"==typeof r.value}function Fe(r){return"StringLiteral"===r.type||"Literal"===r.type&&"string"==typeof r.value}function me(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type}function de(r){return!("CallExpression"!==r.type&&"OptionalCallExpression"!==r.type||"Identifier"!==r.callee.type||"async"!==r.callee.name&&"inject"!==r.callee.name&&"fakeAsync"!==r.callee.name)}function Ee(r){return"JSXElement"===r.type||"JSXFragment"===r.type}function ke(r){return"get"===r.kind||"set"===r.kind}function he(r){return ke(r)||ie(r,r.value)}const ye=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Ce=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const we=/^(skip|[fx]?(it|describe|test))$/;function Ae(r){return"CallExpression"===r.type||"OptionalCallExpression"===r.type}const _e=new RegExp("([ \n\r\t]+)"),ge=new RegExp("[^ \n\r\t]");function Be(r){return pe(r)&&(ge.test(Ie(r))||!/\n/.test(Ie(r)))}function Se(r,e){if(Ee(e))return Ge(e);return e.comments&&e.comments.some((e=>e.leading&&ee(r,ae(e))))}function xe(r){return/^(\d+|\d+\.\d+)$/.test(r)}function Te(r){return r.quasis.some((r=>r.value.raw.includes("\n")))}function Ie(r){return r.extra?r.extra.raw:r.raw}const Ne={"==":!0,"!=":!0,"===":!0,"!==":!0},Oe={"*":!0,"/":!0,"%":!0},Le={">>":!0,">>>":!0,"<<":!0};const Pe={};function Re(r){return Pe[r]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((r,e)=>{r.forEach((r=>{Pe[r]=e}))}));const Me=new WeakMap;function je(r){if(Me.has(r))return Me.get(r);const e=[];return r.this&&e.push(r.this),Array.isArray(r.parameters)?e.push(...r.parameters):Array.isArray(r.params)&&e.push(...r.params),r.rest&&e.push(r.rest),Me.set(r,e),e}const Ue=new WeakMap;function Xe(r){return"prettier-ignore"===r.value.trim()}function Ge(r){return r&&(r.comments&&r.comments.length>0&&r.comments.some((r=>Xe(r)&&!r.unignore))||r.prettierIgnore)}function Je(r){return Ge(r.getValue())}var qe={classChildNeedsASIProtection:function(r){if(r){if(r.static||r.accessibility)return!1;if(!r.computed){const e=r.key&&r.key.name;if("in"===e||"instanceof"===e)return!0}switch(r.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return r.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const e=r.value?r.value.async:r.async,t=r.value?r.value.generator:r.generator;return!e&&"get"!==r.kind&&"set"!==r.kind&&!(!r.computed&&!t)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(r){const e=r.getNode();if("ClassProperty"!==e.type&&"FieldDefinition"!==e.type)return!1;const t=e.key&&e.key.name;return!("static"!==t&&"get"!==t&&"set"!==t||e.value||e.typeAnnotation)||void 0},getFunctionParameters:je,iterateFunctionParametersPath:function(r,e){const t=r.getValue();let n=0;const u=r=>e(r,n++);t.this&&r.call(u,"this"),Array.isArray(t.parameters)?r.each(u,"parameters"):Array.isArray(t.params)&&r.each(u,"params"),t.rest&&r.call(u,"rest")},getCallArguments:function(r){if(Ue.has(r))return Ue.get(r);const e="ImportExpression"===r.type?[r.source]:r.arguments;return Ue.set(r,e),e},iterateCallArgumentsPath:function(r,e){"ImportExpression"===r.getValue().type?r.call((r=>e(r,0)),"source"):r.each(e,"arguments")},hasRestParameter:function(r){if(r.rest)return!0;const e=je(r);return e.length>0&&"RestElement"===re(e).type},getLeftSidePathName:function(r,e){if(e.expressions)return["expressions",0];if(e.left)return["left"];if(e.test)return["test"];if(e.object)return["object"];if(e.callee)return["callee"];if(e.tag)return["tag"];if(e.argument)return["argument"];if(e.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(r){const e=r.getParentNode();return"declaration"===r.getName()&&De(e)?e:null},getTypeScriptMappedTypeModifier:function(r,e){return"+"===r?"+"+e:"-"===r?"-"+e:e},hasDanglingComments:function(r){return r.comments&&r.comments.some((r=>!r.leading&&!r.trailing))},hasFlowAnnotationComment:function(r){return r&&le(r[0])&&fe.test(r[0].value)},hasFlowShorthandAnnotationComment:function(r){return r.extra&&r.extra.parenthesized&&r.trailingComments&&le(r.trailingComments[0])&&ce.test(r.trailingComments[0].value)},hasLeadingComment:function(r){return r.comments&&r.comments.some((r=>r.leading))},hasLeadingOwnLineComment:Se,hasNakedLeftSide:se,hasNewlineBetweenOrAfterDecorators:function(r,e){return te(e.originalText,ue(r.decorators[0]),ae(re(r.decorators)))||ee(e.originalText,ae(re(r.decorators)))},hasNgSideEffect:function(r){return oe(r.getValue(),(r=>{switch(r.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:oe,hasPrettierIgnore:function(r){return Je(r)||function(r){const e=r.getValue(),t=r.getParentNode();if(!(t&&e&&Ee(e)&&Ee(t)))return!1;let n=null;for(let r=t.children.indexOf(e);r>0;r--){const e=t.children[r-1];if("JSXText"!==e.type||Be(e)){n=e;break}}return n&&"JSXExpressionContainer"===n.type&&"JSXEmptyExpression"===n.expression.type&&n.expression.comments&&n.expression.comments.some((r=>Xe(r)))}(r)},hasTrailingComment:function(r){return r.comments&&r.comments.some((r=>r.trailing))},hasTrailingLineComment:function(r){return r.comments&&r.comments.some((r=>r.trailing&&!le(r)))},hasIgnoreComment:Je,hasNodeIgnoreComment:Ge,identity:function(r){return r},isBinaryish:function(r){return ye.has(r.type)},isBlockComment:le,isLineComment:function(r){return"Line"===r.type||"CommentLine"===r.type||"SingleLine"===r.type||"HashbangComment"===r.type||"HTMLOpen"===r.type||"HTMLClose"===r.type},isPrettierIgnoreComment:Xe,isCallOrOptionalCallExpression:Ae,isEmptyJSXElement:function(r){if(0===r.children.length)return!0;if(r.children.length>1)return!1;const e=r.children[0];return pe(e)&&!Be(e)},isExportDeclaration:De,isFlowAnnotationComment:function(r,e){const t=ue(e),n=ne(r,ae(e));return!1!==n&&"/*"===r.slice(t,t+2)&&"*/"===r.slice(n,n+2)},isFunctionCompositionArgs:function(r){if(r.length<=1)return!1;let e=0;for(const t of r)if(me(t)){if(e+=1,e>1)return!0}else if(Ae(t))for(const r of t.arguments)if(me(r))return!0;return!1},isFunctionNotation:he,isFunctionOrArrowExpression:me,isGetterOrSetter:ke,isJestEachTemplateLiteral:function(r,e){const t=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===e.type&&e.quasi===r&&"MemberExpression"===e.tag.type&&"Identifier"===e.tag.property.type&&"each"===e.tag.property.name&&("Identifier"===e.tag.object.type&&t.test(e.tag.object.name)||"MemberExpression"===e.tag.object.type&&"Identifier"===e.tag.object.property.type&&("only"===e.tag.object.property.name||"skip"===e.tag.object.property.name)&&"Identifier"===e.tag.object.object.type&&t.test(e.tag.object.object.name))},isJSXNode:Ee,isJSXWhitespaceExpression:function(r){return"JSXExpressionContainer"===r.type&&pe(r.expression)&&" "===r.expression.value&&!r.expression.comments},isLastStatement:function(r){const e=r.getParentNode();if(!e)return!0;const t=r.getValue(),n=(e.body||e.consequent).filter((r=>"EmptyStatement"!==r.type));return n[n.length-1]===t},isLiteral:pe,isLongCurriedCallExpression:function(r){const e=r.getValue(),t=r.getParentNode();return Ae(e)&&Ae(t)&&t.callee===e&&e.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function r(e,t){if(t>=2)return!1;const n=e=>r(e,t+1),u="Literal"===e.type&&"regex"in e&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;return!(u&&u.length>5)&&("Literal"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"BooleanLiteral"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"Identifier"===e.type||"ThisExpression"===e.type||"Super"===e.type||"PrivateName"===e.type||"ArgumentPlaceholder"===e.type||"Import"===e.type||("TemplateLiteral"===e.type?e.expressions.every(n):"ObjectExpression"===e.type?e.properties.every((r=>!r.computed&&(r.shorthand||r.value&&n(r.value)))):"ArrayExpression"===e.type?e.elements.every((r=>null===r||n(r))):"ImportExpression"===e.type?n(e.source):"CallExpression"===e.type||"OptionalCallExpression"===e.type||"NewExpression"===e.type?r(e.callee,t)&&e.arguments.every(n):"MemberExpression"===e.type||"OptionalMemberExpression"===e.type?r(e.object,t)&&r(e.property,t):"UnaryExpression"!==e.type||"!"!==e.operator&&"-"!==e.operator?"TSNonNullExpression"===e.type&&r(e.expression,t):r(e.argument,t)))},isMeaningfulJSXText:Be,isMemberExpressionChain:function r(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&("Identifier"===e.object.type||r(e.object))},isMemberish:function(r){return"MemberExpression"===r.type||"OptionalMemberExpression"===r.type||"BindExpression"===r.type&&Boolean(r.object)},isNgForOf:function(r,e,t){return"NGMicrosyntaxKeyedExpression"===r.type&&"of"===r.key.name&&1===e&&"NGMicrosyntaxLet"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:be,isObjectType:function(r){return"ObjectTypeAnnotation"===r.type||"TSTypeLiteral"===r.type},isObjectTypePropertyAFunction:function(r){return!("ObjectTypeProperty"!==r.type&&"ObjectTypeInternalSlot"!==r.type||"FunctionTypeAnnotation"!==r.value.type||r.static||he(r))},isSimpleType:function(r){return!!r&&(!("GenericTypeAnnotation"!==r.type&&"TSTypeReference"!==r.type||r.typeParameters)||!!Ce.has(r.type))},isSimpleNumber:xe,isSimpleTemplateLiteral:function(r){let e="expressions";"TSTemplateLiteralType"===r.type&&(e="types");const t=r[e];return 0!==t.length&&t.every((r=>{if(r.comments)return!1;if("Identifier"===r.type||"ThisExpression"===r.type)return!0;if("MemberExpression"===r.type||"OptionalMemberExpression"===r.type){let e=r;for(;"MemberExpression"===e.type||"OptionalMemberExpression"===e.type;){if("Identifier"!==e.property.type&&"Literal"!==e.property.type&&"StringLiteral"!==e.property.type&&"NumericLiteral"!==e.property.type)return!1;if(e=e.object,e.comments)return!1}return"Identifier"===e.type||"ThisExpression"===e.type}return!1}))},isStringLiteral:Fe,isStringPropSafeToUnquote:function(r,e){return"json"!==e.parser&&Fe(r.key)&&Ie(r.key).slice(1,-1)===r.key.value&&(Zr(r.key.value)&&!(("typescript"===e.parser||"babel-ts"===e.parser)&&"ClassProperty"===r.type)||xe(r.key.value)&&String(Number(r.key.value))===r.key.value&&("babel"===e.parser||"espree"===e.parser||"meriyah"===e.parser))},isTemplateOnItsOwnLine:function(r,e){return("TemplateLiteral"===r.type&&Te(r)||"TaggedTemplateExpression"===r.type&&Te(r.quasi))&&!ee(e,ue(r),{backwards:!0})},isTestCall:function r(e,t){if("CallExpression"!==e.type)return!1;if(1===e.arguments.length){if(de(e)&&t&&r(t))return me(e.arguments[0]);if("Identifier"===(n=e).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return de(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&("Identifier"===e.callee.type&&we.test(e.callee.name)||function(r){return("MemberExpression"===r.callee.type||"OptionalMemberExpression"===r.callee.type)&&"Identifier"===r.callee.object.type&&"Identifier"===r.callee.property.type&&we.test(r.callee.object.name)&&("only"===r.callee.property.name||"skip"===r.callee.property.name)}(e))&&(function(r){return"TemplateLiteral"===r.type}(e.arguments[0])||Fe(e.arguments[0])))return!(e.arguments[2]&&!be(e.arguments[2]))&&((2===e.arguments.length?me(e.arguments[1]):function(r){return"FunctionExpression"===r.type||"ArrowFunctionExpression"===r.type&&"BlockStatement"===r.body.type}(e.arguments[1])&&je(e.arguments[1]).length<=1)||de(e.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(r,e){if("markdown"!==r.parentParser&&"mdx"!==r.parentParser)return!1;const t=e.getNode();if(!t.expression||!Ee(t.expression))return!1;const n=e.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(r){return r.filepath&&/\.tsx$/i.test(r.filepath)},isTypeAnnotationAFunction:function(r){return!("TypeAnnotation"!==r.type&&"TSTypeAnnotation"!==r.type||"FunctionTypeAnnotation"!==r.typeAnnotation.type||r.static||ie(r,r.typeAnnotation))},matchJsxWhitespaceRegex:_e,needsHardlineAfterDanglingComment:function(r){if(!r.comments)return!1;const e=re(r.comments.filter((r=>!r.leading&&!r.trailing)));return e&&!le(e)},rawText:Ie,returnArgumentHasLeadingComment:function(r,e){if(Se(r.originalText,e))return!0;if(se(e)){let n,u=e;for(;n=(t=u).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(u=n,Se(r.originalText,u))return!0}var t;return!1},shouldPrintComma:function(r,e="es5"){return"es5"===r.trailingComma&&"es5"===e||"all"===r.trailingComma&&("all"===e||"es5"===e)},isBitwiseOperator:function(r){return!!Le[r]||"|"===r||"^"===r||"&"===r},shouldFlatten:function(r,e){return Re(e)===Re(r)&&("**"!==r&&((!Ne[r]||!Ne[e])&&(!("%"===e&&Oe[r]||"%"===r&&Oe[e])&&((e===r||!Oe[e]||!Oe[r])&&(!Le[r]||!Le[e])))))},startsWithNoLookaheadToken:function r(e,t){switch((e=function(r){for(;r.left;)r=r.left;return r}(e)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return t;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return r(e.object,t);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&r(e.tag,t);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&r(e.callee,t);case"ConditionalExpression":return r(e.test,t);case"UpdateExpression":return!e.prefix&&r(e.argument,t);case"BindExpression":return e.object&&r(e.object,t);case"SequenceExpression":return r(e.expressions[0],t);case"TSAsExpression":return r(e.expression,t);default:return!1}},getPrecedence:Re};const{getLast:ze,hasNewline:We,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ve,getNextNonSpaceNonCommentCharacter:$e,hasNewlineInRange:Ye,addLeadingComment:He,addTrailingComment:Ke,addDanglingComment:Qe,getNextNonSpaceNonCommentCharacterIndex:Ze}=Pr,{isBlockComment:rt,getFunctionParameters:et,isPrettierIgnoreComment:tt,isJSXNode:nt,hasFlowShorthandAnnotationComment:ut,hasFlowAnnotationComment:at,hasIgnoreComment:it}=qe,{locStart:ct,locEnd:ft}=Yr;function ot(r,e){const t=(r.body||r.properties).find((({type:r})=>"EmptyStatement"!==r));t?He(t,e):Qe(r,e)}function st(r,e){"BlockStatement"===r.type?ot(r,e):He(r,e)}function lt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||"IfStatement"!==n.type||!u)return!1;return")"===$e(e,r,ft)?(Ke(t,r),!0):t===n.consequent&&u===n.alternate?("BlockStatement"===t.type?Ke(t,r):Qe(n,r),!0):"BlockStatement"===u.type?(ot(u,r),!0):"IfStatement"===u.type?(st(u.consequent,r),!0):n.consequent===u&&(He(u,r),!0)}function vt(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(!n||"WhileStatement"!==n.type||!u)return!1;return")"===$e(e,r,ft)?(Ke(t,r),!0):"BlockStatement"===u.type?(ot(u,r),!0):n.body===u&&(He(u,r),!0)}function Dt(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;return!(!t||"TryStatement"!==t.type&&"CatchClause"!==t.type||!n)&&("CatchClause"===t.type&&e?(Ke(e,r),!0):"BlockStatement"===n.type?(ot(n,r),!0):"TryStatement"===n.type?(st(n.finalizer,r),!0):"CatchClause"===n.type&&(st(n.body,r),!0))}function pt(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&("ClassDeclaration"===t.type||"ClassExpression"===t.type||"DeclareClass"===t.type||"DeclareInterface"===t.type||"InterfaceDeclaration"===t.type||"TSInterfaceDeclaration"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||"Decorator"!==n.type))return Ke(t.decorators[t.decorators.length-1],r),!0;if(t.body&&n===t.body)return ot(t.body,r),!0;if(n)for(const u of["implements","extends","mixins"])if(t[u]&&n===t[u][0])return!e||e!==t.id&&e!==t.typeParameters&&e!==t.superClass?Qe(t,r,u):Ke(e,r),!0}return!1}function bt(r,e){const{precedingNode:t,enclosingNode:n}=r;return(n&&t&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===t.type&&n.key===t&&":"!==$e(e,t,ft)||!(!t||!n||"Decorator"!==t.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"FieldDefinition"!==n.type&&"TSAbstractClassProperty"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(Ke(t,r),!0)}function Ft(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r;if(t&&"FunctionTypeParam"===t.type&&n&&"FunctionTypeAnnotation"===n.type&&u&&"FunctionTypeParam"!==u.type)return Ke(t,r),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&n&&ht(n)&&")"===$e(e,r,ft))return Ke(t,r),!0;if(n&&"FunctionDeclaration"===n.type&&u&&"BlockStatement"===u.type){const t=(()=>{const r=et(n);if(0!==r.length)return Ve(e,ft(ze(r)));const t=Ve(e,ft(n.id));return!1!==t&&Ve(e,t+1)})();if(ct(r)>t)return ot(u,r),!0}return!1}function mt(r){const{enclosingNode:e}=r;return!(!e||"ImportSpecifier"!==e.type)&&(He(e,r),!0)}function dt(r){const{enclosingNode:e}=r;return!(!e||"LabeledStatement"!==e.type)&&(He(e,r),!0)}function Et(r,e,t){const{enclosingNode:n}=r;return e&&e.body&&0===e.body.length?(t?Qe(e,r):He(e,r),!0):!(!n||"Program"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?Qe(n,r):He(n,r),!0)}function kt(r){const{enclosingNode:e,followingNode:t}=r;if(tt(r)&&e&&"TSMappedType"===e.type&&t&&"TSTypeParameter"===t.type&&t.constraint)return e.prettierIgnore=!0,r.unignore=!0,!0}function ht(r){return"ArrowFunctionExpression"===r.type||"FunctionExpression"===r.type||"FunctionDeclaration"===r.type||"ObjectMethod"===r.type||"ClassMethod"===r.type||"TSDeclareFunction"===r.type||"TSCallSignatureDeclaration"===r.type||"TSConstructSignatureDeclaration"===r.type||"TSMethodSignature"===r.type||"TSConstructorType"===r.type||"TSFunctionType"===r.type||"TSDeclareMethod"===r.type}function yt(r){return rt(r)&&"*"===r.value[0]&&/@type\b/.test(r.value)}var Ct={handleOwnLineComment:function(r,e,t,n,u){return kt(r)||Ft(r,e)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&t&&"Identifier"===t.type)return He(e,r),!0;return!1}(r)||lt(r,e)||vt(r,e)||Dt(r)||pt(r)||mt(r)||function(r){const{enclosingNode:e}=r;if(e&&("ForInStatement"===e.type||"ForOfStatement"===e.type))return He(e,r),!0;return!1}(r)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(t&&("UnionTypeAnnotation"===t.type||"TSUnionType"===t.type))return tt(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!e&&(Ke(e,r),!0);n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&tt(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0);return!1}(r)||Et(r,n,u)||function(r,e){const{precedingNode:t,enclosingNode:n}=r;if(t&&"ImportSpecifier"===t.type&&n&&"ImportDeclaration"===n.type&&We(e,ft(r)))return Ke(t,r),!0;return!1}(r,e)||function(r){const{enclosingNode:e}=r;if(e&&"AssignmentPattern"===e.type)return He(e,r),!0;return!1}(r)||bt(r,e)||dt(r)},handleEndOfLineComment:function(r,e,t,n,u){return function(r){const{followingNode:e}=r;if(e&&yt(r))return He(e,r),!0;return!1}(r)||Ft(r,e)||function(r,e){const{precedingNode:t,enclosingNode:n,followingNode:u}=r,a=t&&!Ye(e,ft(t),ct(r));if((!t||!a)&&n&&("ConditionalExpression"===n.type||"TSConditionalType"===n.type)&&u)return He(u,r),!0;return!1}(r,e)||mt(r)||lt(r,e)||vt(r,e)||Dt(r)||pt(r)||dt(r)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&e&&t.callee===e&&t.arguments.length>0)return He(t.arguments[0],r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&("Property"===e.type||"ObjectProperty"===e.type))return He(e,r),!0;return!1}(r)||Et(r,n,u)||function(r){const{enclosingNode:e}=r;if(e&&"TypeAlias"===e.type)return He(e,r),!0;return!1}(r)||function(r){const{enclosingNode:e,followingNode:t}=r;if(e&&("VariableDeclarator"===e.type||"AssignmentExpression"===e.type)&&t&&("ObjectExpression"===t.type||"ArrayExpression"===t.type||"TemplateLiteral"===t.type||"TaggedTemplateExpression"===t.type||rt(r)))return He(t,r),!0;return!1}(r)},handleRemainingComment:function(r,e,t,n,u){return!!(kt(r)||lt(r,e)||vt(r,e)||function(r){const{precedingNode:e,enclosingNode:t}=r;if(t&&("ObjectProperty"===t.type||"Property"===t.type)&&t.shorthand&&t.key===e&&"AssignmentPattern"===t.value.type)return Ke(t.value.left,r),!0;return!1}(r)||function(r,e){if(")"!==$e(e,r,ft))return!1;const{enclosingNode:t}=r;if(t&&(ht(t)&&0===et(t).length||("CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type)&&0===t.arguments.length))return Qe(t,r),!0;if(t&&"MethodDefinition"===t.type&&0===et(t.value).length)return Qe(t.value,r),!0;return!1}(r,e)||bt(r,e)||Et(r,n,u)||function(r,e){const{enclosingNode:t}=r;if(!t||"ArrowFunctionExpression"!==t.type)return!1;const n=Ze(e,r,ft);if(!1!==n&&"=>"===e.slice(n,n+2))return Qe(t,r),!0;return!1}(r,e)||function(r,e){if("("!==$e(e,r,ft))return!1;const{precedingNode:t,enclosingNode:n}=r;if(t&&n&&("FunctionDeclaration"===n.type||"FunctionExpression"===n.type||"ClassMethod"===n.type||"MethodDefinition"===n.type||"ObjectMethod"===n.type))return Ke(t,r),!0;return!1}(r,e)||function(r){const{precedingNode:e,enclosingNode:t,followingNode:n}=r;if(!t||"TSMappedType"!==t.type)return!1;if(n&&"TSTypeParameter"===n.type&&n.name)return He(n.name,r),!0;if(e&&"TSTypeParameter"===e.type&&e.constraint)return Ke(e.constraint,r),!0;return!1}(r)||function(r){const{enclosingNode:e}=r;if(e&&("ContinueStatement"===e.type||"BreakStatement"===e.type)&&!e.label)return Ke(e,r),!0;return!1}(r)||function(r,e){const{enclosingNode:t,followingNode:n}=r;if(!n&&t&&("TSMethodSignature"===t.type||"TSDeclareFunction"===t.type||"TSAbstractMethodDefinition"===t.type)&&";"===$e(e,r,ft))return Ke(t,r),!0;return!1}(r,e))},hasLeadingComment:function(r,e=(()=>!0)){return r.leadingComments?r.leadingComments.some(e):!!r.comments&&r.comments.some((r=>r.leading&&e(r)))},isTypeCastComment:yt,getGapRegex:function(r){if(r&&"BinaryExpression"!==r.type&&"LogicalExpression"!==r.type)return/^[\s&(|]*$/},getCommentChildNodes:function(r,e){if(("typescript"===e.parser||"flow"===e.parser||"espree"===e.parser||"meriyah"===e.parser)&&"MethodDefinition"===r.type&&r.value&&"FunctionExpression"===r.value.type&&0===et(r.value).length&&!r.value.returnType&&(!r.value.typeParameters||0===r.value.typeParameters.length)&&r.value.body)return[...r.decorators||[],r.key,r.value.body]},willPrintOwnComments:function(r){const e=r.getValue(),t=r.getParentNode();return(e&&(nt(e)||ut(e)||t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&(at(e.leadingComments)||at(e.trailingComments)))||t&&("JSXSpreadAttribute"===t.type||"JSXSpreadChild"===t.type||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type||("ClassDeclaration"===t.type||"ClassExpression"===t.type)&&t.superClass===e))&&(!it(r)||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type)}};const{getLast:wt,getNextNonSpaceNonCommentCharacter:At,getShebang:_t}=Pr,{composeLoc:gt,locStart:Bt,locEnd:St}=Yr,{isTypeCastComment:xt}=Ct;function Tt(r){return"CallExpression"===r.type?(r.type="OptionalCallExpression",r.callee=Tt(r.callee)):"MemberExpression"===r.type?(r.type="OptionalMemberExpression",r.object=Tt(r.object)):"TSNonNullExpression"===r.type&&(r.expression=Tt(r.expression)),r}function It(r,e){let t;if(Array.isArray(r))t=r.entries();else{if(!r||"object"!=typeof r||"string"!=typeof r.type)return r;t=Object.entries(r)}for(const[n,u]of t)r[n]=It(u,e);return Array.isArray(r)?r:e(r)||r}function Nt(r){return"LogicalExpression"===r.type&&"LogicalExpression"===r.right.type&&r.operator===r.right.operator}function Ot(r){return Nt(r)?Ot({type:"LogicalExpression",operator:r.operator,left:Ot({type:"LogicalExpression",operator:r.operator,left:r.left,right:r.right.left,range:gt(r.left,r.right.left)}),right:r.right.right,range:gt(r)}):r}var Lt=function(e,t){if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser||function(r,e){const t=_t(e.originalText);t&&r.comments.unshift({type:"Line",value:t.slice(2),range:[0,t.length]})}(e,t),"typescript"===t.parser&&t.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:u}=t.tsParseResult;e=It(e,(e=>{const t=n.get(e);if(!t)return;const a=t.decorators;if(!Array.isArray(a))return;const i=u.get(t);if(i!==e)return;const c=i.decorators;if(!Array.isArray(c)||c.length!==a.length||a.some((r=>{const e=u.get(r);return!e||!c.includes(e)}))){const{start:e,end:t}=i.loc;throw r("Leading decorators must be attached to a class declaration",{start:{line:e.line,column:e.column+1},end:{line:t.line,column:t.column+1}})}}))}if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const r=new Set;e=It(e,(e=>{e.leadingComments&&e.leadingComments.some(xt)&&r.add(Bt(e))})),e=It(e,(e=>{if("ParenthesizedExpression"===e.type){const{expression:t}=e;if("TypeCastExpression"===t.type)return t.range=e.range,t;const n=Bt(e);if(!r.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return e=It(e,(r=>{switch(r.type){case"ChainExpression":return Tt(r.expression);case"LogicalExpression":if(Nt(r))return Ot(r);break;case"VariableDeclaration":{const e=wt(r.declarations);e&&e.init&&function(r,e){if(";"===t.originalText[St(e)])return;r.range=gt(r,e)}(r,e);break}case"TSParenthesizedType":return r.typeAnnotation.range=gt(r),r.typeAnnotation;case"TSUnionType":case"TSIntersectionType":if(1===r.types.length){const[e]=r.types;return e.range=gt(r),e}break;case"TSTypeParameter":"string"==typeof r.name&&(r.name={type:"Identifier",name:r.name,range:gt(r,r.name.length)});break;case"SequenceExpression":{const e=wt(r.expressions);St(r)>St(e)&&(r.range=gt(r,e));break}case"ClassProperty":r.key&&"TSPrivateIdentifier"===r.key.type&&"?"===At(t.originalText,r.key,St)&&(r.optional=!0)}}))};const Pt=()=>!1,Rt=()=>"";var Mt={existsSync:Pt,readFileSync:Rt},jt=Object.freeze({__proto__:null,existsSync:Pt,readFileSync:Rt,default:Mt}),Ut=Object.freeze({__proto__:null,default:{}}),Xt=t(jt),Gt=t(Ut),Jt=e((function(r,e){!function(r){var t="member_property_expression",n=8483,u=12538,a="??",i="children",c="predicate_expression",f="Identifier",o=68107,s=64311,l=192,v=71369,D=11710,p=43597,b=110947,F=67591,m="directive",d=121504,E=69871,k=12347,h=126553,y="block",C=68096,w="params",A=93071,_=72767,g=122,B="for_statement",S=128,x=70873,T="start",I=43867,N="_method",O=70414,L=">",P="catch_body",R=120121,M="the end of an expression statement (`;`)",j=126558,U="jsx_fragment",X=69733,G=42527,J="decorators",q=82943,z=71039,W=8472,V="update",$=43205,Y=12783,H=12438,K=12352,Q=8511,Z=120713,rr="method",er=8191,tr="function_param",nr=67871,ur="throw",ar="class_extends",ir=43470,cr=11507,fr=71903,or=65437,sr=70840,lr=119995,vr=43311,Dr="jsx_child",pr=67637,br=68116,Fr=66204,mr=65470,dr=67391,Er=11631,kr=66729,hr=69956,yr="tparams",Cr=66735,wr=42623,Ar=43697,_r=64217,gr="Invalid binary/octal ",Br=70399,Sr=42864,xr=120487,Tr=73110,Ir=43255,Nr="do",Or=43301,Lr="binding_pattern",Pr=72759,Rr=110878,Mr="package",jr=72750,Ur="interface_declaration",Xr=119892,Gr="tail",Jr=111,qr=8417,zr=119807,Wr=65613,Vr="type",$r=68159,Yr=55215,Hr="export_default_declaration_decl",Kr=72970,Qr=70416,Zr=72881,re=43451,ee="function_this_param",te="module",ne="try",ue=70143,ae=125183,ie=70412,ce="@])",fe="binary",oe="infinity",se="private",le=65500,ve="has_unknown_members",De="pattern_array_rest_element",pe="Property",be=65343,Fe="implements",me=12548,de="if_alternate_statement",Ee=43395,ke="src/parser/type_parser.ml",he=126552,ye=66915,Ce=120712,we=126555,Ae=68326,_e=120596,ge="raw",Be=112,Se=126624,xe="statement",Te="meta_property",Ie=71235,Ne=44002,Oe=8467,Le=8318,Pe="class_property_value",Re=8203,Me=69816,je="optional_call",Ue=43761,Xe="kind",Ge=71230,Je="class_identifier",qe=69955,ze=68220,We=66378,Ve=110,$e=123583,Ye=120512,He=119154,Ke="declare",Qe=71228,Ze=11742,rt=70831,et="catch_clause",tt=8468,nt=72886,ut=121343,at="for_in_assignment_pattern",it="object_",ct=70499,ft=43262,ot="mixins",st="visit_trailing_comment",lt="type_param",vt=72147,Dt=69758,pt=71839,bt="expected *",Ft="boolean",mt="call",dt=43010,Et="expression",kt="column",ht=43258,yt=43595,Ct=191456,wt=117,At=43754,_t=126544,gt=8416,Bt="Assert_failure",St=66517,xt=42863,Tt="enum_number_member",It="a string",Nt=119993,Ot=43394,Lt=65855,Pt="opaque",Rt=870530776,Mt=72880,jt=67711,Ut="enum_symbol_body",Jt="filter",qt=126560,zt=43615,Wt="get",Vt=64316,$t=122917,Yt="exported",Ht=71099,Kt="return",Qt=70516,Zt="members",rn=64279,en=67829,tn="src/parser/expression_parser.ml",nn="(global)",un="Enum `",an="object_property",cn=67589,fn="pattern_object_property",on=127343600,sn="template_literal_element",ln=70452,vn="class_element",Dn=71131,pn=120137,bn=94098,Fn=72349,mn="function_identifier",dn=126543,En=43487,kn="@[<2>{ ",hn=72849,yn=70393,Cn=72191,wn=65908,An=120513,_n=92909,gn=70195,Bn="bound",Sn=8399,xn=43566,Tn=120070,In="update_expression",Nn="enum_number_body",On=69941,Ln=123631,Pn="spread_element",Rn=70401,Mn=64319,jn=12703,Un=11687,Xn="@,))@]",Gn="%d",Jn=42239,qn="type_cast",zn=42508,Wn=71735,Vn=43643,$n="class_implements_interface",Yn=67640,Hn=605857695,Kn="handler",Qn=66207,Zn=11558,ru=113775,eu=113,tu=126540,nu="collect_comments",uu="set",au="assignment_pattern",iu="right",cu=94087,fu=72751,ou="object_key_identifier",su=120133,lu="Invalid number ",vu=8580,Du=68023,pu=43798,bu=12539,Fu=100,mu="pattern_literal",du="generic_type",Eu="Lookahead.peek failed",ku=93017,hu=42890,yu=43766,Cu=42783,wu="else",Au=70851,_u="the start of a statement",gu=113820,Bu="properties",Su=94094,xu=71481,Tu=43696,Iu=70474,Nu="declare_function",Ou=120597,Lu=110959,Pu="object_indexer_property_type",Ru=70492,Mu=173782,ju=43042,Uu=107,Xu="arguments",Gu="comments",Ju=67431,qu="line",zu="pattern_identifier",Wu="declaration",Vu="static",$u=72883,Yu=69958,Hu=68100,Ku=72783,Qu=11310,Zu=43814,ra="annot",ea=119179,ta=65786,na=66303,ua=64967,aa=64255,ia=8584,ca=71350,fa=120655,oa="Stack_overflow",sa=43700,la="syntax_opt",va=68921,Da="comprehension",pa=65295,ba="Not_found",Fa=68680,ma=64324,da=72966,Ea=-1053382366,ka="rest",ha="pattern_array_element",ya=65595,Ca="pattern_array_e",wa=122916,Aa=43711,_a=69926,ga="symbol",Ba=42725,Sa=70092,xa=43741,Ta="typeParameters",Ia="const",Na=72847,Oa=12341,La=66271,Pa="false",Ra=71104,Ma=106,ja=120076,Ua=128,Xa=125124,Ga=73460,Ja=11743,qa=67593,za=44031,Wa=43449,Va=92927,$a=68095,Ya=42945,Ha=8231,Ka=121519,Qa=43453,Za="object_key_computed",ri="labeled_statement",ei="function_param_pattern",ti=65481,ni=43442,ui="collect_comments_opt",ai=126590,ii="_",ci="variable_declarator",fi=67967,oi="computed",si="object_property_type",li=126562,vi=114,Di="comment_bounds",pi="id",bi=70853,Fi=42237,mi="class_private_field",di=72329,Ei=43001,ki=8412,hi="Invalid_argument",yi=113770,Ci=120092,wi="declare_class",Ai=94031,_i=67839,gi=43570,Bi=72250,Si=92879,xi="prototype",Ti=8287,Ii=70370,Ni="`.",Oi=65344,Li=12542,Pi=123641,Ri=42950,Mi="Internal Error: Found private field in object props",ji="sequence",Ui="debugger",Xi="call_type_args",Gi=12348,Ji=68863,qi=70084,zi="label",Wi=70193,Vi=-45,$i="jsx_opening_attribute",Yi=119364,Hi=43583,Ki="%F",Qi=43784,Zi="call_arguments",rc=113791,ec=126503,tc=43743,nc=917999,uc="0",ac=93007,ic=119967,cc=44012,fc=42621,oc=126538,sc="new_",lc=449540197,vc=68466,Dc=64109,pc=177983,bc=248,Fc="@,]@]",mc="program",dc=68031,Ec="type_",kc="function_type",hc=67382,yc=8484,Cc=8205,wc=42537,Ac=73022,_c=66559,gc=65074,Bc=11775,Sc=71236,xc=64274,Tc=120069,Ic=72105,Nc=126570,Oc="object",Lc="for_of_statement",Pc="break",Rc=43047,Mc=43695,jc=70501,Uc=126551,Xc=126520,Gc=70477,Jc=66045,qc=66499,zc=1024,Wc=43018,Vc=73103,$c=71471,Yc=126522,Hc=119140,Kc="function_declaration",Qc=73064,Zc=92728,rf=73105,ef=70418,tf="await",nf=68119,uf="function_rest_param",af=73119,cf=42653,ff=11703,of="left",sf=70449,lf="declare_type_alias",vf=16777215,Df=121475,pf=70302,bf=119142,Ff=55242,mf=70470,df=126583,Ef=124927,kf=72959,hf=65497,yf="Invalid legacy octal ",Cf="typeof",wf="explicit_type",Af="statement_list",_f=65495,gf="class_method",Bf=119994,Sf=71935,xf=67861,Tf=8526,If=69762,Nf="enum",Of=2147483647,Lf=119170,Pf=11702,Rf="in",Mf=67638,jf="super",Uf=126504,Xf=8304,Gf="import_specifier",Jf=177972,qf=68324,zf=67646,Wf="expression_or_spread",Vf=43792,$f=74879,Yf=-82,Hf=43260,Kf="internal",Qf=93052,Zf=125258,ro=65574,eo=224,to="instanceof",no=69599,uo=44007,ao=43560,io="function_expression",co=223,fo=121476,oo=72242,so=11498,lo=126467,vo=73112,Do=44008,po=70107,bo=13311,Fo="jsx_children",mo=126548,Eo=63743,ko=43471,ho=113822,yo=122887,Co="jsx_expression",wo=69864,Ao=126591,_o=126578,go=12592,Bo="type_params",So=119148,xo=8420,To=126537,Io=123627,No="{ ",Oo="jsx_spread_attribute",Lo=70161,Po=70468,Ro="@,",Mo=42606,jo=126500,Uo="number_literal_type",Xo="label_identifier",Go=72884,Jo=42999,qo=64310,zo=-594953737,Wo="hasUnknownMembers",Vo=92982,$o="array",Yo=65615,Ho="enum_string_member",Ko="void",Qo=65135,Zo=")",rs="let",es=70002,ts=70735,ns=70271,us="nan",as="@[%s =@ ",is=194559,cs=42735,fs="/",os="for_in_statement_lhs",ss=68154,ls=43503,vs=8516,Ds=65381,ps="TypeParameterInstantiation",bs=83526,Fs=71339,ms="number",ds=70286,Es=12447,ks=72160,hs=43493,ys=70487,Cs=70280,ws="function",As=70162,_s=255,gs=67702,Bs=66771,Ss=42895,xs=121452,Ts=8432,Is=40959,Ns="unreachable",Os=70312,Ls="End_of_file",Ps=93759,Rs=8494,Ms=43709,js="new",Us="Failure",Xs="local",Gs="with",Js=8489,qs="enum_declaration",zs=121460,Ws="member",Vs=70457,$s=64325,Ys=8488,Hs=70448,Ks=69967,Qs=126535,Zs=71934,rl=65312,el=43135,tl=12446,nl="import_named_specifier",ul=126619,al=44025,il=70196,cl="type_annotation",fl=8188,ol=65071,sl=131071,ll=120770,vl=12440,Dl="with_",pl="statement_fork_point",bl="finalizer",Fl=71133,ml=12320,dl="elements",El="literal",kl=68607,hl=8507,yl=122913,Cl="each",wl="Sys_error",Al="bigint_literal_type",_l=69818,gl=11727,Bl=64829,Sl=120538,xl="type_alias",Tl="member_private_name",Il=126556,Nl="tagged_template",Ol="pattern_object_property_literal_key",Ll=72192,Pl=67826,Rl=44013,Ml=70745,jl=72153,Ul=66511,Xl=43249,Gl=11646,Jl="None",ql="int_of_string",zl="FunctionTypeParam",Wl="name",Vl=70285,$l=103,Yl=12288,Hl=120744,Kl="intersection_type",Ql=11679,Zl=11559,rv=71295,ev=70205,tv="callee",nv=70018,uv=11567,av="predicate",iv="expression_statement",cv="regexp",fv=44011,ov=123209,sv=65479,lv=11389,vv=43568,Dv="optional",pv=-602162310,bv="@]",Fv=92777,mv=120003,dv=72249,Ev="Unexpected ",kv=73008,hv="finally",yv="toplevel_statement_list",Cv=178207,wv=65055,Av=70301,_v=72161,gv=70460,Bv=12799,Sv="loc",xv=65535,Tv=69375,Iv=43518,Nv=65487,Ov="while_",Lv=44004,Pv=183983,Rv=-673950933,Mv=42559,jv=121398,Uv="jsx_name",Xv=55291,Gv=71452,Jv=70078,qv=8239,zv=-253313196,Wv="mixed",Vv=70403,$v=67827,Yv=11734,Hv=101106,Kv=68287,Qv=119976,Zv=72151,rD=73129,eD=73102,tD=73017,nD=" =",uD=888960333,aD="tuple_type",iD=126602,cD=73111,fD=70726,oD=126529,sD="object_property_value_type",lD="%a",vD=69423,DD=120831,pD=120781,bD=11695,FD=11711,mD=12294,dD=67583,ED=122879,kD=126584,hD=72703,yD=68295,CD="prefix",wD=43871,AD=69415,_D=11492,gD="class",BD=12333,SD=65575,xD=42894,TD="continue",ID=119145,ND=65663,OD=68120,LD=782176664,PD=120779,RD=71247,MD=71086,jD=19967,UD=70849,XD=8486,GD=" ",JD=66863,qD="RestElement",zD="Undefined_recursive_module",WD=126634,VD=74751,$D=66377,YD=43334,HD=43481,KD=66815,QD=11311,ZD="typeAnnotation",rp=120126,ep=69743,tp="array_element",np=64285,up="Set.bal",ap=8578,ip=8543,cp="()",fp="declare_module",op=122886,sp=">>>=",lp=68029,vp="importKind",Dp="extends",pp=72345,bp=64296,Fp=43259,mp=71679,dp=64913,Ep=119969,kp=94175,hp=72440,yp=65141,Cp=43071,wp="function_",Ap=65391,_p=44010,gp=42888,Bp=69807,Sp="variance",xp=123,Tp=12730,Ip="import_default_specifier",Np=43764,Op="pattern",Lp=70655,Pp=70464,Rp="consequent",Mp=68447,jp=65473,Up="call_type_arg",Xp=8238,Gp=73019,Jp=121498,qp=68899,zp=93026,Wp=44015,Vp="@[<2>[",$p="comment",Yp=65439,Hp="switch_case",Kp="do_while",Qp=43215,Zp="constructor",rb=43586,eb=43587,tb="yield",nb=-61,ub="target",ab=72272,ib="var",cb=70108,fb="impltype",ob="0o",sb=119972,lb=92991,vb=43391,Db=70441,pb=8450,bb=72278,Fb=120074,mb=43044,db=66717,Eb="interface_type",kb="%B",hb=70472,yb=122914,Cb=111355,wb=5760,Ab=11630,_b=126499,gb=40943,Bb=108,Sb=120629,xb="Popping lex mode from empty stack",Tb=65103,Ib=42611,Nb=195101,Ob=42607,Lb=126539,Pb="([^/]*)",Rb=126502,Mb=125135,jb="template_literal",Ub=68903,Xb="src/parser/statement_parser.ml",Gb=72758,Jb=11519,qb=11387,zb="Out_of_memory",Wb=12287,Vb=120570,$b=72164,Yb=126534,Hb=65076,Kb=44005,Qb="index out of bounds",Zb=73029,rF=72873,eF="))",tF="for_statement_init",nF=126571,uF="supertype",aF="class_property",iF=92916,cF="this",fF="}",oF=71095,sF="declare_module_exports",lF="union_type",vF=65535,DF=94032,pF=42124,bF="this_expression",FF="jsx_element",mF=65019,dF=125251,EF=64111,kF="typeArguments",hF=8254,yF=8471,CF=70497,wF=71359,AF=8202,_F="EnumDefaultedMember",gF="switch",BF=69634,SF="unary_expression",xF=71215,TF=126,IF=65597,NF=67679,OF=120686,LF=72163,PF=-983660142,RF=70197,MF=64262,jF=124,UF=65279,XF=126495,GF=69456,JF=65342,qF="alternate",zF=92975,WF=65489,VF=125142,$F=67807,YF=43187,HF="export",KF=68850,QF=66383,ZF=".",rm="type_args",em=72155,tm=70508,nm=92159,um=72283,am=43644,im=42737,cm=116,fm=75075,om=70279,sm=65338,lm="function_params",vm=126627,Dm=73065,pm=72872,bm=43762,Fm=119970,mm=71352,dm=68158,Em=12295,km=70005,hm=120771,ym=11557,Cm=42191,wm="flags",Am=70088,_m=68437,gm=66368,Bm="pattern_object_p",Sm=70730,xm=42785,Tm="nullable_type",Im="value",Nm=12343,Om="%.12g",Lm=71089,Pm=68415,Rm=11694,Mm=69887,jm=917759,Um=11726,Xm="syntax",Gm=119964,Jm=68497,qm=73097,zm=126523,Wm="null",Vm=120084,$m=126601,Ym=8454,Hm="expressions",Km=72144,Qm="(@[",Zm=12448,rd=121503,ed=68786,td="<",nd=43443,ud="an identifier",ad=43309,id=68799,cd="leadingComments",fd=72969,od=100351,sd=42231,ld="enum_defaulted_member",vd=69839,Dd=94026,pd=70724,bd=12336,Fd=73018,md=42605,dd="empty",Ed=331416730,kd=123199,hd=70479,yd=43123,Cd=43494,wd=8319,Ad=12591,_d=12335,gd=125,Bd=92735,Sd="cases",xd=70199,Td=183969,Id=71455,Nd="bigint",Od="Division_by_zero",Ld=67071,Pd=12329,Rd=43609,Md=120004,jd=69414,Ud="if",Xd=126519,Gd="immediately within another function.",Jd=55238,qd=12346,zd=126498,Wd=73031,Vd=8504,$d=69940,Yd=66256,Hd="@ }@]",Kd=73106,Qd=72765,Zd=118,rE=11565,eE=120122,tE=74862,nE=68099,uE="'",aE="pattern_object_rest_property",iE=-26065557,cE=119,fE="assignment",oE=42943,sE=104,lE=8457,vE="from",DE=64321,pE=113817,bE=65629,FE=43765,mE=70378,dE=42655,EE=102,kE=43137,hE=11502,yE=";@ ",CE=101,wE="pattern_array_element_pattern",AE="body",_E="jsx_member_expression",gE=65547,BE="jsx_attribute_value",SE=72967,xE=126550,TE="jsx_namespaced_name",IE=43807,NE=43738,OE=126589,LE=8455,PE=126628,RE=11670,ME=120134,jE="conditional",UE=119965,XE=43599,GE=69890,JE=72817,qE=43822,zE=43638,WE=93047,VE=64322,$E="AssignmentPattern",YE=123190,HE=72383,KE="object_spread_property_type",QE=113663,ZE=70783,rk=42622,ek=43823,tk=70367,nk="init",uk=71461,ak=109,ik=66503,ck="proto",fk=74649,ok="optional_member",sk=40981,lk=120654,vk="@ ",Dk="enum_boolean_body",pk=119361,bk=73108,Fk="export_named_specifier",mk=123183,dk="declare_interface",Ek=120539,kk=70451,hk=64317,yk="pattern_object_property_computed_key",Ck=12543,wk="export_named_declaration_specifier",Ak=43359,_k=43967,gk=113800,Bk=126530,Sk=72713,xk=72103,Tk=70278,Ik="if_consequent_statement",Nk=8275,Ok=126496,Lk="try_catch",Pk="computed_key",Rk="class_",Mk=173823,jk="pattern_object_property_identifier_key",Uk=71913,Xk=8485,Gk="arrow_function",Jk=68151,qk=126546,zk="enum_boolean_member",Wk=94177,Vk="delete",$k="blocks",Yk="pattern_array_rest_element_pattern",Hk=78894,Kk=69881,Qk=66512,Zk=94111,rh="test",eh="string",th=71467,nh=66463,uh=66335,ah=43263,ih=73061,ch=72348,fh=":",oh="function_this_param_type",sh=77823,lh="minus",vh=119980,Dh="private_name",ph=72263,bh="object_key",Fh="function_param_type",mh=11718,dh="as",Eh="delegate",kh="true",hh=119213,yh=71232,Ch=67413,wh=73439,Ah=70854,_h=120628,gh=43776,Bh=43513,Sh=71723,xh=11505,Th=120127,Ih=73039,Nh="Map.bal",Oh="any",Lh=126559,Ph=43596,Rh="import",Mh=70404,jh="jsx_spread_child",Uh=67897,Xh=8233,Gh=119974,Jh=68405,qh=66639,zh="attributes",Wh="object_internal_slot_property_type",Vh=43225,$h=71351,Yh=71349,Hh=70383,Kh=67643,Qh="shorthand",Zh="for_in_statement",ry=126463,ey=71338,ty=69702,ny=92767,uy=69445,ay=65370,iy=73055,cy=73021,fy=64911,oy="pattern_object_property_pattern",sy=70206,ly=126579,vy=72343,Dy=64286,py=94030,by="explicitType",Fy=67669,my=43866,dy="Sys_blocked_io",Ey=71093,ky=123197,hy="catch",yy=64466,Cy=70463,wy=65140,Ay=73030,_y=69404,gy=66272,By="protected",Sy=43631,xy=120571,Ty="array_type",Iy=43713,Ny="export_default_declaration",Oy="quasi",Ly="%S",Py=126515,Ry=120485,My=8525,jy=43519,Uy=125263,Xy=120745,Gy=94178,Jy=71229,qy=126588,zy=127,Wy=19893,Vy=66855,$y="visit_leading_comment",Yy=67742,Hy=120144,Ky=43632,Qy="returnType",Zy=240,rC=-744106340,eC="-",tC=68911,nC=8469,uC="async",aC=126521,iC=72095,cC=" : file already exists",fC=70725,oC=65039,sC=178205,lC=8449,vC=94179,DC=42774,pC="case",bC=66431,FC="targs",mC="declare_export_declaration",dC=43013,EC=64284,kC=43815,hC="function_body_any",yC=120687,CC="public",wC=70003,AC=68115,_C=125273,gC=65598,BC=72262,SC=43712,xC=126547,TC=70095,IC=110591,NC="interface",OC=-46,LC="string_literal_type",PC="import_namespace_specifier",RC=120132,MC=68102,jC=11735,UC=70751,XC=119893,GC="bool",JC="default",qC="",zC="exportKind",WC="trailingComments",VC="^",$C=8348,YC=65594,HC="logical",KC="cooked",QC="argument",ZC=63,rw=72202,ew=12442,tw=120085,nw=43645,uw=70749,aw=42539,iw=126468,cw="Match_failure",fw=68191,ow="src/parser/flow_ast.ml",sw=72280,lw=43572,vw=71102,Dw=11647,pw="declare_variable",bw="+",Fw=71127,mw=43740,dw=120145,Ew=64318,kw="declare_export_declaration_decl",hw=43755,yw="class_implements",Cw="inexact",ww=119172,Aw="a",_w=73062,gw=8493,Bw=65100,Sw=70863,xw=65278,Tw="function_rest_param_type",Iw=-696510241,Nw=70066,Ow=43714,Lw=70480,Pw=113788,Rw=94207,Mw="class_body",jw=126651,Uw=119996,Xw=70719,Gw=68735,Jw=43456,qw=43273,zw=119209,Ww=67644,Vw="boolean_literal_type",$w="catch_clause_pattern",Yw=126554,Hw=126536,Kw=113807,Qw=126557,Zw=43046,rA="property",eA=123213,tA="for_of_assignment_pattern",nA="if_statement",uA=66421,aA=8505,iA="Literal",cA=100343,fA=71257,oA=42887,sA=115,lA=43574,vA=126566,DA=93823,pA=66719,bA="opaque_type",FA="jsx_attribute",mA="type_annotation_hint",dA=92911,EA=73727,kA=72871,hA="range",yA="jsError",CA=70458,wA=70006,AA=71726,_A=43492,gA="@]}",BA="(Some ",SA=43345,xA=43231,TA=8477,IA=11359,NA=121461,OA=126564,LA=126514,PA=70080,RA="generic_identifier_type",MA=71738,jA=66811,UA=8256,XA=43759,GA=65007,JA="pattern_object_rest_property_pattern",qA=70319,zA=66461,WA=11719,VA=72271,$A=-48,YA=70461,HA="export_named_declaration",KA="enum_string_body",QA=110930,ZA=73014,r_=70440,e_="while",t_="camlinternalFormat.ml",n_=43782,u_=11263,a_=11358,i_=1114111,c_=73462,f_=70750,o_=70105,s_="jsx_identifier",l_=71101,v_=43014,D_=11564,p_="typeof_type",b_=64847,F_=92995,m_=71226,d_=71167,E_=42511,k_=72712,h_=121,y_=43704,C_=12293,w_="object_call_property_type",A_=64433,__="operator",g_=68296,B_="class_decorator",S_=120,x_="for_of_statement_lhs",T_=11623,I_=110927,N_=70708,O_=512,L_=71423,P_=93951,R_=12292,M_="object_type",j_="types",U_=69951,X_=8286,G_=126633,J_=12686,q_=73049,z_=72793,W_="0x",V_=70855,$_=70511,Y_=70366,H_=65276,K_="variable_declaration",Q_=43203,Z_=119981,rg=69814,eg=43887,tg=105,ng=122922,ug=8335,ag=70187,ig=70190,cg=69631,fg="source",og="pattern_object_property_key",sg=70842,lg=65548,vg=66175,Dg=92766,pg="pattern_assignment_pattern",bg=42998,Fg=8305,mg="generator",dg="for",Eg=121402,kg=-36,hg=68223,yg=66044,Cg=43757,wg=122906,Ag=43790,_g=11686,gg="jsx_closing_element",Bg=69687,Sg=72162,xg=66348,Tg=43388,Ig=72768,Ng=68351,Og="<2>",Lg=70015,Pg=64297,Rg=125259,Mg=",@ ",jg=42651,Ug=70486,Xg=70281,Gg=66426,Jg=43347,qg=68149,zg=68111,Wg="member_property_identifier",Vg=71450,$g=72254,Yg=43009,Hg="member_property",Kg=73458,Qg="identifier",Zg=67423,rB=40980,eB=66775,tB=110951,nB="Internal Error: Found object private prop",uB=8276,aB="super_expression",iB="jsx_opening_element",cB="variable_declarator_pattern",fB="pattern_expression",oB=68252,sB=-835925911,lB="import_declaration",vB=55203,DB="key",pB=126563,bB=43702,FB="spread_property",mB=863850040,dB=70106,EB=67592,kB=123214,hB=68479,yB=43879,CB=65305,wB=43019,AB=123180,_B=69622,gB=8487,BB="specifiers",SB="function_body",xB=43641,TB="Unexpected token `",IB=122904,NB=123135,OB=120093,LB=119162,PB=65023,RB=8521,MB=43642;function jB(r,e){throw[0,r,e]}var UB=[0];function XB(r,e){if("function"==typeof e)return r.fun=e,0;if(e.fun)return r.fun=e.fun,0;for(var t=e.length;t--;)r[t]=e[t];return 0}function GB(r,e,t){for(var n=new Array(t),u=0;u=t.l||2==t.t&&u>=t.c.length))t.c=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else if(2==t.t&&n==t.c.length)t.c+=4==r.t?JB(r.c,e,u):0==e&&r.c.length==u?r.c:r.c.substr(e,u),t.t=t.c.length==t.l?0:2;else{4!=t.t&&qB(t);var a=r.c,i=t.c;if(4==r.t)if(n<=e)for(var c=0;c=0;c--)i[n+c]=a[e+c];else{var f=Math.min(u,a.length-e);for(c=0;c>=1))return t;e+=e,9==++n&&e.slice(0,1)}}function $B(r){2==r.t?r.c+=VB(r.l-r.c.length,"\0"):r.c=JB(r.c,0,r.c.length),r.t=0}function YB(r){if(r.length<24){for(var e=0;ezy)return!1;return!0}return!/[^\x00-\x7f]/.test(r)}function HB(r){switch(r.t){case 9:return r.c;default:$B(r);case 0:if(YB(r.c))return r.t=9,r.c;r.t=8;case 8:return function(r){for(var e,t,n,u,a=qC,i=qC,c=0,f=r.length;cO_?(i.substr(0,1),a+=i,i=qC,a+=r.slice(c,o)):i+=r.slice(c,o),o==f)break;c=o}u=1,++c=55295&&u<57344)&&(u=2):(u=3,++c1114111)&&(u=3))))),u<4?(c-=u,i+="\ufffd"):i+=u>vF?String.fromCharCode(55232+(u>>10),56320+(1023&u)):String.fromCharCode(u),i.length>zc&&(i.substr(0,1),a+=i,i=qC)}return a+i}(r.c)}}function KB(r,e,t){this.t=r,this.c=e,this.l=t}function QB(r){return new KB(0,r,r.length)}function ZB(r,e){jB(r,QB(e))}function rS(r){ZB(UB.Invalid_argument,r)}function eS(){rS(Qb)}function tS(r,e,t){if(t&=255,4!=r.t){if(e==r.c.length)return r.c+=String.fromCharCode(t),e+1==r.l&&(r.t=0),0;qB(r)}return r.c[e]=t,0}function nS(r,e,t){return e>>>0>=r.l&&eS(),tS(r,e,t)}function uS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function aS(r,e){if(r.fun)return aS(r.fun,e);var t=r.length,n=e.length,u=t-n;return 0==u?r.apply(null,e):u<0?aS(r.apply(null,GB(e,0,t)),GB(e,t,n-t)):function(t){return aS(r,function(r,e){for(var t=r.length,n=new Array(t+1),u=0;u>>0>=r.length-1&&rS(Qb),r}function cS(r,e){var t=r[3]<<16,n=e[3]<<16;return t>n?1:te[2]?1:r[2]e[1]?1:r[1]e.c?1:0}function sS(r,e,t){for(var n=[];;){if(!t||r!==e)if(r instanceof KB){if(!(e instanceof KB))return 1;if(r!==e&&0!=(i=oS(r,e)))return i}else if(r instanceof Array&&r[0]===(0|r[0])){var u=r[0];if(254===u&&(u=0),250===u){r=r[1];continue}if(!(e instanceof Array&&e[0]===(0|e[0])))return 1;var a=e[0];if(254===a&&(a=0),250===a){e=e[1];continue}if(u!=a)return u1&&n.push(r,e,1)}}else{if(e instanceof KB||e instanceof Array&&e[0]===(0|e[0]))return-1;if("number"!=typeof r&&r&&r.compare){var c=r.compare(e,t);if(0!=c)return c}else if("function"==typeof r)rS("compare: functional value");else{if(re)return 1;if(r!=e){if(!t)return NaN;if(r==r)return 1;if(e==e)return-1}}}if(0==n.length)return 0;var f=n.pop();e=n.pop(),f+1<(r=n.pop()).length&&n.push(r,e,f+1),r=r[f],e=e[f]}}function lS(r,e){return sS(r,e,!0)}function vS(r){return r<0&&rS("Bytes.create"),new KB(r?2:9,qC,r)}function DS(r,e){return+(0==sS(r,e,!1))}function pS(r){ZB(UB.Failure,r)}function bS(r){return 0!=(6&r.t)&&$B(r),r.c}function FS(r){var e;if(e=+(r=bS(r)),r.length>0&&e==e)return e;if(e=+(r=r.replace(/_/g,qC)),r.length>0&&e==e||/^[+-]?nan$/i.test(r))return e;var t=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(r);if(t){var n=t[3].replace(/0+$/,qC),u=parseInt(t[1]+t[2]+n,16),a=(0|t[4])-4*n.length;return e=u*Math.pow(2,a)}return/^\+?inf(inity)?$/i.test(r)?1/0:/^-inf(inity)?$/i.test(r)?-1/0:void pS("float_of_string")}function mS(r){var e=(r=bS(r)).length;e>31&&rS("format_int: format too long");for(var t={justify:bw,signstyle:eC,filler:GD,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:"f"},n=0;n=0&&u<=9;)t.width=10*t.width+u,n++;n--;break;case".":for(t.prec=0,n++;(u=r.charCodeAt(n)-48)>=0&&u<=9;)t.prec=10*t.prec+u,n++;n--;case"d":case"i":t.signedconv=!0;case"u":t.base=10;break;case"x":t.base=16;break;case"X":t.base=16,t.uppercase=!0;break;case"o":t.base=8;break;case"e":case"f":case"g":t.signedconv=!0,t.conv=u;break;case"E":case"F":case"G":t.signedconv=!0,t.uppercase=!0,t.conv=u.toLowerCase()}}return t}function dS(r,e){r.uppercase&&(e=e.toUpperCase());var t=e.length;r.signedconv&&(r.sign<0||r.signstyle!=eC)&&t++,r.alternate&&(8==r.base&&(t+=1),16==r.base&&(t+=2));var n=qC;if(r.justify==bw&&r.filler==GD)for(var u=t;u=1e21||e.toFixed(0).length>n){for(a=i-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,a=(u=u.slice(0,a+1)+u.slice(i)).length,"e"==u.charAt(a-3)&&(u=u.slice(0,a-1)+uc+u.slice(a-1));break}var f=n;if(c<0)f-=c+1,u=e.toFixed(f);else for(;(u=e.toFixed(f)).length>n+1;)f--;if(f){for(a=u.length-1;u.charAt(a)==uc;)a--;u.charAt(a)==ZF&&a--,u=u.slice(0,a+1)}}else u="inf",t.filler=GD;return dS(t,u)}function kS(r,e){if(bS(r)==Gn)return QB(qC+e);var t=mS(r);e<0&&(t.signedconv?(t.sign=-1,e=-e):e>>>=0);var n=e.toString(t.base);if(t.prec>=0){t.filler=GD;var u=t.prec-n.length;u>0&&(n=VB(u,uc)+n)}return dS(t,n)}KB.prototype.toString=function(){return HB(this)},KB.prototype.slice=function(){var r=4==this.t?this.c.slice():this.c;return new KB(this.t,r,this.l)};var hS=0;function yS(){return hS++}var CS=[];function wS(r,e,t){var n=r[1],u=CS[t];if(null===u)for(var a=CS.length;a>1|1)+1]?f=i-2:c=i;return CS[t]=c+1,e==n[c+1]?n[c]:0}function AS(r,e){return+(sS(r,e,!1)>=0)}function _S(r){var e=9;return YB(r)||(e=8,r=function(r){for(var e,t,n=qC,u=n,a=0,i=r.length;aO_?(u.substr(0,1),n+=u,u=qC,n+=r.slice(a,c)):u+=r.slice(a,c),c==i)break;a=c}e<2048?(u+=String.fromCharCode(192|e>>6),u+=String.fromCharCode(Ua|e&ZC)):e<55296||e>=57343?u+=String.fromCharCode(224|e>>12,Ua|e>>6&ZC,Ua|e&ZC):e>=56319||a+1==i||(t=r.charCodeAt(a+1))<56320||t>57343?u+="\xef\xbf\xbd":(a++,e=(e<<10)+t-56613888,u+=String.fromCharCode(240|e>>18,Ua|e>>12&ZC,Ua|e>>6&ZC,Ua|e&ZC)),u.length>zc&&(u.substr(0,1),n+=u,u=qC)}return n+u}(r)),new KB(e,r,r.length)}function gS(r){return 0==(r[3]|r[2]|r[1])}function BS(r){return[_s,r&vf,r>>24&vf,r>>31&vF]}function SS(r){for(var e=r.length,t=new Array(e),n=0;n>24),u=r[3]-e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}function TS(r,e){return r[3]>e[3]?1:r[3]e[2]?1:r[2]e[1]?1:r[1]>23,r[2]=(r[2]<<1|r[1]>>23)&vf,r[1]=r[1]<<1&vf}function NS(r){r[1]=(r[1]>>>1|r[2]<<23)&vf,r[2]=(r[2]>>>1|r[3]<<23)&vf,r[3]=r[3]>>>1}function OS(r,e){for(var t=0,n=SS(r),u=SS(e),a=[_s,0,0,0];TS(n,u)>0;)t++,IS(u);for(;t>=0;)t--,IS(a),TS(n,u)>=0&&(a[1]++,n=xS(n,u)),NS(u);return[0,a,n]}function LS(r){return r[1]|r[2]<<24}function PS(r){var e=-r[1],t=-r[2]+(e>>24),n=-r[3]+(t>>24);return[_s,e&vf,t&vf,n&vF]}function RS(r){return r.l}function MS(r,e){switch(6&r.t){default:if(e>=r.c.length)return 0;case 0:return r.c.charCodeAt(e);case 4:return r.c[e]}}function jS(r,e){var t=r[1]+e[1],n=r[2]+e[2]+(t>>24),u=r[3]+e[3]+(n>>24);return[_s,t&vf,n&vf,u&vF]}var US=Math.pow(2,-24);function XS(r,e){var t=r[1]*e[1],n=(t*US|0)+r[2]*e[1]+r[1]*e[2],u=(n*US|0)+r[3]*e[1]+r[2]*e[2]+r[1]*e[3];return[_s,t&vf,n&vf,u&vF]}function GS(r,e){return TS(r,e)<0}function JS(r){var e=0,t=RS(r),n=10,u=1;if(t>0)switch(MS(r,e)){case 45:e++,u=-1;break;case 43:e++,u=1}if(e+1=48&&r<=57?r-48:r>=65&&r<=90?r-55:r>=97&&r<=g?r-87:-1}function zS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=BS(u),i=OS([_s,vf,268435455,vF],a)[1],c=MS(r,t),f=qS(c);(f<0||f>=u)&&pS(ql);for(var o=BS(f);;)if(95!=(c=MS(r,++t))){if((f=qS(c))<0||f>=u)break;GS(i,o)&&pS(ql),f=BS(f),GS(o=jS(XS(a,o),f),f)&&pS(ql)}return t!=RS(r)&&pS(ql),10==e[2]&&GS([_s,0,0,32768],o)&&pS(ql),n<0&&(o=PS(o)),o}function WS(r){return(r[3]<<16)*Math.pow(2,32)+r[2]*Math.pow(2,24)+r[1]}function VS(r){var e=JS(r),t=e[0],n=e[1],u=e[2],a=RS(r),i=t=u)&&pS(ql);var f=c;for(t++;t=u)break;(f=u*f+c)>4294967295&&pS(ql)}return t!=a&&pS(ql),f*=n,10==u&&(0|f)!=f&&pS(ql),0|f}function $S(r){return GB(r,1,r.length-1)}function YS(r){return!!r}function HS(r){return r.toString()}function KS(r){for(var e={},t=1;t=u){var a=vS(r+n),i=this.data;this.data=a,zB(i,0,this.data,0,u)}return zB(e,t,this.data,r,n),0},ax.prototype.read=function(r,e,t,n){this.length();return zB(this.data,r,e,t,n),0},ax.prototype.read_one=function(r){return function(r,e){return e>>>0>=r.l&&eS(),uS(r,e)}(this.data,r)},ax.prototype.close=function(){},ax.prototype.constructor=ax,ix.prototype.nm=function(r){return this.root+r},ix.prototype.lookup=function(r){if(!this.content[r]&&this.lookupFun){var e=this.lookupFun(QB(this.root),QB(r));0!==e&&(this.content[r]=new ax(e[1]))}},ix.prototype.exists=function(r){if(r==qC)return 1;var e=new RegExp(VC+(r+fs));for(var t in this.content)if(t.match(e))return 1;return this.lookup(r),this.content[r]?1:0},ix.prototype.readdir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb),t={},n=[];for(var u in this.content){var a=u.match(e);a&&!t[a[1]]&&(t[a[1]]=!0,n.push(a[1]))}return n},ix.prototype.is_dir=function(r){var e=new RegExp(VC+(r==qC?qC:r+fs)+Pb);for(var t in this.content){if(t.match(e))return 1}return 0},ix.prototype.unlink=function(r){var e=!!this.content[r];return delete this.content[r],e},ix.prototype.open=function(r,e){if(e.rdonly&&e.wronly&&rx(this.nm(r)+" : flags Open_rdonly and Open_wronly are not compatible"),e.text&&e.binary&&rx(this.nm(r)+" : flags Open_text and Open_binary are not compatible"),this.lookup(r),this.content[r]){this.is_dir(r)&&rx(this.nm(r)+" : is a directory"),e.create&&e.excl&&rx(this.nm(r)+cC);var t=this.content[r];return e.truncate&&t.truncate(),t}if(e.create)return this.content[r]=new ax(vS(0)),this.content[r];!function(r){rx((r=r instanceof KB?r.toString():r)+": No such file or directory")}(this.nm(r))},ix.prototype.register=function(r,e){if(this.content[r]&&rx(this.nm(r)+cC),e instanceof KB)this.content[r]=new ax(e);else if(e instanceof Array)this.content[r]=new ax(function(r){return new KB(4,r,r.length)}(e));else if(e.toString){var t=QB(e.toString());this.content[r]=new ax(t)}},ix.prototype.constructor=ix;var fx=r.Buffer;function ox(r){this.fs=Xt,this.fd=r}function sx(r){this.fs=Xt,this.root=r}ox.prototype=new ux,ox.prototype.truncate=function(r){this.fs.ftruncateSync(this.fd,0|r)},ox.prototype.length=function(){return this.fs.fstatSync(this.fd).size},ox.prototype.write=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);return this.fs.writeSync(this.fd,i,n,u,e),0},ox.prototype.read=function(e,t,n,u){var a=cx(t);a instanceof r.Uint8Array||(a=new r.Uint8Array(a));var i=fx.from(a);this.fs.readSync(this.fd,i,n,u,e);for(var c=0;cUB.fd_last_idx)&&(UB.fd_last_idx=r),r}function vx(r){var e=UB.fds[r];e.flags.rdonly&&rx("fd "+r+" is readonly");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!0,buffer:qC};return ex[t.fd]=t,t.fd}function Dx(r,e,t,n){return function(r,e,t,n){var u,a=ex[r];a.opened||rx("Cannot output to a closed channel"),0==t&&ZS(e)==n?u=e:zB(e,t,u=vS(n),0,n);var i=bS(u),c=i.lastIndexOf("\n");return c<0?a.buffer+=i:(a.buffer+=i.substr(0,c+1),tx(r),a.buffer+=i.substr(c+1)),0}(r,e,t,n)}function px(r,e){return+(0!=sS(r,e,!1))}function bx(r,e){var t=new Array(e+1);t[0]=r;for(var n=1;n<=e;n++)t[n]=0;return t}function Fx(r){return r instanceof Array?r[0]:r instanceof KB?252:1e3}function mx(e,t,n){n&&r.toplevelReloc&&(e=r.toplevelReloc(n)),UB[e+1]=t,n&&(UB[n]=t)}void 0!==r.process&&void 0!==r.process.versions&&r.process.versions.node,lx(0,(function(r,e){var t=ex[r],n=QB(e),u=RS(n);return t.file.write(t.offset,n,0,u),t.offset+=u,0}),new ax(vS(0))),lx(1,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stdout.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.log&&n.log(e)}}),new ax(vS(0))),lx(2,(function(e){var t=r;if(t.process&&t.process.stdout&&t.process.stdout.write)t.process.stderr.write(e);else{10==e.charCodeAt(e.length-1)&&(e=e.substr(0,e.length-1));var n=t.console;n&&n.error&&n.error(e)}}),new ax(vS(0)));var dx={};function Ex(r,e){return r===e?1:(6&r.t&&$B(r),6&e.t&&$B(e),r.c==e.c?1:0)}function kx(r,e){return e>>>0>=r.l&&eS(),MS(r,e)}function hx(r,e){return 1-Ex(r,e)}function yx(e){var t=r,n=e.toString();return t.process&&t.process.env&&null!=t.process.env[n]?_S(t.process.env[n]):r.jsoo_static_env&&r.jsoo_static_env[n]?_S(r.jsoo_static_env[n]):void function(r){throw r}(UB.Not_found)}function Cx(r){for(;r&&r.joo_tramp;)r=r.joo_tramp.apply(null,r.joo_args);return r}function wx(r,e){return{joo_tramp:r,joo_args:e}}function Ax(r){return dx[r]}function _x(e){return e instanceof Array?e:r.RangeError&&e instanceof r.RangeError&&e.message&&e.message.match(/maximum call stack/i)||r.InternalError&&e instanceof r.InternalError&&e.message&&e.message.match(/too much recursion/i)?UB.Stack_overflow:e instanceof r.Error&&Ax(yA)?[0,Ax(yA),e]:[0,UB.Failure,_S(String(e))]}function gx(r,e){return 1==r.length?r(e):aS(r,[e])}function Bx(r,e,t){return 2==r.length?r(e,t):aS(r,[e,t])}function Sx(r,e,t,n){return 3==r.length?r(e,t,n):aS(r,[e,t,n])}function xx(r,e,t,n,u){return 4==r.length?r(e,t,n,u):aS(r,[e,t,n,u])}function Tx(r,e,t,n,u,a){return 5==r.length?r(e,t,n,u,a):aS(r,[e,t,n,u,a])}var Ix=[bc,QB(zb),-1],Nx=[bc,QB(wl),-2],Ox=[bc,QB(Us),-3],Lx=[bc,QB(hi),-4],Px=[bc,QB(ba),-7],Rx=[bc,QB(cw),-8],Mx=[bc,QB(oa),-9],jx=[bc,QB(Bt),-11],Ux=[bc,QB(zD),-12],Xx=[0,[11,QB('File "'),[2,0,[11,QB('", line '),[4,0,0,0,[11,QB(", characters "),[4,0,0,0,[12,45,[4,0,0,0,[11,QB(": "),[2,0,0]]]]]]]]]],QB('File "%s", line %d, characters %d-%d: %s')],Gx=[0,0,[0,0,0],[0,0,0]],Jx=[0,0],qx=QB("\x01\x02"),zx=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),Wx=[0,0,0,0,0,0,0,0,1,0],Vx=[0,QB($o),QB(tp),QB(Ty),QB(Gk),QB(fE),QB(au),QB(Al),QB(fe),QB(Lr),QB(y),QB(Vw),QB(Pc),QB(mt),QB(Zi),QB(Up),QB(Xi),QB(P),QB(et),QB($w),QB(Rk),QB(Mw),QB(B_),QB(vn),QB(ar),QB(Je),QB(yw),QB($n),QB(gf),QB(mi),QB(aF),QB(Pe),QB($p),QB(Da),QB(Pk),QB(jE),QB(TD),QB(Ui),QB(wi),QB(mC),QB(kw),QB(Nu),QB(dk),QB(fp),QB(sF),QB(lf),QB(pw),QB(Kp),QB(dd),QB(Dk),QB(zk),QB(qs),QB(ld),QB(Nn),QB(Tt),QB(KA),QB(Ho),QB(Ut),QB(Ny),QB(Hr),QB(HA),QB(wk),QB(Fk),QB(Et),QB(Wf),QB(iv),QB(at),QB(Zh),QB(os),QB(tA),QB(Lc),QB(x_),QB(B),QB(tF),QB(wp),QB(SB),QB(hC),QB(Kc),QB(io),QB(mn),QB(tr),QB(ei),QB(Fh),QB(lm),QB(uf),QB(Tw),QB(ee),QB(oh),QB(kc),QB(mg),QB(RA),QB(du),QB(Qg),QB(de),QB(Ik),QB(nA),QB(Rh),QB(lB),QB(Ip),QB(nl),QB(PC),QB(Gf),QB(NC),QB(Ur),QB(Eb),QB(Kl),QB(FA),QB(BE),QB(Dr),QB(Fo),QB(gg),QB(FF),QB(Co),QB(U),QB(s_),QB(_E),QB(Uv),QB(TE),QB($i),QB(iB),QB(Oo),QB(jh),QB(Xo),QB(ri),QB(El),QB(HC),QB(Ws),QB(Tl),QB(Hg),QB(t),QB(Wg),QB(Te),QB(sc),QB(Tm),QB(Uo),QB(it),QB(w_),QB(Pu),QB(Wh),QB(bh),QB(Za),QB(ou),QB(an),QB(si),QB(sD),QB(KE),QB(M_),QB(bA),QB(je),QB(ok),QB(Op),QB(Ca),QB(ha),QB(wE),QB(De),QB(Yk),QB(pg),QB(fB),QB(zu),QB(mu),QB(Bm),QB(fn),QB(yk),QB(jk),QB(og),QB(Ol),QB(oy),QB(aE),QB(JA),QB(av),QB(c),QB(Dh),QB(mc),QB(Kt),QB(ji),QB(Pn),QB(FB),QB(xe),QB(pl),QB(Af),QB(LC),QB(aB),QB(gF),QB(Hp),QB(Xm),QB(la),QB(Nl),QB(jb),QB(sn),QB(bF),QB(ur),QB(yv),QB(Lk),QB(aD),QB(Ec),QB(xl),QB(cl),QB(mA),QB(rm),QB(qn),QB(lt),QB(Bo),QB(p_),QB(SF),QB(lF),QB(In),QB(K_),QB(ci),QB(cB),QB(Sp),QB(Ov),QB(Dl),QB(tb)],$x=[0,QB("first_leading"),QB("last_trailing")],Yx=[0,0,0],Hx=[0,0];mx(11,Ux,zD),mx(10,jx,Bt),mx(9,[bc,QB(dy),-10],dy),mx(8,Mx,oa),mx(7,Rx,cw),mx(6,Px,ba),mx(5,[bc,QB(Od),-6],Od),mx(4,[bc,QB(Ls),-5],Ls),mx(3,Lx,hi),mx(2,Ox,Us),mx(1,Nx,wl),mx(0,Ix,zb);var Kx=QB("output_substring"),Qx=QB(Om),Zx=QB(ZF),rT=QB(kh),eT=QB(Pa),tT=QB("\\\\"),nT=QB("\\'"),uT=QB("\\b"),aT=QB("\\t"),iT=QB("\\n"),cT=QB("\\r"),fT=QB("Char.chr"),oT=QB(" is not an Unicode scalar value"),sT=QB("%X"),lT=QB("List.iter2"),vT=[0,QB("list.ml"),268,11],DT=QB("tl"),pT=QB("hd"),bT=QB("String.blit / Bytes.blit_string"),FT=QB("Bytes.blit"),mT=QB("String.sub / Bytes.sub"),dT=QB("Array.blit"),ET=QB("Array.sub"),kT=QB("Array.init"),hT=QB("Set.remove_min_elt"),yT=[0,0,0,0],CT=[0,0,0],wT=[0,QB("set.ml"),514,18],AT=QB(up),_T=QB(up),gT=QB(up),BT=QB(up),ST=QB("Map.remove_min_elt"),xT=[0,0,0,0],TT=[0,QB("map.ml"),397,10],IT=[0,0,0],NT=QB(Nh),OT=QB(Nh),LT=QB(Nh),PT=QB(Nh),RT=QB("Buffer.add_substring/add_subbytes"),MT=QB("Buffer.add: cannot grow buffer"),jT=QB("Buffer.sub"),UT=QB("%c"),XT=QB("%s"),GT=QB("%i"),JT=QB("%li"),qT=QB("%ni"),zT=QB("%Li"),WT=QB("%f"),VT=QB(kb),$T=QB("%{"),YT=QB("%}"),HT=QB("%("),KT=QB("%)"),QT=QB(lD),ZT=QB("%t"),rI=QB("%?"),eI=QB("%r"),tI=QB("%_r"),nI=[0,QB(t_),846,23],uI=[0,QB(t_),810,21],aI=[0,QB(t_),811,21],iI=[0,QB(t_),814,21],cI=[0,QB(t_),815,21],fI=[0,QB(t_),818,19],oI=[0,QB(t_),819,19],sI=[0,QB(t_),822,22],lI=[0,QB(t_),823,22],vI=[0,QB(t_),827,30],DI=[0,QB(t_),828,30],pI=[0,QB(t_),832,26],bI=[0,QB(t_),833,26],FI=[0,QB(t_),842,28],mI=[0,QB(t_),843,28],dI=[0,QB(t_),847,23],EI=QB("%u"),kI=[0,QB(t_),1525,4],hI=QB("Printf: bad conversion %["),yI=[0,QB(t_),1593,39],CI=[0,QB(t_),1616,31],wI=[0,QB(t_),1617,31],AI=QB("Printf: bad conversion %_"),_I=QB("@{"),gI=QB("@["),BI=[0,[11,QB("invalid box description "),[3,0,0]],QB("invalid box description %S")],SI=QB(qC),xI=[0,0,4],TI=QB(qC),II=QB("b"),NI=QB("h"),OI=QB("hov"),LI=QB("hv"),PI=QB("v"),RI=QB(us),MI=QB(ZF),jI=QB("neg_infinity"),UI=QB(oe),XI=QB(Om),GI=QB("%nd"),JI=QB("%+nd"),qI=QB("% nd"),zI=QB("%ni"),WI=QB("%+ni"),VI=QB("% ni"),$I=QB("%nx"),YI=QB("%#nx"),HI=QB("%nX"),KI=QB("%#nX"),QI=QB("%no"),ZI=QB("%#no"),rN=QB("%nu"),eN=QB("%ld"),tN=QB("%+ld"),nN=QB("% ld"),uN=QB("%li"),aN=QB("%+li"),iN=QB("% li"),cN=QB("%lx"),fN=QB("%#lx"),oN=QB("%lX"),sN=QB("%#lX"),lN=QB("%lo"),vN=QB("%#lo"),DN=QB("%lu"),pN=QB("%Ld"),bN=QB("%+Ld"),FN=QB("% Ld"),mN=QB("%Li"),dN=QB("%+Li"),EN=QB("% Li"),kN=QB("%Lx"),hN=QB("%#Lx"),yN=QB("%LX"),CN=QB("%#LX"),wN=QB("%Lo"),AN=QB("%#Lo"),_N=QB("%Lu"),gN=QB(Gn),BN=QB("%+d"),SN=QB("% d"),xN=QB("%i"),TN=QB("%+i"),IN=QB("% i"),NN=QB("%x"),ON=QB("%#x"),LN=QB("%X"),PN=QB("%#X"),RN=QB("%o"),MN=QB("%#o"),jN=QB("%u"),UN=QB(bv),XN=QB("@}"),GN=QB("@?"),JN=QB("@\n"),qN=QB("@."),zN=QB("@@"),WN=QB("@%"),VN=QB("@"),$N=QB("CamlinternalFormat.Type_mismatch"),YN=QB(qC),HN=[0,[11,QB(", "),[2,0,[2,0,0]]],QB(", %s%s")],KN=QB("Out of memory"),QN=QB("Stack overflow"),ZN=QB("Pattern matching failed"),rO=QB("Assertion failed"),eO=QB("Undefined recursive module"),tO=[0,[12,40,[2,0,[2,0,[12,41,0]]]],QB("(%s%s)")],nO=QB(qC),uO=QB(qC),aO=[0,[12,40,[2,0,[12,41,0]]],QB("(%s)")],iO=[0,[4,0,0,0,0],QB(Gn)],cO=[0,[3,0,0],QB(Ly)],fO=QB(ii),oO=[3,0,3],sO=QB(ZF),lO=QB(L),vO=QB("Flow_ast.Function.BodyBlock@ ")],iL=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],cL=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],fL=[0,[17,0,[12,41,0]],QB(ce)],oL=[0,[17,0,[12,41,0]],QB(ce)],sL=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Function.BodyExpression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Function.BodyExpression@ ")],lL=[0,[17,0,[12,41,0]],QB(ce)],vL=[0,[15,0],QB(lD)],DL=QB(cp),pL=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bL=QB("Flow_ast.Function.id"),FL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mL=QB(BA),dL=QB(Zo),EL=QB(Jl),kL=[0,[17,0,0],QB(bv)],hL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yL=QB(w),CL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wL=[0,[17,0,0],QB(bv)],AL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_L=QB(AE),gL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BL=[0,[17,0,0],QB(bv)],SL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xL=QB(uC),TL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],IL=[0,[9,0,0],QB(kb)],NL=[0,[17,0,0],QB(bv)],OL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LL=QB(mg),PL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RL=[0,[9,0,0],QB(kb)],ML=[0,[17,0,0],QB(bv)],jL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UL=QB(av),XL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GL=QB(BA),JL=QB(Zo),qL=QB(Jl),zL=[0,[17,0,0],QB(bv)],WL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VL=QB(Kt),$L=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YL=[0,[17,0,0],QB(bv)],HL=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KL=QB(yr),QL=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZL=QB(BA),rP=QB(Zo),eP=QB(Jl),tP=[0,[17,0,0],QB(bv)],nP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uP=QB(Gu),aP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iP=QB(BA),cP=QB(Zo),fP=QB(Jl),oP=[0,[17,0,0],QB(bv)],sP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lP=QB("sig_loc"),vP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DP=[0,[17,0,0],QB(bv)],pP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],bP=[0,[15,0],QB(lD)],FP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],EP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hP=QB("Flow_ast.Function.Params.this_"),yP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CP=QB(BA),wP=QB(Zo),AP=QB(Jl),_P=[0,[17,0,0],QB(bv)],gP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BP=QB(w),SP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xP=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TP=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IP=[0,[17,0,0],QB(bv)],NP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OP=QB(ka),LP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PP=QB(BA),RP=QB(Zo),MP=QB(Jl),jP=[0,[17,0,0],QB(bv)],UP=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XP=QB(Gu),GP=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JP=QB(BA),qP=QB(Zo),zP=QB(Jl),WP=[0,[17,0,0],QB(bv)],VP=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$P=[0,[15,0],QB(lD)],YP=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],HP=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],KP=[0,[17,0,[12,41,0]],QB(ce)],QP=[0,[15,0],QB(lD)],ZP=QB(cp),rR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eR=QB("Flow_ast.Function.ThisParam.annot"),tR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nR=[0,[17,0,0],QB(bv)],uR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aR=QB(Gu),iR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cR=QB(BA),fR=QB(Zo),oR=QB(Jl),sR=[0,[17,0,0],QB(bv)],lR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vR=[0,[15,0],QB(lD)],DR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bR=[0,[17,0,[12,41,0]],QB(ce)],FR=[0,[15,0],QB(lD)],mR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dR=QB("Flow_ast.Function.Param.argument"),ER=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kR=[0,[17,0,0],QB(bv)],hR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yR=QB(JC),CR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wR=QB(BA),AR=QB(Zo),_R=QB(Jl),gR=[0,[17,0,0],QB(bv)],BR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SR=[0,[15,0],QB(lD)],xR=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],IR=[0,[17,0,[12,41,0]],QB(ce)],NR=[0,[15,0],QB(lD)],OR=QB(cp),LR=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],PR=QB("Flow_ast.Function.RestParam.argument"),RR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MR=[0,[17,0,0],QB(bv)],jR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UR=QB(Gu),XR=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GR=QB(BA),JR=QB(Zo),qR=QB(Jl),zR=[0,[17,0,0],QB(bv)],WR=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],VR=[0,[15,0],QB(lD)],$R=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],YR=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],HR=[0,[17,0,[12,41,0]],QB(ce)],KR=[0,[15,0],QB(lD)],QR=QB(cp),ZR=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eM=QB("Flow_ast.Class.id"),tM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nM=QB(BA),uM=QB(Zo),aM=QB(Jl),iM=[0,[17,0,0],QB(bv)],cM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fM=QB(AE),oM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sM=[0,[17,0,0],QB(bv)],lM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vM=QB(yr),DM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pM=QB(BA),bM=QB(Zo),FM=QB(Jl),mM=[0,[17,0,0],QB(bv)],dM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EM=QB(Dp),kM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hM=QB(BA),yM=QB(Zo),CM=QB(Jl),wM=[0,[17,0,0],QB(bv)],AM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_M=QB(Fe),gM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BM=QB(BA),SM=QB(Zo),xM=QB(Jl),TM=[0,[17,0,0],QB(bv)],IM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NM=QB("class_decorators"),OM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LM=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],PM=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],RM=[0,[17,0,0],QB(bv)],MM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jM=QB(Gu),UM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XM=QB(BA),GM=QB(Zo),JM=QB(Jl),qM=[0,[17,0,0],QB(bv)],zM=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WM=[0,[15,0],QB(lD)],VM=QB(cp),$M=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YM=QB("Flow_ast.Class.Decorator.expression"),HM=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KM=[0,[17,0,0],QB(bv)],QM=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZM=QB(Gu),rj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ej=QB(BA),tj=QB(Zo),nj=QB(Jl),uj=[0,[17,0,0],QB(bv)],aj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ij=[0,[15,0],QB(lD)],cj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],oj=[0,[17,0,[12,41,0]],QB(ce)],sj=[0,[15,0],QB(lD)],lj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Class.Body.Method"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Class.Body.Method@ ")],vj=[0,[17,0,[12,41,0]],QB(ce)],Dj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Class.Body.Property"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Class.Body.Property@ ")],pj=[0,[17,0,[12,41,0]],QB(ce)],bj=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Class.Body.PrivateField"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],Fj=[0,[17,0,[12,41,0]],QB(ce)],mj=[0,[15,0],QB(lD)],dj=QB(cp),Ej=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hj=QB("Flow_ast.Class.Body.body"),yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Aj=[0,[17,0,0],QB(bv)],_j=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gj=QB(Gu),Bj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Sj=QB(BA),xj=QB(Zo),Tj=QB(Jl),Ij=[0,[17,0,0],QB(bv)],Nj=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Oj=[0,[15,0],QB(lD)],Lj=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Pj=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Rj=[0,[17,0,[12,41,0]],QB(ce)],Mj=[0,[15,0],QB(lD)],jj=QB(cp),Uj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gj=QB("Flow_ast.Class.Implements.interfaces"),Jj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qj=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],zj=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Wj=[0,[17,0,0],QB(bv)],Vj=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$j=QB(Gu),Yj=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hj=QB(BA),Kj=QB(Zo),Qj=QB(Jl),Zj=[0,[17,0,0],QB(bv)],rU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eU=[0,[15,0],QB(lD)],tU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],nU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],uU=[0,[17,0,[12,41,0]],QB(ce)],aU=[0,[15,0],QB(lD)],iU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cU=QB("Flow_ast.Class.Implements.Interface.id"),fU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oU=[0,[17,0,0],QB(bv)],sU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lU=QB(FC),vU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DU=QB(BA),pU=QB(Zo),bU=QB(Jl),FU=[0,[17,0,0],QB(bv)],mU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],dU=[0,[15,0],QB(lD)],EU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],kU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],hU=[0,[17,0,[12,41,0]],QB(ce)],yU=[0,[15,0],QB(lD)],CU=QB(cp),wU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AU=QB("Flow_ast.Class.Extends.expr"),_U=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gU=[0,[17,0,0],QB(bv)],BU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SU=QB(FC),xU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TU=QB(BA),IU=QB(Zo),NU=QB(Jl),OU=[0,[17,0,0],QB(bv)],LU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PU=QB(Gu),RU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MU=QB(BA),jU=QB(Zo),UU=QB(Jl),XU=[0,[17,0,0],QB(bv)],GU=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],JU=[0,[15,0],QB(lD)],qU=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zU=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WU=[0,[17,0,[12,41,0]],QB(ce)],VU=[0,[15,0],QB(lD)],$U=QB(cp),YU=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HU=QB("Flow_ast.Class.PrivateField.key"),KU=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QU=[0,[17,0,0],QB(bv)],ZU=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rX=QB(Im),eX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tX=[0,[17,0,0],QB(bv)],nX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uX=QB(ra),aX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iX=[0,[17,0,0],QB(bv)],cX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fX=QB(Vu),oX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sX=[0,[9,0,0],QB(kb)],lX=[0,[17,0,0],QB(bv)],vX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DX=QB(Sp),pX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bX=QB(BA),FX=QB(Zo),mX=QB(Jl),dX=[0,[17,0,0],QB(bv)],EX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kX=QB(Gu),hX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yX=QB(BA),CX=QB(Zo),wX=QB(Jl),AX=[0,[17,0,0],QB(bv)],_X=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gX=[0,[15,0],QB(lD)],BX=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],SX=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],xX=[0,[17,0,[12,41,0]],QB(ce)],TX=[0,[15,0],QB(lD)],IX=QB("Flow_ast.Class.Property.Uninitialized"),NX=QB("Flow_ast.Class.Property.Declared"),OX=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Class.Property.Initialized"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Class.Property.Initialized@ ")],LX=[0,[17,0,[12,41,0]],QB(ce)],PX=[0,[15,0],QB(lD)],RX=QB(cp),MX=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jX=QB("Flow_ast.Class.Property.key"),UX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XX=[0,[17,0,0],QB(bv)],GX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JX=QB(Im),qX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zX=[0,[17,0,0],QB(bv)],WX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VX=QB(ra),$X=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YX=[0,[17,0,0],QB(bv)],HX=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KX=QB(Vu),QX=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZX=[0,[9,0,0],QB(kb)],rG=[0,[17,0,0],QB(bv)],eG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tG=QB(Sp),nG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uG=QB(BA),aG=QB(Zo),iG=QB(Jl),cG=[0,[17,0,0],QB(bv)],fG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oG=QB(Gu),sG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lG=QB(BA),vG=QB(Zo),DG=QB(Jl),pG=[0,[17,0,0],QB(bv)],bG=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FG=[0,[15,0],QB(lD)],mG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],dG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],EG=[0,[17,0,[12,41,0]],QB(ce)],kG=[0,[15,0],QB(lD)],hG=QB(cp),yG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wG=QB("Flow_ast.Class.Method.kind"),AG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_G=[0,[17,0,0],QB(bv)],gG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BG=QB(DB),SG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xG=[0,[17,0,0],QB(bv)],TG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IG=QB(Im),NG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OG=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LG=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PG=[0,[17,0,[12,41,0]],QB(ce)],RG=[0,[17,0,0],QB(bv)],MG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jG=QB(Vu),UG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XG=[0,[9,0,0],QB(kb)],GG=[0,[17,0,0],QB(bv)],JG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qG=QB(J),zG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WG=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VG=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$G=[0,[17,0,0],QB(bv)],YG=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HG=QB(Gu),KG=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QG=QB(BA),ZG=QB(Zo),rJ=QB(Jl),eJ=[0,[17,0,0],QB(bv)],tJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],nJ=[0,[15,0],QB(lD)],uJ=QB("Flow_ast.Class.Method.Constructor"),aJ=QB("Flow_ast.Class.Method.Method"),iJ=QB("Flow_ast.Class.Method.Get"),cJ=QB("Flow_ast.Class.Method.Set"),fJ=[0,[15,0],QB(lD)],oJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lJ=[0,[17,0,[12,41,0]],QB(ce)],vJ=[0,[15,0],QB(lD)],DJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pJ=QB("Flow_ast.Comment.kind"),bJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FJ=[0,[17,0,0],QB(bv)],mJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dJ=QB("text"),EJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kJ=[0,[3,0,0],QB(Ly)],hJ=[0,[17,0,0],QB(bv)],yJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CJ=QB("on_newline"),wJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AJ=[0,[9,0,0],QB(kb)],_J=[0,[17,0,0],QB(bv)],gJ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BJ=[0,[15,0],QB(lD)],SJ=QB("Flow_ast.Comment.Line"),xJ=QB("Flow_ast.Comment.Block"),TJ=[0,[15,0],QB(lD)],IJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],NJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],OJ=[0,[17,0,[12,41,0]],QB(ce)],LJ=[0,[15,0],QB(lD)],PJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object@ ")],RJ=[0,[17,0,[12,41,0]],QB(ce)],MJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Array"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Array@ ")],jJ=[0,[17,0,[12,41,0]],QB(ce)],UJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Identifier@ ")],XJ=[0,[17,0,[12,41,0]],QB(ce)],GJ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Expression@ ")],JJ=[0,[17,0,[12,41,0]],QB(ce)],qJ=[0,[15,0],QB(lD)],zJ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WJ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VJ=[0,[17,0,[12,41,0]],QB(ce)],$J=[0,[15,0],QB(lD)],YJ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HJ=QB("Flow_ast.Pattern.Identifier.name"),KJ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QJ=[0,[17,0,0],QB(bv)],ZJ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rq=QB(ra),eq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tq=[0,[17,0,0],QB(bv)],nq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uq=QB(Dv),aq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iq=[0,[9,0,0],QB(kb)],cq=[0,[17,0,0],QB(bv)],fq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],oq=[0,[15,0],QB(lD)],sq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],vq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Dq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bq=QB("Flow_ast.Pattern.Array.elements"),Fq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],dq=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Eq=[0,[17,0,0],QB(bv)],kq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hq=QB(ra),yq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cq=[0,[17,0,0],QB(bv)],wq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Aq=QB(Gu),_q=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gq=QB(BA),Bq=QB(Zo),Sq=QB(Jl),xq=[0,[17,0,0],QB(bv)],Tq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Iq=[0,[15,0],QB(lD)],Nq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Array.Element"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Array.Element@ ")],Oq=[0,[17,0,[12,41,0]],QB(ce)],Lq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Array.RestElement"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],Pq=[0,[17,0,[12,41,0]],QB(ce)],Rq=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Array.Hole"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],Mq=[0,[17,0,[12,41,0]],QB(ce)],jq=[0,[15,0],QB(lD)],Uq=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Xq=QB("Flow_ast.Pattern.Array.Element.argument"),Gq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jq=[0,[17,0,0],QB(bv)],qq=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zq=QB(JC),Wq=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vq=QB(BA),$q=QB(Zo),Yq=QB(Jl),Hq=[0,[17,0,0],QB(bv)],Kq=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qq=[0,[15,0],QB(lD)],Zq=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rz=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ez=[0,[17,0,[12,41,0]],QB(ce)],tz=[0,[15,0],QB(lD)],nz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],az=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],iz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fz=QB("Flow_ast.Pattern.Object.properties"),oz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lz=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vz=[0,[17,0,0],QB(bv)],Dz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pz=QB(ra),bz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fz=[0,[17,0,0],QB(bv)],mz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dz=QB(Gu),Ez=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kz=QB(BA),hz=QB(Zo),yz=QB(Jl),Cz=[0,[17,0,0],QB(bv)],wz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Az=[0,[15,0],QB(lD)],_z=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object.Property"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object.Property@ ")],gz=[0,[17,0,[12,41,0]],QB(ce)],Bz=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object.RestElement"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],Sz=[0,[17,0,[12,41,0]],QB(ce)],xz=[0,[15,0],QB(lD)],Tz=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Iz=QB("Flow_ast.Pattern.Object.Property.key"),Nz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oz=[0,[17,0,0],QB(bv)],Lz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pz=QB(Op),Rz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mz=[0,[17,0,0],QB(bv)],jz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Uz=QB(JC),Xz=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gz=QB(BA),Jz=QB(Zo),qz=QB(Jl),zz=[0,[17,0,0],QB(bv)],Wz=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vz=QB(Qh),$z=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yz=[0,[9,0,0],QB(kb)],Hz=[0,[17,0,0],QB(bv)],Kz=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qz=[0,[15,0],QB(lD)],Zz=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],eW=[0,[17,0,[12,41,0]],QB(ce)],tW=[0,[15,0],QB(lD)],nW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],uW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],aW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],iW=[0,[17,0,[12,41,0]],QB(ce)],cW=[0,[17,0,[12,41,0]],QB(ce)],fW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],oW=[0,[17,0,[12,41,0]],QB(ce)],sW=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],lW=[0,[17,0,[12,41,0]],QB(ce)],vW=[0,[15,0],QB(lD)],DW=QB(cp),pW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bW=QB("Flow_ast.Pattern.RestElement.argument"),FW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mW=[0,[17,0,0],QB(bv)],dW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EW=QB(Gu),kW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hW=QB(BA),yW=QB(Zo),CW=QB(Jl),wW=[0,[17,0,0],QB(bv)],AW=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_W=[0,[15,0],QB(lD)],gW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],BW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],SW=[0,[17,0,[12,41,0]],QB(ce)],xW=[0,[15,0],QB(lD)],TW=QB(cp),IW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OW=QB("Flow_ast.JSX.frag_opening_element"),LW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PW=[0,[17,0,0],QB(bv)],RW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MW=QB("frag_closing_element"),jW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],UW=[0,[17,0,0],QB(bv)],XW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GW=QB("frag_children"),JW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qW=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zW=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WW=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],VW=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$W=[0,[17,0,[12,41,0]],QB(ce)],YW=[0,[17,0,0],QB(bv)],HW=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],KW=QB("frag_comments"),QW=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ZW=QB(BA),rV=QB(Zo),eV=QB(Jl),tV=[0,[17,0,0],QB(bv)],nV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uV=[0,[15,0],QB(lD)],aV=QB(cp),iV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fV=QB("Flow_ast.JSX.opening_element"),oV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sV=[0,[17,0,0],QB(bv)],lV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vV=QB("closing_element"),DV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pV=QB(BA),bV=QB(Zo),FV=QB(Jl),mV=[0,[17,0,0],QB(bv)],dV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],EV=QB(i),kV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yV=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],CV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wV=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AV=[0,[17,0,[12,41,0]],QB(ce)],_V=[0,[17,0,0],QB(bv)],gV=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BV=QB(Gu),SV=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xV=QB(BA),TV=QB(Zo),IV=QB(Jl),NV=[0,[17,0,0],QB(bv)],OV=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LV=[0,[15,0],QB(lD)],PV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Element"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Element@ ")],RV=[0,[17,0,[12,41,0]],QB(ce)],MV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Fragment"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Fragment@ ")],jV=[0,[17,0,[12,41,0]],QB(ce)],UV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.ExpressionContainer"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],XV=[0,[17,0,[12,41,0]],QB(ce)],GV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.SpreadChild"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.SpreadChild@ ")],JV=[0,[17,0,[12,41,0]],QB(ce)],qV=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Text"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Text@ ")],zV=[0,[17,0,[12,41,0]],QB(ce)],WV=[0,[15,0],QB(lD)],VV=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$V=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YV=[0,[17,0,[12,41,0]],QB(ce)],HV=[0,[15,0],QB(lD)],KV=QB(cp),QV=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZV=QB("Flow_ast.JSX.SpreadChild.expression"),r$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e$=[0,[17,0,0],QB(bv)],t$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],n$=QB(Gu),u$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],a$=QB(BA),i$=QB(Zo),c$=QB(Jl),f$=[0,[17,0,0],QB(bv)],o$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s$=[0,[15,0],QB(lD)],l$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],v$=QB("Flow_ast.JSX.Closing.name"),D$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p$=[0,[17,0,0],QB(bv)],b$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],F$=[0,[15,0],QB(lD)],m$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],d$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],E$=[0,[17,0,[12,41,0]],QB(ce)],k$=[0,[15,0],QB(lD)],h$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],C$=QB("Flow_ast.JSX.Opening.name"),w$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A$=[0,[17,0,0],QB(bv)],_$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g$=QB("self_closing"),B$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],S$=[0,[9,0,0],QB(kb)],x$=[0,[17,0,0],QB(bv)],T$=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I$=QB(zh),N$=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O$=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L$=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P$=[0,[17,0,0],QB(bv)],R$=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],M$=[0,[15,0],QB(lD)],j$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Opening.Attribute"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],U$=[0,[17,0,[12,41,0]],QB(ce)],X$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],G$=[0,[17,0,[12,41,0]],QB(ce)],J$=[0,[15,0],QB(lD)],q$=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],z$=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],W$=[0,[17,0,[12,41,0]],QB(ce)],V$=[0,[15,0],QB(lD)],$$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Identifier@ ")],Y$=[0,[17,0,[12,41,0]],QB(ce)],H$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.NamespacedName"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.NamespacedName@ ")],K$=[0,[17,0,[12,41,0]],QB(ce)],Q$=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.MemberExpression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.MemberExpression@ ")],Z$=[0,[17,0,[12,41,0]],QB(ce)],rY=[0,[15,0],QB(lD)],eY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tY=QB("Flow_ast.JSX.MemberExpression._object"),nY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uY=[0,[17,0,0],QB(bv)],aY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iY=QB(rA),cY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fY=[0,[17,0,0],QB(bv)],oY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sY=[0,[15,0],QB(lD)],lY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],vY=[0,[17,0,[12,41,0]],QB(ce)],DY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],pY=[0,[17,0,[12,41,0]],QB(ce)],bY=[0,[15,0],QB(lD)],FY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],mY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],dY=[0,[17,0,[12,41,0]],QB(ce)],EY=[0,[15,0],QB(lD)],kY=QB(cp),hY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yY=QB("Flow_ast.JSX.SpreadAttribute.argument"),CY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wY=[0,[17,0,0],QB(bv)],AY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Y=QB(Gu),gY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BY=QB(BA),SY=QB(Zo),xY=QB(Jl),TY=[0,[17,0,0],QB(bv)],IY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NY=[0,[15,0],QB(lD)],OY=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PY=[0,[17,0,[12,41,0]],QB(ce)],RY=[0,[15,0],QB(lD)],MY=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jY=QB("Flow_ast.JSX.Attribute.name"),UY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XY=[0,[17,0,0],QB(bv)],GY=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JY=QB(Im),qY=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zY=QB(BA),WY=QB(Zo),VY=QB(Jl),$Y=[0,[17,0,0],QB(bv)],YY=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HY=[0,[15,0],QB(lD)],KY=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Attribute.Literal ("),[17,[0,QB(Ro),0,0],0]]]],QB("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],QY=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZY=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],rH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,QB(Ro),0,0],0]]]],QB("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],eH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],tH=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],nH=[0,[15,0],QB(lD)],uH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Attribute.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],aH=[0,[17,0,[12,41,0]],QB(ce)],iH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],cH=[0,[17,0,[12,41,0]],QB(ce)],fH=[0,[15,0],QB(lD)],oH=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],sH=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],lH=[0,[17,0,[12,41,0]],QB(ce)],vH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],DH=QB("Flow_ast.JSX.Text.value"),pH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bH=[0,[3,0,0],QB(Ly)],FH=[0,[17,0,0],QB(bv)],mH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dH=QB(ge),EH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kH=[0,[3,0,0],QB(Ly)],hH=[0,[17,0,0],QB(bv)],yH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CH=[0,[15,0],QB(lD)],wH=[0,[15,0],QB(lD)],AH=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],_H=[0,[17,0,[12,41,0]],QB(ce)],gH=QB("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),BH=[0,[15,0],QB(lD)],SH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],TH=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],IH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NH=QB("Flow_ast.JSX.ExpressionContainer.expression"),OH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LH=[0,[17,0,0],QB(bv)],PH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RH=QB(Gu),MH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jH=QB(BA),UH=QB(Zo),XH=QB(Jl),GH=[0,[17,0,0],QB(bv)],JH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qH=[0,[15,0],QB(lD)],zH=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WH=QB("Flow_ast.JSX.NamespacedName.namespace"),VH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$H=[0,[17,0,0],QB(bv)],YH=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HH=QB(Wl),KH=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QH=[0,[17,0,0],QB(bv)],ZH=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rK=[0,[15,0],QB(lD)],eK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nK=[0,[17,0,[12,41,0]],QB(ce)],uK=[0,[15,0],QB(lD)],aK=QB(cp),iK=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cK=QB("Flow_ast.JSX.Identifier.name"),fK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oK=[0,[3,0,0],QB(Ly)],sK=[0,[17,0,0],QB(bv)],lK=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vK=QB(Gu),DK=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pK=QB(BA),bK=QB(Zo),FK=QB(Jl),mK=[0,[17,0,0],QB(bv)],dK=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],EK=[0,[15,0],QB(lD)],kK=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hK=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yK=[0,[17,0,[12,41,0]],QB(ce)],CK=[0,[15,0],QB(lD)],wK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Array"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Array@ ")],AK=[0,[17,0,[12,41,0]],QB(ce)],_K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.ArrowFunction"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],gK=[0,[17,0,[12,41,0]],QB(ce)],BK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Assignment"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Assignment@ ")],SK=[0,[17,0,[12,41,0]],QB(ce)],xK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Binary"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Binary@ ")],TK=[0,[17,0,[12,41,0]],QB(ce)],IK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Call"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Call@ ")],NK=[0,[17,0,[12,41,0]],QB(ce)],OK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Class"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Class@ ")],LK=[0,[17,0,[12,41,0]],QB(ce)],PK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Comprehension"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Comprehension@ ")],RK=[0,[17,0,[12,41,0]],QB(ce)],MK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Conditional"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Conditional@ ")],jK=[0,[17,0,[12,41,0]],QB(ce)],UK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Function"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Function@ ")],XK=[0,[17,0,[12,41,0]],QB(ce)],GK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Generator"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Generator@ ")],JK=[0,[17,0,[12,41,0]],QB(ce)],qK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Identifier@ ")],zK=[0,[17,0,[12,41,0]],QB(ce)],WK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Import"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Import@ ")],VK=[0,[17,0,[12,41,0]],QB(ce)],$K=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.JSXElement"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.JSXElement@ ")],YK=[0,[17,0,[12,41,0]],QB(ce)],HK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.JSXFragment"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.JSXFragment@ ")],KK=[0,[17,0,[12,41,0]],QB(ce)],QK=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Literal"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Literal@ ")],ZK=[0,[17,0,[12,41,0]],QB(ce)],rQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Logical"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Logical@ ")],eQ=[0,[17,0,[12,41,0]],QB(ce)],tQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Member"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Member@ ")],nQ=[0,[17,0,[12,41,0]],QB(ce)],uQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.MetaProperty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.MetaProperty@ ")],aQ=[0,[17,0,[12,41,0]],QB(ce)],iQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.New"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.New@ ")],cQ=[0,[17,0,[12,41,0]],QB(ce)],fQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object@ ")],oQ=[0,[17,0,[12,41,0]],QB(ce)],sQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.OptionalCall"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.OptionalCall@ ")],lQ=[0,[17,0,[12,41,0]],QB(ce)],vQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.OptionalMember"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.OptionalMember@ ")],DQ=[0,[17,0,[12,41,0]],QB(ce)],pQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Sequence"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Sequence@ ")],bQ=[0,[17,0,[12,41,0]],QB(ce)],FQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Super"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Super@ ")],mQ=[0,[17,0,[12,41,0]],QB(ce)],dQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.TaggedTemplate"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],EQ=[0,[17,0,[12,41,0]],QB(ce)],kQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.TemplateLiteral"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],hQ=[0,[17,0,[12,41,0]],QB(ce)],yQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.This"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.This@ ")],CQ=[0,[17,0,[12,41,0]],QB(ce)],wQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.TypeCast"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.TypeCast@ ")],AQ=[0,[17,0,[12,41,0]],QB(ce)],_Q=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Unary"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Unary@ ")],gQ=[0,[17,0,[12,41,0]],QB(ce)],BQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Update"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Update@ ")],SQ=[0,[17,0,[12,41,0]],QB(ce)],xQ=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Yield"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Yield@ ")],TQ=[0,[17,0,[12,41,0]],QB(ce)],IQ=[0,[15,0],QB(lD)],NQ=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OQ=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LQ=[0,[17,0,[12,41,0]],QB(ce)],PQ=[0,[15,0],QB(lD)],RQ=QB(cp),MQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],jQ=QB("Flow_ast.Expression.Import.argument"),UQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XQ=[0,[17,0,0],QB(bv)],GQ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],JQ=QB(Gu),qQ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zQ=QB(BA),WQ=QB(Zo),VQ=QB(Jl),$Q=[0,[17,0,0],QB(bv)],YQ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HQ=[0,[15,0],QB(lD)],KQ=QB(cp),QQ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZQ=QB("Flow_ast.Expression.Super.comments"),rZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eZ=QB(BA),tZ=QB(Zo),nZ=QB(Jl),uZ=[0,[17,0,0],QB(bv)],aZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iZ=[0,[15,0],QB(lD)],cZ=QB(cp),fZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oZ=QB("Flow_ast.Expression.This.comments"),sZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lZ=QB(BA),vZ=QB(Zo),DZ=QB(Jl),pZ=[0,[17,0,0],QB(bv)],bZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],FZ=[0,[15,0],QB(lD)],mZ=QB(cp),dZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],EZ=QB("Flow_ast.Expression.MetaProperty.meta"),kZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hZ=[0,[17,0,0],QB(bv)],yZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CZ=QB(rA),wZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AZ=[0,[17,0,0],QB(bv)],_Z=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gZ=QB(Gu),BZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SZ=QB(BA),xZ=QB(Zo),TZ=QB(Jl),IZ=[0,[17,0,0],QB(bv)],NZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OZ=[0,[15,0],QB(lD)],LZ=QB(cp),PZ=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RZ=QB("Flow_ast.Expression.TypeCast.expression"),MZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jZ=[0,[17,0,0],QB(bv)],UZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XZ=QB(ra),GZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JZ=[0,[17,0,0],QB(bv)],qZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zZ=QB(Gu),WZ=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VZ=QB(BA),$Z=QB(Zo),YZ=QB(Jl),HZ=[0,[17,0,0],QB(bv)],KZ=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QZ=[0,[15,0],QB(lD)],ZZ=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],r0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e0=QB("Flow_ast.Expression.Generator.blocks"),t0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],u0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],a0=[0,[17,0,0],QB(bv)],i0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],c0=QB(Jt),f0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],o0=QB(BA),s0=QB(Zo),l0=QB(Jl),v0=[0,[17,0,0],QB(bv)],D0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],p0=[0,[15,0],QB(lD)],b0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],m0=QB("Flow_ast.Expression.Comprehension.blocks"),d0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],k0=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],h0=[0,[17,0,0],QB(bv)],y0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C0=QB(Jt),w0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A0=QB(BA),_0=QB(Zo),g0=QB(Jl),B0=[0,[17,0,0],QB(bv)],S0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],x0=[0,[15,0],QB(lD)],T0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I0=QB("Flow_ast.Expression.Comprehension.Block.left"),N0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O0=[0,[17,0,0],QB(bv)],L0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],P0=QB(iu),R0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],M0=[0,[17,0,0],QB(bv)],j0=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],U0=QB(Cl),X0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G0=[0,[9,0,0],QB(kb)],J0=[0,[17,0,0],QB(bv)],q0=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z0=[0,[15,0],QB(lD)],W0=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V0=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$0=[0,[17,0,[12,41,0]],QB(ce)],Y0=[0,[15,0],QB(lD)],H0=QB(cp),K0=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Q0=QB("Flow_ast.Expression.Yield.argument"),Z0=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r1=QB(BA),e1=QB(Zo),t1=QB(Jl),n1=[0,[17,0,0],QB(bv)],u1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a1=QB(Gu),i1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c1=QB(BA),f1=QB(Zo),o1=QB(Jl),s1=[0,[17,0,0],QB(bv)],l1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v1=QB(Eh),D1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p1=[0,[9,0,0],QB(kb)],b1=[0,[17,0,0],QB(bv)],F1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],m1=[0,[15,0],QB(lD)],d1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],E1=QB("Flow_ast.Expression.OptionalMember.member"),k1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],h1=[0,[17,0,0],QB(bv)],y1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],C1=QB(Dv),w1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],A1=[0,[9,0,0],QB(kb)],_1=[0,[17,0,0],QB(bv)],g1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B1=[0,[15,0],QB(lD)],S1=QB(cp),x1=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],T1=QB("Flow_ast.Expression.Member._object"),I1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],N1=[0,[17,0,0],QB(bv)],O1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],L1=QB(rA),P1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R1=[0,[17,0,0],QB(bv)],M1=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j1=QB(Gu),U1=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X1=QB(BA),G1=QB(Zo),J1=QB(Jl),q1=[0,[17,0,0],QB(bv)],z1=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],W1=[0,[15,0],QB(lD)],V1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],$1=[0,[17,0,[12,41,0]],QB(ce)],Y1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],H1=[0,[17,0,[12,41,0]],QB(ce)],K1=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],Q1=[0,[17,0,[12,41,0]],QB(ce)],Z1=[0,[15,0],QB(lD)],r2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],e2=QB("Flow_ast.Expression.OptionalCall.call"),t2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],n2=[0,[17,0,0],QB(bv)],u2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a2=QB(Dv),i2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c2=[0,[9,0,0],QB(kb)],f2=[0,[17,0,0],QB(bv)],o2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],s2=[0,[15,0],QB(lD)],l2=QB(cp),v2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],D2=QB("Flow_ast.Expression.Call.callee"),p2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b2=[0,[17,0,0],QB(bv)],F2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m2=QB(FC),d2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E2=QB(BA),k2=QB(Zo),h2=QB(Jl),y2=[0,[17,0,0],QB(bv)],C2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w2=QB(Xu),A2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_2=[0,[17,0,0],QB(bv)],g2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B2=QB(Gu),S2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x2=QB(BA),T2=QB(Zo),I2=QB(Jl),N2=[0,[17,0,0],QB(bv)],O2=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],L2=[0,[15,0],QB(lD)],P2=QB(cp),R2=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],M2=QB("Flow_ast.Expression.New.callee"),j2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U2=[0,[17,0,0],QB(bv)],X2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G2=QB(FC),J2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q2=QB(BA),z2=QB(Zo),W2=QB(Jl),V2=[0,[17,0,0],QB(bv)],$2=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Y2=QB(Xu),H2=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K2=QB(BA),Q2=QB(Zo),Z2=QB(Jl),r7=[0,[17,0,0],QB(bv)],e7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t7=QB(Gu),n7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u7=QB(BA),a7=QB(Zo),i7=QB(Jl),c7=[0,[17,0,0],QB(bv)],f7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o7=[0,[15,0],QB(lD)],s7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],l7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],p7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],b7=QB("Flow_ast.Expression.ArgList.arguments"),F7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],d7=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],E7=[0,[17,0,0],QB(bv)],k7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h7=QB(Gu),y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C7=QB(BA),w7=QB(Zo),A7=QB(Jl),_7=[0,[17,0,0],QB(bv)],g7=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B7=[0,[15,0],QB(lD)],S7=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x7=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T7=[0,[17,0,[12,41,0]],QB(ce)],I7=[0,[15,0],QB(lD)],N7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Expression@ ")],O7=[0,[17,0,[12,41,0]],QB(ce)],L7=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Spread"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Spread@ ")],P7=[0,[17,0,[12,41,0]],QB(ce)],R7=[0,[15,0],QB(lD)],M7=QB(cp),j7=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],U7=QB("Flow_ast.Expression.Conditional.test"),X7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G7=[0,[17,0,0],QB(bv)],J7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q7=QB(Rp),z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W7=[0,[17,0,0],QB(bv)],V7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$7=QB(qF),Y7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H7=[0,[17,0,0],QB(bv)],K7=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q7=QB(Gu),Z7=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r8=QB(BA),e8=QB(Zo),t8=QB(Jl),n8=[0,[17,0,0],QB(bv)],u8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],a8=[0,[15,0],QB(lD)],i8=QB(cp),c8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],f8=QB("Flow_ast.Expression.Logical.operator"),o8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],s8=[0,[17,0,0],QB(bv)],l8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],v8=QB(of),D8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],p8=[0,[17,0,0],QB(bv)],b8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F8=QB(iu),m8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d8=[0,[17,0,0],QB(bv)],E8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],k8=QB(Gu),h8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],y8=QB(BA),C8=QB(Zo),w8=QB(Jl),A8=[0,[17,0,0],QB(bv)],_8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],g8=[0,[15,0],QB(lD)],B8=QB("Flow_ast.Expression.Logical.Or"),S8=QB("Flow_ast.Expression.Logical.And"),x8=QB("Flow_ast.Expression.Logical.NullishCoalesce"),T8=[0,[15,0],QB(lD)],I8=QB(cp),N8=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],O8=QB("Flow_ast.Expression.Update.operator"),L8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P8=[0,[17,0,0],QB(bv)],R8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M8=QB(QC),j8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U8=[0,[17,0,0],QB(bv)],X8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],G8=QB(CD),J8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q8=[0,[9,0,0],QB(kb)],z8=[0,[17,0,0],QB(bv)],W8=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],V8=QB(Gu),$8=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Y8=QB(BA),H8=QB(Zo),K8=QB(Jl),Q8=[0,[17,0,0],QB(bv)],Z8=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],r3=[0,[15,0],QB(lD)],e3=QB("Flow_ast.Expression.Update.Decrement"),t3=QB("Flow_ast.Expression.Update.Increment"),n3=[0,[15,0],QB(lD)],u3=QB(cp),a3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],i3=QB("Flow_ast.Expression.Assignment.operator"),c3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],f3=QB(BA),o3=QB(Zo),s3=QB(Jl),l3=[0,[17,0,0],QB(bv)],v3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],D3=QB(of),p3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],b3=[0,[17,0,0],QB(bv)],F3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],m3=QB(iu),d3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],E3=[0,[17,0,0],QB(bv)],k3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],h3=QB(Gu),y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],C3=QB(BA),w3=QB(Zo),A3=QB(Jl),_3=[0,[17,0,0],QB(bv)],g3=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],B3=[0,[15,0],QB(lD)],S3=QB("Flow_ast.Expression.Assignment.PlusAssign"),x3=QB("Flow_ast.Expression.Assignment.MinusAssign"),T3=QB("Flow_ast.Expression.Assignment.MultAssign"),I3=QB("Flow_ast.Expression.Assignment.ExpAssign"),N3=QB("Flow_ast.Expression.Assignment.DivAssign"),O3=QB("Flow_ast.Expression.Assignment.ModAssign"),L3=QB("Flow_ast.Expression.Assignment.LShiftAssign"),P3=QB("Flow_ast.Expression.Assignment.RShiftAssign"),R3=QB("Flow_ast.Expression.Assignment.RShift3Assign"),M3=QB("Flow_ast.Expression.Assignment.BitOrAssign"),j3=QB("Flow_ast.Expression.Assignment.BitXorAssign"),U3=QB("Flow_ast.Expression.Assignment.BitAndAssign"),X3=[0,[15,0],QB(lD)],G3=QB(cp),J3=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],q3=QB("Flow_ast.Expression.Binary.operator"),z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W3=[0,[17,0,0],QB(bv)],V3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$3=QB(of),Y3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],H3=[0,[17,0,0],QB(bv)],K3=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Q3=QB(iu),Z3=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],r4=[0,[17,0,0],QB(bv)],e4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],t4=QB(Gu),n4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],u4=QB(BA),a4=QB(Zo),i4=QB(Jl),c4=[0,[17,0,0],QB(bv)],f4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],o4=[0,[15,0],QB(lD)],s4=QB("Flow_ast.Expression.Binary.Equal"),l4=QB("Flow_ast.Expression.Binary.NotEqual"),v4=QB("Flow_ast.Expression.Binary.StrictEqual"),D4=QB("Flow_ast.Expression.Binary.StrictNotEqual"),p4=QB("Flow_ast.Expression.Binary.LessThan"),b4=QB("Flow_ast.Expression.Binary.LessThanEqual"),F4=QB("Flow_ast.Expression.Binary.GreaterThan"),m4=QB("Flow_ast.Expression.Binary.GreaterThanEqual"),d4=QB("Flow_ast.Expression.Binary.LShift"),E4=QB("Flow_ast.Expression.Binary.RShift"),k4=QB("Flow_ast.Expression.Binary.RShift3"),h4=QB("Flow_ast.Expression.Binary.Plus"),y4=QB("Flow_ast.Expression.Binary.Minus"),C4=QB("Flow_ast.Expression.Binary.Mult"),w4=QB("Flow_ast.Expression.Binary.Exp"),A4=QB("Flow_ast.Expression.Binary.Div"),_4=QB("Flow_ast.Expression.Binary.Mod"),g4=QB("Flow_ast.Expression.Binary.BitOr"),B4=QB("Flow_ast.Expression.Binary.Xor"),S4=QB("Flow_ast.Expression.Binary.BitAnd"),x4=QB("Flow_ast.Expression.Binary.In"),T4=QB("Flow_ast.Expression.Binary.Instanceof"),I4=[0,[15,0],QB(lD)],N4=QB(cp),O4=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],L4=QB("Flow_ast.Expression.Unary.operator"),P4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],R4=[0,[17,0,0],QB(bv)],M4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],j4=QB(QC),U4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],X4=[0,[17,0,0],QB(bv)],G4=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],J4=QB(Gu),q4=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],z4=QB(BA),W4=QB(Zo),V4=QB(Jl),$4=[0,[17,0,0],QB(bv)],Y4=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],H4=[0,[15,0],QB(lD)],K4=QB("Flow_ast.Expression.Unary.Minus"),Q4=QB("Flow_ast.Expression.Unary.Plus"),Z4=QB("Flow_ast.Expression.Unary.Not"),r6=QB("Flow_ast.Expression.Unary.BitNot"),e6=QB("Flow_ast.Expression.Unary.Typeof"),t6=QB("Flow_ast.Expression.Unary.Void"),n6=QB("Flow_ast.Expression.Unary.Delete"),u6=QB("Flow_ast.Expression.Unary.Await"),a6=[0,[15,0],QB(lD)],i6=QB(cp),c6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o6=QB("Flow_ast.Expression.Sequence.expressions"),s6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D6=[0,[17,0,0],QB(bv)],p6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b6=QB(Gu),F6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m6=QB(BA),d6=QB(Zo),E6=QB(Jl),k6=[0,[17,0,0],QB(bv)],h6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y6=[0,[15,0],QB(lD)],C6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],w6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],A6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],g6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],B6=QB("Flow_ast.Expression.Object.properties"),S6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],T6=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],I6=[0,[17,0,0],QB(bv)],N6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],O6=QB(Gu),L6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],P6=QB(BA),R6=QB(Zo),M6=QB(Jl),j6=[0,[17,0,0],QB(bv)],U6=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],X6=[0,[15,0],QB(lD)],G6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.Property@ ")],J6=[0,[17,0,[12,41,0]],QB(ce)],q6=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],z6=[0,[17,0,[12,41,0]],QB(ce)],W6=[0,[15,0],QB(lD)],V6=QB(cp),$6=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Y6=QB("Flow_ast.Expression.Object.SpreadProperty.argument"),H6=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],K6=[0,[17,0,0],QB(bv)],Q6=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z6=QB(Gu),r5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],e5=QB(BA),t5=QB(Zo),n5=QB(Jl),u5=[0,[17,0,0],QB(bv)],a5=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],i5=[0,[15,0],QB(lD)],c5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],f5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],o5=[0,[17,0,[12,41,0]],QB(ce)],s5=[0,[15,0],QB(lD)],l5=QB(cp),v5=QB(cp),D5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Init {"),[17,[0,QB(Ro),0,0],0]]],QB("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],p5=QB(DB),b5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],F5=[0,[17,0,0],QB(bv)],m5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],d5=QB(Im),E5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],k5=[0,[17,0,0],QB(bv)],h5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],y5=QB(Qh),C5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],w5=[0,[9,0,0],QB(kb)],A5=[0,[17,0,0],QB(bv)],_5=[0,[17,0,[12,gd,0]],QB(gA)],g5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Method {"),[17,[0,QB(Ro),0,0],0]]],QB("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],B5=QB(DB),S5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],x5=[0,[17,0,0],QB(bv)],T5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],I5=QB(Im),N5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],L5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],P5=[0,[17,0,[12,41,0]],QB(ce)],R5=[0,[17,0,0],QB(bv)],M5=[0,[17,0,[12,gd,0]],QB(gA)],j5=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Get {"),[17,[0,QB(Ro),0,0],0]]],QB("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],U5=QB(DB),X5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],G5=[0,[17,0,0],QB(bv)],J5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],q5=QB(Im),z5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],W5=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V5=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$5=[0,[17,0,[12,41,0]],QB(ce)],Y5=[0,[17,0,0],QB(bv)],H5=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],K5=QB(Gu),Q5=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z5=QB(BA),r9=QB(Zo),e9=QB(Jl),t9=[0,[17,0,0],QB(bv)],n9=[0,[17,0,[12,gd,0]],QB(gA)],u9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Set {"),[17,[0,QB(Ro),0,0],0]]],QB("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],a9=QB(DB),i9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],c9=[0,[17,0,0],QB(bv)],f9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],o9=QB(Im),s9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],v9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],D9=[0,[17,0,[12,41,0]],QB(ce)],p9=[0,[17,0,0],QB(bv)],b9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],F9=QB(Gu),m9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],d9=QB(BA),E9=QB(Zo),k9=QB(Jl),h9=[0,[17,0,0],QB(bv)],y9=[0,[17,0,[12,gd,0]],QB(gA)],C9=[0,[15,0],QB(lD)],w9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],A9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_9=[0,[17,0,[12,41,0]],QB(ce)],g9=[0,[15,0],QB(lD)],B9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Literal"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],S9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],x9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],T9=[0,[17,0,[12,41,0]],QB(ce)],I9=[0,[17,0,[12,41,0]],QB(ce)],N9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],O9=[0,[17,0,[12,41,0]],QB(ce)],L9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],P9=[0,[17,0,[12,41,0]],QB(ce)],R9=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Object.Property.Computed"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],M9=[0,[17,0,[12,41,0]],QB(ce)],j9=[0,[15,0],QB(lD)],U9=QB(cp),X9=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],G9=QB("Flow_ast.Expression.TaggedTemplate.tag"),J9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],q9=[0,[17,0,0],QB(bv)],z9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],W9=QB(Oy),V9=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$9=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Y9=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],H9=[0,[17,0,[12,41,0]],QB(ce)],K9=[0,[17,0,0],QB(bv)],Q9=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Z9=QB(Gu),rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],err=QB(BA),trr=QB(Zo),nrr=QB(Jl),urr=[0,[17,0,0],QB(bv)],arr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],irr=[0,[15,0],QB(lD)],crr=QB(cp),frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],orr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],srr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lrr=QB("Flow_ast.Expression.TemplateLiteral.quasis"),vrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Drr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],prr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],brr=[0,[17,0,0],QB(bv)],Frr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],mrr=QB(Hm),drr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Err=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],krr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hrr=[0,[17,0,0],QB(bv)],yrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Crr=QB(Gu),wrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Arr=QB(BA),_rr=QB(Zo),grr=QB(Jl),Brr=[0,[17,0,0],QB(bv)],Srr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xrr=[0,[15,0],QB(lD)],Trr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Irr=QB("Flow_ast.Expression.TemplateLiteral.Element.value"),Nrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Orr=[0,[17,0,0],QB(bv)],Lrr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Prr=QB(Gr),Rrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mrr=[0,[9,0,0],QB(kb)],jrr=[0,[17,0,0],QB(bv)],Urr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xrr=[0,[15,0],QB(lD)],Grr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jrr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qrr=[0,[17,0,[12,41,0]],QB(ce)],zrr=[0,[15,0],QB(lD)],Wrr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Vrr=QB("Flow_ast.Expression.TemplateLiteral.Element.raw"),$rr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yrr=[0,[3,0,0],QB(Ly)],Hrr=[0,[17,0,0],QB(bv)],Krr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qrr=QB(KC),Zrr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rer=[0,[3,0,0],QB(Ly)],eer=[0,[17,0,0],QB(bv)],ter=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ner=[0,[15,0],QB(lD)],uer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ier=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],cer=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],oer=QB("Flow_ast.Expression.Array.elements"),ser=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ler=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ver=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Der=[0,[17,0,0],QB(bv)],per=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ber=QB(Gu),Fer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mer=QB(BA),der=QB(Zo),Eer=QB(Jl),ker=[0,[17,0,0],QB(bv)],her=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],yer=[0,[15,0],QB(lD)],Cer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Array.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Array.Expression@ ")],wer=[0,[17,0,[12,41,0]],QB(ce)],Aer=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Array.Spread"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Array.Spread@ ")],_er=[0,[17,0,[12,41,0]],QB(ce)],ger=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.Array.Hole"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.Array.Hole@ ")],Ber=[0,[17,0,[12,41,0]],QB(ce)],Ser=[0,[15,0],QB(lD)],xer=QB(cp),Ter=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ier=QB("Flow_ast.Expression.SpreadElement.argument"),Ner=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oer=[0,[17,0,0],QB(bv)],Ler=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Per=QB(Gu),Rer=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mer=QB(BA),jer=QB(Zo),Uer=QB(Jl),Xer=[0,[17,0,0],QB(bv)],Ger=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jer=[0,[15,0],QB(lD)],qer=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zer=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Wer=[0,[17,0,[12,41,0]],QB(ce)],Ver=[0,[15,0],QB(lD)],$er=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Her=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Ker=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qer=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Zer=QB("Flow_ast.Expression.CallTypeArgs.arguments"),rtr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],etr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],ttr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],ntr=[0,[17,0,0],QB(bv)],utr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],atr=QB(Gu),itr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ctr=QB(BA),ftr=QB(Zo),otr=QB(Jl),str=[0,[17,0,0],QB(bv)],ltr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vtr=[0,[15,0],QB(lD)],Dtr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ptr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],btr=[0,[17,0,[12,41,0]],QB(ce)],Ftr=[0,[15,0],QB(lD)],mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],dtr=[0,[17,0,[12,41,0]],QB(ce)],Etr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],ktr=[0,[17,0,[12,41,0]],QB(ce)],htr=[0,[15,0],QB(lD)],ytr=QB(cp),Ctr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wtr=QB("Flow_ast.Expression.CallTypeArg.Implicit.comments"),Atr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_tr=QB(BA),gtr=QB(Zo),Btr=QB(Jl),Str=[0,[17,0,0],QB(bv)],xtr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ttr=[0,[15,0],QB(lD)],Itr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Ntr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Otr=[0,[17,0,[12,41,0]],QB(ce)],Ltr=[0,[15,0],QB(lD)],Ptr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Block"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Block@ ")],Rtr=[0,[17,0,[12,41,0]],QB(ce)],Mtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Break"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Break@ ")],jtr=[0,[17,0,[12,41,0]],QB(ce)],Utr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ClassDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],Xtr=[0,[17,0,[12,41,0]],QB(ce)],Gtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Continue"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Continue@ ")],Jtr=[0,[17,0,[12,41,0]],QB(ce)],qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Debugger"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Debugger@ ")],ztr=[0,[17,0,[12,41,0]],QB(ce)],Wtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareClass"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareClass@ ")],Vtr=[0,[17,0,[12,41,0]],QB(ce)],$tr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],Ytr=[0,[17,0,[12,41,0]],QB(ce)],Htr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareFunction"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],Ktr=[0,[17,0,[12,41,0]],QB(ce)],Qtr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareInterface"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],Ztr=[0,[17,0,[12,41,0]],QB(ce)],rnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModule"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModule@ ")],enr=[0,[17,0,[12,41,0]],QB(ce)],tnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModuleExports"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],nnr=[0,[17,0,[12,41,0]],QB(ce)],unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],anr=[0,[17,0,[12,41,0]],QB(ce)],inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],cnr=[0,[17,0,[12,41,0]],QB(ce)],fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareVariable"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],onr=[0,[17,0,[12,41,0]],QB(ce)],snr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DoWhile"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DoWhile@ ")],lnr=[0,[17,0,[12,41,0]],QB(ce)],vnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Empty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Empty@ ")],Dnr=[0,[17,0,[12,41,0]],QB(ce)],pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],bnr=[0,[17,0,[12,41,0]],QB(ce)],Fnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],mnr=[0,[17,0,[12,41,0]],QB(ce)],dnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],Enr=[0,[17,0,[12,41,0]],QB(ce)],knr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Expression@ ")],hnr=[0,[17,0,[12,41,0]],QB(ce)],ynr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.For"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.For@ ")],Cnr=[0,[17,0,[12,41,0]],QB(ce)],wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForIn"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForIn@ ")],Anr=[0,[17,0,[12,41,0]],QB(ce)],_nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForOf"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForOf@ ")],gnr=[0,[17,0,[12,41,0]],QB(ce)],Bnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.FunctionDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],Snr=[0,[17,0,[12,41,0]],QB(ce)],xnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.If"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.If@ ")],Tnr=[0,[17,0,[12,41,0]],QB(ce)],Inr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ImportDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],Nnr=[0,[17,0,[12,41,0]],QB(ce)],Onr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],Lnr=[0,[17,0,[12,41,0]],QB(ce)],Pnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Labeled"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Labeled@ ")],Rnr=[0,[17,0,[12,41,0]],QB(ce)],Mnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Return"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Return@ ")],jnr=[0,[17,0,[12,41,0]],QB(ce)],Unr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Switch"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Switch@ ")],Xnr=[0,[17,0,[12,41,0]],QB(ce)],Gnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Throw"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Throw@ ")],Jnr=[0,[17,0,[12,41,0]],QB(ce)],qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.Try"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.Try@ ")],znr=[0,[17,0,[12,41,0]],QB(ce)],Wnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.TypeAlias"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.TypeAlias@ ")],Vnr=[0,[17,0,[12,41,0]],QB(ce)],$nr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.OpaqueType"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.OpaqueType@ ")],Ynr=[0,[17,0,[12,41,0]],QB(ce)],Hnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.VariableDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],Knr=[0,[17,0,[12,41,0]],QB(ce)],Qnr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.While"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.While@ ")],Znr=[0,[17,0,[12,41,0]],QB(ce)],rur=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.With"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.With@ ")],eur=[0,[17,0,[12,41,0]],QB(ce)],tur=[0,[15,0],QB(lD)],nur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aur=[0,[17,0,[12,41,0]],QB(ce)],iur=[0,[15,0],QB(lD)],cur=QB("Flow_ast.Statement.ExportValue"),fur=QB("Flow_ast.Statement.ExportType"),our=[0,[15,0],QB(lD)],sur=QB(cp),lur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vur=QB("Flow_ast.Statement.Empty.comments"),Dur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pur=QB(BA),bur=QB(Zo),Fur=QB(Jl),mur=[0,[17,0,0],QB(bv)],dur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Eur=[0,[15,0],QB(lD)],kur=QB(cp),hur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yur=QB("Flow_ast.Statement.Expression.expression"),Cur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wur=[0,[17,0,0],QB(bv)],Aur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_ur=QB(m),gur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bur=QB(BA),Sur=[0,[3,0,0],QB(Ly)],xur=QB(Zo),Tur=QB(Jl),Iur=[0,[17,0,0],QB(bv)],Nur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Our=QB(Gu),Lur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pur=QB(BA),Rur=QB(Zo),Mur=QB(Jl),jur=[0,[17,0,0],QB(bv)],Uur=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xur=[0,[15,0],QB(lD)],Gur=QB(cp),Jur=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qur=QB("Flow_ast.Statement.ImportDeclaration.import_kind"),zur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wur=[0,[17,0,0],QB(bv)],Vur=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$ur=QB(fg),Yur=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hur=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kur=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qur=[0,[17,0,[12,41,0]],QB(ce)],Zur=[0,[17,0,0],QB(bv)],rar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ear=QB(JC),tar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nar=QB(BA),uar=QB(Zo),aar=QB(Jl),iar=[0,[17,0,0],QB(bv)],car=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],far=QB(BB),oar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sar=QB(BA),lar=QB(Zo),Dar=QB(Jl),par=[0,[17,0,0],QB(bv)],bar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Far=QB(Gu),mar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dar=QB(BA),Ear=QB(Zo),kar=QB(Jl),har=[0,[17,0,0],QB(bv)],yar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Car=[0,[15,0],QB(lD)],war=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Aar=QB("Flow_ast.Statement.ImportDeclaration.kind"),_ar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gar=QB(BA),Bar=QB(Zo),Sar=QB(Jl),xar=[0,[17,0,0],QB(bv)],Tar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Iar=QB(Xs),Nar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Oar=QB(BA),Lar=QB(Zo),Par=QB(Jl),Rar=[0,[17,0,0],QB(bv)],Mar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jar=QB("remote"),Uar=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xar=[0,[17,0,0],QB(bv)],Gar=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jar=[0,[15,0],QB(lD)],qar=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],War=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Var=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$ar=[0,[17,0,[12,41,0]],QB(ce)],Yar=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],Har=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Kar=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Qar=[0,[17,0,[12,41,0]],QB(ce)],Zar=[0,[17,0,[12,41,0]],QB(ce)],rir=[0,[15,0],QB(lD)],eir=QB("Flow_ast.Statement.ImportDeclaration.ImportType"),tir=QB("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),nir=QB("Flow_ast.Statement.ImportDeclaration.ImportValue"),uir=[0,[15,0],QB(lD)],air=QB(cp),iir=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],cir=QB("Flow_ast.Statement.DeclareExportDeclaration.default"),fir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oir=QB(BA),sir=QB(Zo),lir=QB(Jl),vir=[0,[17,0,0],QB(bv)],Dir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pir=QB(Wu),bir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fir=QB(BA),mir=QB(Zo),dir=QB(Jl),Eir=[0,[17,0,0],QB(bv)],kir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hir=QB(BB),yir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cir=QB(BA),wir=QB(Zo),Air=QB(Jl),_ir=[0,[17,0,0],QB(bv)],gir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bir=QB(fg),Sir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xir=QB(BA),Tir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Iir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Nir=[0,[17,0,[12,41,0]],QB(ce)],Oir=QB(Zo),Lir=QB(Jl),Pir=[0,[17,0,0],QB(bv)],Rir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mir=QB(Gu),jir=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uir=QB(BA),Xir=QB(Zo),Gir=QB(Jl),Jir=[0,[17,0,0],QB(bv)],qir=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zir=[0,[15,0],QB(lD)],Wir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Vir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$ir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Yir=[0,[17,0,[12,41,0]],QB(ce)],Hir=[0,[17,0,[12,41,0]],QB(ce)],Kir=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],Qir=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zir=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rcr=[0,[17,0,[12,41,0]],QB(ce)],ecr=[0,[17,0,[12,41,0]],QB(ce)],tcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],ncr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ucr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],acr=[0,[17,0,[12,41,0]],QB(ce)],icr=[0,[17,0,[12,41,0]],QB(ce)],ccr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],fcr=[0,[17,0,[12,41,0]],QB(ce)],ocr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],scr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],lcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],vcr=[0,[17,0,[12,41,0]],QB(ce)],Dcr=[0,[17,0,[12,41,0]],QB(ce)],pcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],bcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mcr=[0,[17,0,[12,41,0]],QB(ce)],dcr=[0,[17,0,[12,41,0]],QB(ce)],Ecr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],kcr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hcr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ycr=[0,[17,0,[12,41,0]],QB(ce)],Ccr=[0,[17,0,[12,41,0]],QB(ce)],wcr=[0,[15,0],QB(lD)],Acr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],_cr=[0,[17,0,[12,41,0]],QB(ce)],gcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],Bcr=[0,[17,0,[12,41,0]],QB(ce)],Scr=[0,[15,0],QB(lD)],xcr=QB(cp),Tcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Icr=QB("Flow_ast.Statement.ExportDefaultDeclaration.default"),Ncr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ocr=[0,[17,0,0],QB(bv)],Lcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pcr=QB(Wu),Rcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mcr=[0,[17,0,0],QB(bv)],jcr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ucr=QB(Gu),Xcr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gcr=QB(BA),Jcr=QB(Zo),qcr=QB(Jl),zcr=[0,[17,0,0],QB(bv)],Wcr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Vcr=[0,[15,0],QB(lD)],$cr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ycr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],Hcr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Kcr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Qcr=[0,[17,0,[12,41,0]],QB(ce)],Zcr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier ("),[17,[0,QB(Ro),0,0],0]]]],QB("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier (@,")],rfr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],efr=QB(BA),tfr=QB(Zo),nfr=QB(Jl),ufr=[0,[17,[0,QB(Ro),0,0],[11,QB(eF),[17,0,0]]],QB(Xn)],afr=[0,[15,0],QB(lD)],ifr=QB(cp),cfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ffr=QB("Flow_ast.Statement.ExportNamedDeclaration.declaration"),ofr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sfr=QB(BA),lfr=QB(Zo),vfr=QB(Jl),Dfr=[0,[17,0,0],QB(bv)],pfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bfr=QB(BB),Ffr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mfr=QB(BA),dfr=QB(Zo),Efr=QB(Jl),kfr=[0,[17,0,0],QB(bv)],hfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],yfr=QB(fg),Cfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wfr=QB(BA),Afr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],_fr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],gfr=[0,[17,0,[12,41,0]],QB(ce)],Bfr=QB(Zo),Sfr=QB(Jl),xfr=[0,[17,0,0],QB(bv)],Tfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ifr=QB("export_kind"),Nfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ofr=[0,[17,0,0],QB(bv)],Lfr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pfr=QB(Gu),Rfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mfr=QB(BA),jfr=QB(Zo),Ufr=QB(Jl),Xfr=[0,[17,0,0],QB(bv)],Gfr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Jfr=[0,[15,0],QB(lD)],qfr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zfr=QB("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),Wfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vfr=[0,[17,0,0],QB(bv)],$fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yfr=QB(Yt),Hfr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kfr=QB(BA),Qfr=QB(Zo),Zfr=QB(Jl),ror=[0,[17,0,0],QB(bv)],eor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tor=[0,[15,0],QB(lD)],nor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aor=[0,[17,0,[12,41,0]],QB(ce)],ior=[0,[15,0],QB(lD)],cor=QB(cp),oor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sor=QB("Flow_ast.Statement.DeclareModuleExports.annot"),lor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vor=[0,[17,0,0],QB(bv)],Dor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],por=QB(Gu),bor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],For=QB(BA),mor=QB(Zo),dor=QB(Jl),Eor=[0,[17,0,0],QB(bv)],kor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hor=[0,[15,0],QB(lD)],yor=QB(cp),Cor=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],wor=QB("Flow_ast.Statement.DeclareModule.id"),Aor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],_or=[0,[17,0,0],QB(bv)],gor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bor=QB(AE),Sor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xor=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Tor=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Ior=[0,[17,0,[12,41,0]],QB(ce)],Nor=[0,[17,0,0],QB(bv)],Oor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lor=QB(Xe),Por=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ror=[0,[17,0,0],QB(bv)],Mor=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jor=QB(Gu),Uor=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Xor=QB(BA),Gor=QB(Zo),Jor=QB(Jl),qor=[0,[17,0,0],QB(bv)],zor=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Wor=[0,[15,0],QB(lD)],Vor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModule.CommonJS"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModule.CommonJS@ ")],$or=[0,[17,0,[12,41,0]],QB(ce)],Yor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModule.ES"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModule.ES@ ")],Hor=[0,[17,0,[12,41,0]],QB(ce)],Kor=[0,[15,0],QB(lD)],Qor=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],Zor=[0,[17,0,[12,41,0]],QB(ce)],rsr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],esr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],tsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],nsr=[0,[17,0,[12,41,0]],QB(ce)],usr=[0,[17,0,[12,41,0]],QB(ce)],asr=[0,[15,0],QB(lD)],isr=QB(cp),csr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],fsr=QB("Flow_ast.Statement.DeclareFunction.id"),osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ssr=[0,[17,0,0],QB(bv)],lsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vsr=QB(ra),Dsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],psr=[0,[17,0,0],QB(bv)],bsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fsr=QB(av),msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dsr=QB(BA),Esr=QB(Zo),ksr=QB(Jl),hsr=[0,[17,0,0],QB(bv)],ysr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Csr=QB(Gu),wsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Asr=QB(BA),_sr=QB(Zo),gsr=QB(Jl),Bsr=[0,[17,0,0],QB(bv)],Ssr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xsr=[0,[15,0],QB(lD)],Tsr=QB(cp),Isr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nsr=QB("Flow_ast.Statement.DeclareVariable.id"),Osr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lsr=[0,[17,0,0],QB(bv)],Psr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Rsr=QB(ra),Msr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jsr=[0,[17,0,0],QB(bv)],Usr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xsr=QB(Gu),Gsr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jsr=QB(BA),qsr=QB(Zo),zsr=QB(Jl),Wsr=[0,[17,0,0],QB(bv)],Vsr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$sr=[0,[15,0],QB(lD)],Ysr=QB(cp),Hsr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ksr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Qsr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Zsr=[0,[17,0,[12,41,0]],QB(ce)],rlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],elr=QB("Flow_ast.Statement.DeclareClass.id"),tlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nlr=[0,[17,0,0],QB(bv)],ulr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],alr=QB(yr),ilr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],clr=QB(BA),flr=QB(Zo),olr=QB(Jl),slr=[0,[17,0,0],QB(bv)],llr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vlr=QB(AE),Dlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],plr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],blr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Flr=[0,[17,0,[12,41,0]],QB(ce)],mlr=[0,[17,0,0],QB(bv)],dlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Elr=QB(Dp),klr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hlr=QB(BA),ylr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Clr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wlr=[0,[17,0,[12,41,0]],QB(ce)],Alr=QB(Zo),_lr=QB(Jl),glr=[0,[17,0,0],QB(bv)],Blr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Slr=QB(ot),xlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Tlr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ilr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nlr=[0,[17,0,0],QB(bv)],Olr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Llr=QB(Fe),Plr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rlr=QB(BA),Mlr=QB(Zo),jlr=QB(Jl),Ulr=[0,[17,0,0],QB(bv)],Xlr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Glr=QB(Gu),Jlr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qlr=QB(BA),zlr=QB(Zo),Wlr=QB(Jl),Vlr=[0,[17,0,0],QB(bv)],$lr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ylr=[0,[15,0],QB(lD)],Hlr=QB(cp),Klr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qlr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Zlr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rvr=[0,[17,0,[12,41,0]],QB(ce)],evr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tvr=QB("Flow_ast.Statement.Interface.id"),nvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uvr=[0,[17,0,0],QB(bv)],avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ivr=QB(yr),cvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fvr=QB(BA),ovr=QB(Zo),svr=QB(Jl),lvr=[0,[17,0,0],QB(bv)],vvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Dvr=QB(Dp),pvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bvr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Fvr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mvr=[0,[17,0,0],QB(bv)],dvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Evr=QB(AE),kvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],yvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cvr=[0,[17,0,[12,41,0]],QB(ce)],wvr=[0,[17,0,0],QB(bv)],Avr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_vr=QB(Gu),gvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bvr=QB(BA),Svr=QB(Zo),xvr=QB(Jl),Tvr=[0,[17,0,0],QB(bv)],Ivr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Nvr=[0,[15,0],QB(lD)],Ovr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],Lvr=[0,[17,0,[12,41,0]],QB(ce)],Pvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],Rvr=[0,[17,0,[12,41,0]],QB(ce)],Mvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],jvr=[0,[17,0,[12,41,0]],QB(ce)],Uvr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],Xvr=[0,[17,0,[12,41,0]],QB(ce)],Gvr=[0,[15,0],QB(lD)],Jvr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],qvr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],zvr=[0,[17,0,[12,41,0]],QB(ce)],Wvr=[0,[15,0],QB(lD)],Vvr=QB(cp),$vr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Yvr=QB("Flow_ast.Statement.EnumDeclaration.id"),Hvr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kvr=[0,[17,0,0],QB(bv)],Qvr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Zvr=QB(AE),rDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eDr=[0,[17,0,0],QB(bv)],tDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nDr=QB(Gu),uDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aDr=QB(BA),iDr=QB(Zo),cDr=QB(Jl),fDr=[0,[17,0,0],QB(bv)],oDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sDr=[0,[15,0],QB(lD)],lDr=QB(cp),vDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pDr=QB("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),bDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],mDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],dDr=[0,[17,0,0],QB(bv)],EDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kDr=QB(ve),hDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yDr=[0,[9,0,0],QB(kb)],CDr=[0,[17,0,0],QB(bv)],wDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ADr=QB(Gu),_Dr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gDr=QB(BA),BDr=QB(Zo),SDr=QB(Jl),xDr=[0,[17,0,0],QB(bv)],TDr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IDr=[0,[15,0],QB(lD)],NDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ODr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],PDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],RDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],MDr=[0,[17,0,[12,41,0]],QB(ce)],jDr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],UDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],XDr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],GDr=[0,[17,0,[12,41,0]],QB(ce)],JDr=[0,[15,0],QB(lD)],qDr=QB(cp),zDr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],WDr=QB("Flow_ast.Statement.EnumDeclaration.StringBody.members"),VDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Dr=[0,[17,0,0],QB(bv)],YDr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HDr=QB(wf),KDr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QDr=[0,[9,0,0],QB(kb)],ZDr=[0,[17,0,0],QB(bv)],rpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],epr=QB(ve),tpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],npr=[0,[9,0,0],QB(kb)],upr=[0,[17,0,0],QB(bv)],apr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ipr=QB(Gu),cpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fpr=QB(BA),opr=QB(Zo),spr=QB(Jl),lpr=[0,[17,0,0],QB(bv)],vpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dpr=[0,[15,0],QB(lD)],ppr=QB(cp),bpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mpr=QB("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),dpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Epr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],kpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],hpr=[0,[17,0,0],QB(bv)],ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cpr=QB(wf),wpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Apr=[0,[9,0,0],QB(kb)],_pr=[0,[17,0,0],QB(bv)],gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bpr=QB(ve),Spr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xpr=[0,[9,0,0],QB(kb)],Tpr=[0,[17,0,0],QB(bv)],Ipr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Npr=QB(Gu),Opr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lpr=QB(BA),Ppr=QB(Zo),Rpr=QB(Jl),Mpr=[0,[17,0,0],QB(bv)],jpr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Upr=[0,[15,0],QB(lD)],Xpr=QB(cp),Gpr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Jpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],qpr=QB("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),zpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wpr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Vpr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],$pr=[0,[17,0,0],QB(bv)],Ypr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hpr=QB(wf),Kpr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qpr=[0,[9,0,0],QB(kb)],Zpr=[0,[17,0,0],QB(bv)],rbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ebr=QB(ve),tbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nbr=[0,[9,0,0],QB(kb)],ubr=[0,[17,0,0],QB(bv)],abr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ibr=QB(Gu),cbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fbr=QB(BA),obr=QB(Zo),sbr=QB(Jl),lbr=[0,[17,0,0],QB(bv)],vbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Dbr=[0,[15,0],QB(lD)],pbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],bbr=QB("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),Fbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],mbr=[0,[17,0,0],QB(bv)],dbr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ebr=QB(nk),kbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ybr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Cbr=[0,[17,0,[12,41,0]],QB(ce)],wbr=[0,[17,0,0],QB(bv)],Abr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],_br=[0,[15,0],QB(lD)],gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Bbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Sbr=[0,[17,0,[12,41,0]],QB(ce)],xbr=[0,[15,0],QB(lD)],Tbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ibr=QB("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),Nbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Obr=[0,[17,0,0],QB(bv)],Lbr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Pbr=[0,[15,0],QB(lD)],Rbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Mbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],jbr=[0,[17,0,[12,41,0]],QB(ce)],Ubr=[0,[15,0],QB(lD)],Xbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],Gbr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Jbr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],qbr=[0,[17,0,[12,41,0]],QB(ce)],zbr=[0,[17,0,[12,41,0]],QB(ce)],Wbr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],Vbr=[0,[17,0,[12,41,0]],QB(ce)],$br=[0,[15,0],QB(lD)],Ybr=QB(cp),Hbr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Kbr=QB("Flow_ast.Statement.ForOf.left"),Qbr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Zbr=[0,[17,0,0],QB(bv)],rFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eFr=QB(iu),tFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nFr=[0,[17,0,0],QB(bv)],uFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aFr=QB(AE),iFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cFr=[0,[17,0,0],QB(bv)],fFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oFr=QB(tf),sFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lFr=[0,[9,0,0],QB(kb)],vFr=[0,[17,0,0],QB(bv)],DFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pFr=QB(Gu),bFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FFr=QB(BA),mFr=QB(Zo),dFr=QB(Jl),EFr=[0,[17,0,0],QB(bv)],kFr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hFr=[0,[15,0],QB(lD)],yFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],CFr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],wFr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],AFr=[0,[17,0,[12,41,0]],QB(ce)],_Fr=[0,[17,0,[12,41,0]],QB(ce)],gFr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],BFr=[0,[17,0,[12,41,0]],QB(ce)],SFr=[0,[15,0],QB(lD)],xFr=QB(cp),TFr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],IFr=QB("Flow_ast.Statement.ForIn.left"),NFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OFr=[0,[17,0,0],QB(bv)],LFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],PFr=QB(iu),RFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],MFr=[0,[17,0,0],QB(bv)],jFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],UFr=QB(AE),XFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GFr=[0,[17,0,0],QB(bv)],JFr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qFr=QB(Cl),zFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],WFr=[0,[9,0,0],QB(kb)],VFr=[0,[17,0,0],QB(bv)],$Fr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],YFr=QB(Gu),HFr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KFr=QB(BA),QFr=QB(Zo),ZFr=QB(Jl),rmr=[0,[17,0,0],QB(bv)],emr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tmr=[0,[15,0],QB(lD)],nmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.For.InitDeclaration"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],umr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],amr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],imr=[0,[17,0,[12,41,0]],QB(ce)],cmr=[0,[17,0,[12,41,0]],QB(ce)],fmr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Statement.For.InitExpression"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],omr=[0,[17,0,[12,41,0]],QB(ce)],smr=[0,[15,0],QB(lD)],lmr=QB(cp),vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Dmr=QB("Flow_ast.Statement.For.init"),pmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bmr=QB(BA),Fmr=QB(Zo),mmr=QB(Jl),dmr=[0,[17,0,0],QB(bv)],Emr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kmr=QB(rh),hmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ymr=QB(BA),Cmr=QB(Zo),wmr=QB(Jl),Amr=[0,[17,0,0],QB(bv)],_mr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gmr=QB(V),Bmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Smr=QB(BA),xmr=QB(Zo),Tmr=QB(Jl),Imr=[0,[17,0,0],QB(bv)],Nmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Omr=QB(AE),Lmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pmr=[0,[17,0,0],QB(bv)],Rmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mmr=QB(Gu),jmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Umr=QB(BA),Xmr=QB(Zo),Gmr=QB(Jl),Jmr=[0,[17,0,0],QB(bv)],qmr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zmr=[0,[15,0],QB(lD)],Wmr=QB(cp),Vmr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$mr=QB("Flow_ast.Statement.DoWhile.body"),Ymr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hmr=[0,[17,0,0],QB(bv)],Kmr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Qmr=QB(rh),Zmr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rdr=[0,[17,0,0],QB(bv)],edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tdr=QB(Gu),ndr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],udr=QB(BA),adr=QB(Zo),idr=QB(Jl),cdr=[0,[17,0,0],QB(bv)],fdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],odr=[0,[15,0],QB(lD)],sdr=QB(cp),ldr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vdr=QB("Flow_ast.Statement.While.test"),Ddr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pdr=[0,[17,0,0],QB(bv)],bdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fdr=QB(AE),mdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ddr=[0,[17,0,0],QB(bv)],Edr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kdr=QB(Gu),hdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ydr=QB(BA),Cdr=QB(Zo),wdr=QB(Jl),Adr=[0,[17,0,0],QB(bv)],_dr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gdr=[0,[15,0],QB(lD)],Bdr=QB("Flow_ast.Statement.VariableDeclaration.Var"),Sdr=QB("Flow_ast.Statement.VariableDeclaration.Let"),xdr=QB("Flow_ast.Statement.VariableDeclaration.Const"),Tdr=[0,[15,0],QB(lD)],Idr=QB(cp),Ndr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Odr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ldr=QB("Flow_ast.Statement.VariableDeclaration.declarations"),Pdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Mdr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jdr=[0,[17,0,0],QB(bv)],Udr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Xdr=QB(Xe),Gdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Jdr=[0,[17,0,0],QB(bv)],qdr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zdr=QB(Gu),Wdr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vdr=QB(BA),$dr=QB(Zo),Ydr=QB(Jl),Hdr=[0,[17,0,0],QB(bv)],Kdr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qdr=[0,[15,0],QB(lD)],Zdr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],rEr=QB("Flow_ast.Statement.VariableDeclaration.Declarator.id"),eEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tEr=[0,[17,0,0],QB(bv)],nEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uEr=QB(nk),aEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iEr=QB(BA),cEr=QB(Zo),fEr=QB(Jl),oEr=[0,[17,0,0],QB(bv)],sEr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lEr=[0,[15,0],QB(lD)],vEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],DEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],pEr=[0,[17,0,[12,41,0]],QB(ce)],bEr=[0,[15,0],QB(lD)],FEr=QB(cp),mEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],dEr=QB("Flow_ast.Statement.Try.block"),EEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],yEr=[0,[17,0,[12,41,0]],QB(ce)],CEr=[0,[17,0,0],QB(bv)],wEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AEr=QB(Kn),_Er=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gEr=QB(BA),BEr=QB(Zo),SEr=QB(Jl),xEr=[0,[17,0,0],QB(bv)],TEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IEr=QB(bl),NEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OEr=QB(BA),LEr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],PEr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],REr=[0,[17,0,[12,41,0]],QB(ce)],MEr=QB(Zo),jEr=QB(Jl),UEr=[0,[17,0,0],QB(bv)],XEr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],GEr=QB(Gu),JEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qEr=QB(BA),zEr=QB(Zo),WEr=QB(Jl),VEr=[0,[17,0,0],QB(bv)],$Er=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],YEr=[0,[15,0],QB(lD)],HEr=QB(cp),KEr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],QEr=QB("Flow_ast.Statement.Try.CatchClause.param"),ZEr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rkr=QB(BA),ekr=QB(Zo),tkr=QB(Jl),nkr=[0,[17,0,0],QB(bv)],ukr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],akr=QB(AE),ikr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ckr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],fkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],okr=[0,[17,0,[12,41,0]],QB(ce)],skr=[0,[17,0,0],QB(bv)],lkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vkr=QB(Gu),Dkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pkr=QB(BA),bkr=QB(Zo),Fkr=QB(Jl),mkr=[0,[17,0,0],QB(bv)],dkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ekr=[0,[15,0],QB(lD)],kkr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hkr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ykr=[0,[17,0,[12,41,0]],QB(ce)],Ckr=[0,[15,0],QB(lD)],wkr=QB(cp),Akr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],_kr=QB("Flow_ast.Statement.Throw.argument"),gkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Bkr=[0,[17,0,0],QB(bv)],Skr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],xkr=QB(Gu),Tkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ikr=QB(BA),Nkr=QB(Zo),Okr=QB(Jl),Lkr=[0,[17,0,0],QB(bv)],Pkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Rkr=[0,[15,0],QB(lD)],Mkr=QB(cp),jkr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ukr=QB("Flow_ast.Statement.Return.argument"),Xkr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Gkr=QB(BA),Jkr=QB(Zo),qkr=QB(Jl),zkr=[0,[17,0,0],QB(bv)],Wkr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vkr=QB(Gu),$kr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ykr=QB(BA),Hkr=QB(Zo),Kkr=QB(Jl),Qkr=[0,[17,0,0],QB(bv)],Zkr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rhr=[0,[15,0],QB(lD)],ehr=QB(cp),thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nhr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uhr=QB("Flow_ast.Statement.Switch.discriminant"),ahr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ihr=[0,[17,0,0],QB(bv)],chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fhr=QB(Sd),ohr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],shr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],vhr=[0,[17,0,0],QB(bv)],Dhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],phr=QB(Gu),bhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fhr=QB(BA),mhr=QB(Zo),dhr=QB(Jl),Ehr=[0,[17,0,0],QB(bv)],khr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hhr=[0,[15,0],QB(lD)],yhr=QB(cp),Chr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],whr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Ahr=QB("Flow_ast.Statement.Switch.Case.test"),_hr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ghr=QB(BA),Bhr=QB(Zo),Shr=QB(Jl),xhr=[0,[17,0,0],QB(bv)],Thr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ihr=QB(Rp),Nhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ohr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Lhr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Phr=[0,[17,0,0],QB(bv)],Rhr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mhr=QB(Gu),jhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uhr=QB(BA),Xhr=QB(Zo),Ghr=QB(Jl),Jhr=[0,[17,0,0],QB(bv)],qhr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],zhr=[0,[15,0],QB(lD)],Whr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Vhr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$hr=[0,[17,0,[12,41,0]],QB(ce)],Yhr=[0,[15,0],QB(lD)],Hhr=QB(cp),Khr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Qhr=QB("Flow_ast.Statement.OpaqueType.id"),Zhr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ryr=[0,[17,0,0],QB(bv)],eyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tyr=QB(yr),nyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uyr=QB(BA),ayr=QB(Zo),iyr=QB(Jl),cyr=[0,[17,0,0],QB(bv)],fyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oyr=QB(fb),syr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lyr=QB(BA),vyr=QB(Zo),Dyr=QB(Jl),pyr=[0,[17,0,0],QB(bv)],byr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fyr=QB(uF),myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dyr=QB(BA),Eyr=QB(Zo),kyr=QB(Jl),hyr=[0,[17,0,0],QB(bv)],yyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Cyr=QB(Gu),wyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Ayr=QB(BA),_yr=QB(Zo),gyr=QB(Jl),Byr=[0,[17,0,0],QB(bv)],Syr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xyr=[0,[15,0],QB(lD)],Tyr=QB(cp),Iyr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Nyr=QB("Flow_ast.Statement.TypeAlias.id"),Oyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Lyr=[0,[17,0,0],QB(bv)],Pyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ryr=QB(yr),Myr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jyr=QB(BA),Uyr=QB(Zo),Xyr=QB(Jl),Gyr=[0,[17,0,0],QB(bv)],Jyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],qyr=QB(iu),zyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Wyr=[0,[17,0,0],QB(bv)],Vyr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$yr=QB(Gu),Yyr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Hyr=QB(BA),Kyr=QB(Zo),Qyr=QB(Jl),Zyr=[0,[17,0,0],QB(bv)],rCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],eCr=[0,[15,0],QB(lD)],tCr=QB(cp),nCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],uCr=QB("Flow_ast.Statement.With._object"),aCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],iCr=[0,[17,0,0],QB(bv)],cCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fCr=QB(AE),oCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sCr=[0,[17,0,0],QB(bv)],lCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vCr=QB(Gu),DCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pCr=QB(BA),bCr=QB(Zo),FCr=QB(Jl),mCr=[0,[17,0,0],QB(bv)],dCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ECr=[0,[15,0],QB(lD)],kCr=QB(cp),hCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yCr=QB("Flow_ast.Statement.Debugger.comments"),CCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wCr=QB(BA),ACr=QB(Zo),_Cr=QB(Jl),gCr=[0,[17,0,0],QB(bv)],BCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],SCr=[0,[15,0],QB(lD)],xCr=QB(cp),TCr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ICr=QB("Flow_ast.Statement.Continue.label"),NCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],OCr=QB(BA),LCr=QB(Zo),PCr=QB(Jl),RCr=[0,[17,0,0],QB(bv)],MCr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jCr=QB(Gu),UCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XCr=QB(BA),GCr=QB(Zo),JCr=QB(Jl),qCr=[0,[17,0,0],QB(bv)],zCr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WCr=[0,[15,0],QB(lD)],VCr=QB(cp),$Cr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],YCr=QB("Flow_ast.Statement.Break.label"),HCr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],KCr=QB(BA),QCr=QB(Zo),ZCr=QB(Jl),rwr=[0,[17,0,0],QB(bv)],ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],twr=QB(Gu),nwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uwr=QB(BA),awr=QB(Zo),iwr=QB(Jl),cwr=[0,[17,0,0],QB(bv)],fwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],owr=[0,[15,0],QB(lD)],swr=QB(cp),lwr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],vwr=QB("Flow_ast.Statement.Labeled.label"),Dwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pwr=[0,[17,0,0],QB(bv)],bwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Fwr=QB(AE),mwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dwr=[0,[17,0,0],QB(bv)],Ewr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],kwr=QB(Gu),hwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ywr=QB(BA),Cwr=QB(Zo),wwr=QB(Jl),Awr=[0,[17,0,0],QB(bv)],_wr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],gwr=[0,[15,0],QB(lD)],Bwr=QB(cp),Swr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],xwr=QB("Flow_ast.Statement.If.test"),Twr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Iwr=[0,[17,0,0],QB(bv)],Nwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Owr=QB(Rp),Lwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Pwr=[0,[17,0,0],QB(bv)],Rwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Mwr=QB(qF),jwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Uwr=QB(BA),Xwr=QB(Zo),Gwr=QB(Jl),Jwr=[0,[17,0,0],QB(bv)],qwr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zwr=QB(Gu),Wwr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vwr=QB(BA),$wr=QB(Zo),Ywr=QB(Jl),Hwr=[0,[17,0,0],QB(bv)],Kwr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Qwr=[0,[15,0],QB(lD)],Zwr=QB(cp),rAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],eAr=QB("Flow_ast.Statement.If.Alternate.body"),tAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nAr=[0,[17,0,0],QB(bv)],uAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],aAr=QB(Gu),iAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cAr=QB(BA),fAr=QB(Zo),oAr=QB(Jl),sAr=[0,[17,0,0],QB(bv)],lAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],vAr=[0,[15,0],QB(lD)],DAr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],pAr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],bAr=[0,[17,0,[12,41,0]],QB(ce)],FAr=[0,[15,0],QB(lD)],mAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],EAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],kAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],yAr=QB("Flow_ast.Statement.Block.body"),CAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],wAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],AAr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],_Ar=[0,[17,0,0],QB(bv)],gAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BAr=QB(Gu),SAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xAr=QB(BA),TAr=QB(Zo),IAr=QB(Jl),NAr=[0,[17,0,0],QB(bv)],OAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],LAr=[0,[15,0],QB(lD)],PAr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Predicate.Declared"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],RAr=[0,[17,0,[12,41,0]],QB(ce)],MAr=QB("Flow_ast.Type.Predicate.Inferred"),jAr=[0,[15,0],QB(lD)],UAr=QB(cp),XAr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GAr=QB("Flow_ast.Type.Predicate.kind"),JAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qAr=[0,[17,0,0],QB(bv)],zAr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WAr=QB(Gu),VAr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Ar=QB(BA),YAr=QB(Zo),HAr=QB(Jl),KAr=[0,[17,0,0],QB(bv)],QAr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],ZAr=[0,[15,0],QB(lD)],r_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],e_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],t_r=[0,[17,0,[12,41,0]],QB(ce)],n_r=[0,[15,0],QB(lD)],u_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],a_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],i_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],c_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],f_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],o_r=QB("Flow_ast.Type.TypeArgs.arguments"),s_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],l_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],v_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],D_r=[0,[17,0,0],QB(bv)],p_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],b_r=QB(Gu),F_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],m_r=QB(BA),d_r=QB(Zo),E_r=QB(Jl),k_r=[0,[17,0,0],QB(bv)],h_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],y_r=[0,[15,0],QB(lD)],C_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],w_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],A_r=[0,[17,0,[12,41,0]],QB(ce)],__r=[0,[15,0],QB(lD)],g_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],B_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],S_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],x_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],T_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],I_r=QB("Flow_ast.Type.TypeParams.params"),N_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],O_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],L_r=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],P_r=[0,[17,0,0],QB(bv)],R_r=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],M_r=QB(Gu),j_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],U_r=QB(BA),X_r=QB(Zo),G_r=QB(Jl),J_r=[0,[17,0,0],QB(bv)],q_r=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],z_r=[0,[15,0],QB(lD)],W_r=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],V_r=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],$_r=[0,[17,0,[12,41,0]],QB(ce)],Y_r=[0,[15,0],QB(lD)],H_r=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],K_r=QB("Flow_ast.Type.TypeParam.name"),Q_r=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Z_r=[0,[17,0,0],QB(bv)],rgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],egr=QB(Bn),tgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ngr=[0,[17,0,0],QB(bv)],ugr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],agr=QB(Sp),igr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cgr=QB(BA),fgr=QB(Zo),ogr=QB(Jl),sgr=[0,[17,0,0],QB(bv)],lgr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],vgr=QB(JC),Dgr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],pgr=QB(BA),bgr=QB(Zo),Fgr=QB(Jl),mgr=[0,[17,0,0],QB(bv)],dgr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Egr=[0,[15,0],QB(lD)],kgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ygr=[0,[17,0,[12,41,0]],QB(ce)],Cgr=[0,[15,0],QB(lD)],wgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Missing"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Missing@ ")],Agr=[0,[17,0,[12,41,0]],QB(ce)],_gr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Available"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Available@ ")],ggr=[0,[17,0,[12,41,0]],QB(ce)],Bgr=[0,[15,0],QB(lD)],Sgr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xgr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Tgr=[0,[17,0,[12,41,0]],QB(ce)],Igr=[0,[15,0],QB(lD)],Ngr=QB(cp),Ogr=QB(cp),Lgr=QB(cp),Pgr=QB(cp),Rgr=QB(cp),Mgr=QB(cp),jgr=QB(cp),Ugr=QB(cp),Xgr=QB(cp),Ggr=QB(cp),Jgr=QB(cp),qgr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Any"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Any@ ")],zgr=QB(BA),Wgr=QB(Zo),Vgr=QB(Jl),$gr=[0,[17,0,[12,41,0]],QB(ce)],Ygr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Mixed"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Mixed@ ")],Hgr=QB(BA),Kgr=QB(Zo),Qgr=QB(Jl),Zgr=[0,[17,0,[12,41,0]],QB(ce)],rBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Empty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Empty@ ")],eBr=QB(BA),tBr=QB(Zo),nBr=QB(Jl),uBr=[0,[17,0,[12,41,0]],QB(ce)],aBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Void"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Void@ ")],iBr=QB(BA),cBr=QB(Zo),fBr=QB(Jl),oBr=[0,[17,0,[12,41,0]],QB(ce)],sBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Null"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Null@ ")],lBr=QB(BA),vBr=QB(Zo),DBr=QB(Jl),pBr=[0,[17,0,[12,41,0]],QB(ce)],bBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Number"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Number@ ")],FBr=QB(BA),mBr=QB(Zo),dBr=QB(Jl),EBr=[0,[17,0,[12,41,0]],QB(ce)],kBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.BigInt"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.BigInt@ ")],hBr=QB(BA),yBr=QB(Zo),CBr=QB(Jl),wBr=[0,[17,0,[12,41,0]],QB(ce)],ABr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.String"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.String@ ")],_Br=QB(BA),gBr=QB(Zo),BBr=QB(Jl),SBr=[0,[17,0,[12,41,0]],QB(ce)],xBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Boolean"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Boolean@ ")],TBr=QB(BA),IBr=QB(Zo),NBr=QB(Jl),OBr=[0,[17,0,[12,41,0]],QB(ce)],LBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Symbol"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Symbol@ ")],PBr=QB(BA),RBr=QB(Zo),MBr=QB(Jl),jBr=[0,[17,0,[12,41,0]],QB(ce)],UBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Exists"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Exists@ ")],XBr=QB(BA),GBr=QB(Zo),JBr=QB(Jl),qBr=[0,[17,0,[12,41,0]],QB(ce)],zBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Nullable"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Nullable@ ")],WBr=[0,[17,0,[12,41,0]],QB(ce)],VBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Function"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Function@ ")],$Br=[0,[17,0,[12,41,0]],QB(ce)],YBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object@ ")],HBr=[0,[17,0,[12,41,0]],QB(ce)],KBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Interface"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Interface@ ")],QBr=[0,[17,0,[12,41,0]],QB(ce)],ZBr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Array"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Array@ ")],rSr=[0,[17,0,[12,41,0]],QB(ce)],eSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Generic"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Generic@ ")],tSr=[0,[17,0,[12,41,0]],QB(ce)],nSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Union"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Union@ ")],uSr=[0,[17,0,[12,41,0]],QB(ce)],aSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Intersection"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Intersection@ ")],iSr=[0,[17,0,[12,41,0]],QB(ce)],cSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Typeof"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Typeof@ ")],fSr=[0,[17,0,[12,41,0]],QB(ce)],oSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Tuple"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Tuple@ ")],sSr=[0,[17,0,[12,41,0]],QB(ce)],lSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.StringLiteral"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.StringLiteral@ ")],vSr=[0,[17,0,[12,41,0]],QB(ce)],DSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.NumberLiteral"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.NumberLiteral@ ")],pSr=[0,[17,0,[12,41,0]],QB(ce)],bSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.BigIntLiteral"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],FSr=[0,[17,0,[12,41,0]],QB(ce)],mSr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.BooleanLiteral"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],dSr=[0,[17,0,[12,41,0]],QB(ce)],ESr=[0,[15,0],QB(lD)],kSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],hSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ySr=[0,[17,0,[12,41,0]],QB(ce)],CSr=[0,[15,0],QB(lD)],wSr=QB(cp),ASr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Sr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],gSr=QB("Flow_ast.Type.Intersection.types"),BSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ISr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],NSr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],OSr=[0,[17,0,[12,41,0]],QB(ce)],LSr=[0,[17,0,0],QB(bv)],PSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],RSr=QB(Gu),MSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jSr=QB(BA),USr=QB(Zo),XSr=QB(Jl),GSr=[0,[17,0,0],QB(bv)],JSr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qSr=[0,[15,0],QB(lD)],zSr=QB(cp),WSr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],$Sr=QB("Flow_ast.Type.Union.types"),YSr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HSr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],KSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],QSr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZSr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],rxr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],exr=[0,[17,0,[12,41,0]],QB(ce)],txr=[0,[17,0,0],QB(bv)],nxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],uxr=QB(Gu),axr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ixr=QB(BA),cxr=QB(Zo),fxr=QB(Jl),oxr=[0,[17,0,0],QB(bv)],sxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],lxr=[0,[15,0],QB(lD)],vxr=QB(cp),Dxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],pxr=QB("Flow_ast.Type.Array.argument"),bxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Fxr=[0,[17,0,0],QB(bv)],mxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dxr=QB(Gu),Exr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kxr=QB(BA),hxr=QB(Zo),yxr=QB(Jl),Cxr=[0,[17,0,0],QB(bv)],wxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Axr=[0,[15,0],QB(lD)],_xr=QB(cp),gxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Bxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Sxr=QB("Flow_ast.Type.Tuple.types"),xxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Txr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],Ixr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],Nxr=[0,[17,0,0],QB(bv)],Oxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Lxr=QB(Gu),Pxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Rxr=QB(BA),Mxr=QB(Zo),jxr=QB(Jl),Uxr=[0,[17,0,0],QB(bv)],Xxr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Gxr=[0,[15,0],QB(lD)],Jxr=QB(cp),qxr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zxr=QB("Flow_ast.Type.Typeof.argument"),Wxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Vxr=[0,[17,0,0],QB(bv)],$xr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Yxr=QB(Kf),Hxr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Kxr=[0,[9,0,0],QB(kb)],Qxr=[0,[17,0,0],QB(bv)],Zxr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rTr=QB(Gu),eTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tTr=QB(BA),nTr=QB(Zo),uTr=QB(Jl),aTr=[0,[17,0,0],QB(bv)],iTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],cTr=[0,[15,0],QB(lD)],fTr=QB(cp),oTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sTr=QB("Flow_ast.Type.Nullable.argument"),lTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vTr=[0,[17,0,0],QB(bv)],DTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pTr=QB(Gu),bTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FTr=QB(BA),mTr=QB(Zo),dTr=QB(Jl),ETr=[0,[17,0,0],QB(bv)],kTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],hTr=[0,[15,0],QB(lD)],yTr=QB(cp),CTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],wTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ATr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],_Tr=[0,[17,0,[12,41,0]],QB(ce)],gTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],BTr=QB("Flow_ast.Type.Interface.body"),STr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xTr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],TTr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ITr=[0,[17,0,[12,41,0]],QB(ce)],NTr=[0,[17,0,0],QB(bv)],OTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],LTr=QB(Dp),PTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],RTr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],MTr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],jTr=[0,[17,0,0],QB(bv)],UTr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XTr=QB(Gu),GTr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JTr=QB(BA),qTr=QB(Zo),zTr=QB(Jl),WTr=[0,[17,0,0],QB(bv)],VTr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],$Tr=[0,[15,0],QB(lD)],YTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.Property"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.Property@ ")],HTr=[0,[17,0,[12,41,0]],QB(ce)],KTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.SpreadProperty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],QTr=[0,[17,0,[12,41,0]],QB(ce)],ZTr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.Indexer"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.Indexer@ ")],rIr=[0,[17,0,[12,41,0]],QB(ce)],eIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.CallProperty"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],tIr=[0,[17,0,[12,41,0]],QB(ce)],nIr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.InternalSlot"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],uIr=[0,[17,0,[12,41,0]],QB(ce)],aIr=[0,[15,0],QB(lD)],iIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],fIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],oIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],sIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],lIr=QB("Flow_ast.Type.Object.exact"),vIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DIr=[0,[9,0,0],QB(kb)],pIr=[0,[17,0,0],QB(bv)],bIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FIr=QB(Cw),mIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dIr=[0,[9,0,0],QB(kb)],EIr=[0,[17,0,0],QB(bv)],kIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hIr=QB(Bu),yIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],wIr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],AIr=[0,[17,0,0],QB(bv)],_Ir=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gIr=QB(Gu),BIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SIr=QB(BA),xIr=QB(Zo),TIr=QB(Jl),IIr=[0,[17,0,0],QB(bv)],NIr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],OIr=[0,[15,0],QB(lD)],LIr=QB(cp),PIr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],RIr=QB("Flow_ast.Type.Object.InternalSlot.id"),MIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jIr=[0,[17,0,0],QB(bv)],UIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XIr=QB(Im),GIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JIr=[0,[17,0,0],QB(bv)],qIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zIr=QB(Dv),WIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VIr=[0,[9,0,0],QB(kb)],$Ir=[0,[17,0,0],QB(bv)],YIr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],HIr=QB(Vu),KIr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QIr=[0,[9,0,0],QB(kb)],ZIr=[0,[17,0,0],QB(bv)],rNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],eNr=QB(N),tNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],nNr=[0,[9,0,0],QB(kb)],uNr=[0,[17,0,0],QB(bv)],aNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iNr=QB(Gu),cNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fNr=QB(BA),oNr=QB(Zo),sNr=QB(Jl),lNr=[0,[17,0,0],QB(bv)],vNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DNr=[0,[15,0],QB(lD)],pNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FNr=[0,[17,0,[12,41,0]],QB(ce)],mNr=[0,[15,0],QB(lD)],dNr=QB(cp),ENr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kNr=QB("Flow_ast.Type.Object.CallProperty.value"),hNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],CNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],wNr=[0,[17,0,[12,41,0]],QB(ce)],ANr=[0,[17,0,0],QB(bv)],_Nr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],gNr=QB(Vu),BNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],SNr=[0,[9,0,0],QB(kb)],xNr=[0,[17,0,0],QB(bv)],TNr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],INr=QB(Gu),NNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ONr=QB(BA),LNr=QB(Zo),PNr=QB(Jl),RNr=[0,[17,0,0],QB(bv)],MNr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],jNr=[0,[15,0],QB(lD)],UNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],XNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],GNr=[0,[17,0,[12,41,0]],QB(ce)],JNr=[0,[15,0],QB(lD)],qNr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],zNr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],WNr=[0,[17,0,[12,41,0]],QB(ce)],VNr=[0,[15,0],QB(lD)],$Nr=QB(cp),YNr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],HNr=QB("Flow_ast.Type.Object.Indexer.id"),KNr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],QNr=QB(BA),ZNr=QB(Zo),rOr=QB(Jl),eOr=[0,[17,0,0],QB(bv)],tOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nOr=QB(DB),uOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aOr=[0,[17,0,0],QB(bv)],iOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cOr=QB(Im),fOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],oOr=[0,[17,0,0],QB(bv)],sOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],lOr=QB(Vu),vOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],DOr=[0,[9,0,0],QB(kb)],pOr=[0,[17,0,0],QB(bv)],bOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FOr=QB(Sp),mOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dOr=QB(BA),EOr=QB(Zo),kOr=QB(Jl),hOr=[0,[17,0,0],QB(bv)],yOr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],COr=QB(Gu),wOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AOr=QB(BA),_Or=QB(Zo),gOr=QB(Jl),BOr=[0,[17,0,0],QB(bv)],SOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],xOr=[0,[15,0],QB(lD)],TOr=QB(cp),IOr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],NOr=QB("Flow_ast.Type.Object.SpreadProperty.argument"),OOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LOr=[0,[17,0,0],QB(bv)],POr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ROr=QB(Gu),MOr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],jOr=QB(BA),UOr=QB(Zo),XOr=QB(Jl),GOr=[0,[17,0,0],QB(bv)],JOr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],qOr=[0,[15,0],QB(lD)],zOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],WOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],VOr=[0,[17,0,[12,41,0]],QB(ce)],$Or=[0,[15,0],QB(lD)],YOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.Property.Init"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],HOr=[0,[17,0,[12,41,0]],QB(ce)],KOr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.Property.Get"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],QOr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],ZOr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],rLr=[0,[17,0,[12,41,0]],QB(ce)],eLr=[0,[17,0,[12,41,0]],QB(ce)],tLr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Object.Property.Set"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],nLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],uLr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],aLr=[0,[17,0,[12,41,0]],QB(ce)],iLr=[0,[17,0,[12,41,0]],QB(ce)],cLr=[0,[15,0],QB(lD)],fLr=QB(cp),oLr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],sLr=QB("Flow_ast.Type.Object.Property.key"),lLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],vLr=[0,[17,0,0],QB(bv)],DLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],pLr=QB(Im),bLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],FLr=[0,[17,0,0],QB(bv)],mLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dLr=QB(Dv),ELr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],kLr=[0,[9,0,0],QB(kb)],hLr=[0,[17,0,0],QB(bv)],yLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],CLr=QB(Vu),wLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ALr=[0,[9,0,0],QB(kb)],_Lr=[0,[17,0,0],QB(bv)],gLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BLr=QB(ck),SLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xLr=[0,[9,0,0],QB(kb)],TLr=[0,[17,0,0],QB(bv)],ILr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NLr=QB(N),OLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LLr=[0,[9,0,0],QB(kb)],PLr=[0,[17,0,0],QB(bv)],RLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MLr=QB(Sp),jLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ULr=QB(BA),XLr=QB(Zo),GLr=QB(Jl),JLr=[0,[17,0,0],QB(bv)],qLr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zLr=QB(Gu),WLr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VLr=QB(BA),$Lr=QB(Zo),YLr=QB(Jl),HLr=[0,[17,0,0],QB(bv)],KLr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QLr=[0,[15,0],QB(lD)],ZLr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],rPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ePr=[0,[17,0,[12,41,0]],QB(ce)],tPr=[0,[15,0],QB(lD)],nPr=QB(cp),uPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],aPr=QB("Flow_ast.Type.Generic.id"),iPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],cPr=[0,[17,0,0],QB(bv)],fPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],oPr=QB(FC),sPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],lPr=QB(BA),vPr=QB(Zo),DPr=QB(Jl),pPr=[0,[17,0,0],QB(bv)],bPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],FPr=QB(Gu),mPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],dPr=QB(BA),EPr=QB(Zo),kPr=QB(Jl),hPr=[0,[17,0,0],QB(bv)],yPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],CPr=[0,[15,0],QB(lD)],wPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],APr=QB("Flow_ast.Type.Generic.Identifier.qualification"),_Pr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gPr=[0,[17,0,0],QB(bv)],BPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SPr=QB(pi),xPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TPr=[0,[17,0,0],QB(bv)],IPr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],NPr=[0,[15,0],QB(lD)],OPr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],LPr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],PPr=[0,[17,0,[12,41,0]],QB(ce)],RPr=[0,[15,0],QB(lD)],MPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],jPr=[0,[17,0,[12,41,0]],QB(ce)],UPr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],XPr=[0,[17,0,[12,41,0]],QB(ce)],GPr=[0,[15,0],QB(lD)],JPr=QB(cp),qPr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],zPr=QB("Flow_ast.Type.Function.tparams"),WPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VPr=QB(BA),$Pr=QB(Zo),YPr=QB(Jl),HPr=[0,[17,0,0],QB(bv)],KPr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QPr=QB(w),ZPr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rRr=[0,[17,0,0],QB(bv)],eRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],tRr=QB(Kt),nRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uRr=[0,[17,0,0],QB(bv)],aRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iRr=QB(Gu),cRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fRr=QB(BA),oRr=QB(Zo),sRr=QB(Jl),lRr=[0,[17,0,0],QB(bv)],vRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DRr=[0,[15,0],QB(lD)],pRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],bRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],FRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],mRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],dRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ERr=QB("Flow_ast.Type.Function.Params.this_"),kRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],hRr=QB(BA),yRr=QB(Zo),CRr=QB(Jl),wRr=[0,[17,0,0],QB(bv)],ARr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],_Rr=QB(w),gRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],BRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],SRr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],xRr=[0,[17,0,0],QB(bv)],TRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],IRr=QB(ka),NRr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ORr=QB(BA),LRr=QB(Zo),PRr=QB(Jl),RRr=[0,[17,0,0],QB(bv)],MRr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jRr=QB(Gu),URr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],XRr=QB(BA),GRr=QB(Zo),JRr=QB(Jl),qRr=[0,[17,0,0],QB(bv)],zRr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],WRr=[0,[15,0],QB(lD)],VRr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],$Rr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],YRr=[0,[17,0,[12,41,0]],QB(ce)],HRr=[0,[15,0],QB(lD)],KRr=QB(cp),QRr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],ZRr=QB("Flow_ast.Type.Function.ThisParam.annot"),rMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eMr=[0,[17,0,0],QB(bv)],tMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],nMr=QB(Gu),uMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aMr=QB(BA),iMr=QB(Zo),cMr=QB(Jl),fMr=[0,[17,0,0],QB(bv)],oMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],sMr=[0,[15,0],QB(lD)],lMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],vMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],DMr=[0,[17,0,[12,41,0]],QB(ce)],pMr=[0,[15,0],QB(lD)],bMr=QB(cp),FMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],mMr=QB("Flow_ast.Type.Function.RestParam.argument"),dMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],EMr=[0,[17,0,0],QB(bv)],kMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],hMr=QB(Gu),yMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],CMr=QB(BA),wMr=QB(Zo),AMr=QB(Jl),_Mr=[0,[17,0,0],QB(bv)],gMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],BMr=[0,[15,0],QB(lD)],SMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],xMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],TMr=[0,[17,0,[12,41,0]],QB(ce)],IMr=[0,[15,0],QB(lD)],NMr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],OMr=QB("Flow_ast.Type.Function.Param.name"),LMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PMr=QB(BA),RMr=QB(Zo),MMr=QB(Jl),jMr=[0,[17,0,0],QB(bv)],UMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],XMr=QB(ra),GMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],JMr=[0,[17,0,0],QB(bv)],qMr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],zMr=QB(Dv),WMr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],VMr=[0,[9,0,0],QB(kb)],$Mr=[0,[17,0,0],QB(bv)],YMr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],HMr=[0,[15,0],QB(lD)],KMr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],QMr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],ZMr=[0,[17,0,[12,41,0]],QB(ce)],rjr=[0,[15,0],QB(lD)],ejr=QB(cp),tjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],njr=QB("Flow_ast.ComputedKey.expression"),ujr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ajr=[0,[17,0,0],QB(bv)],ijr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],cjr=QB(Gu),fjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],ojr=QB(BA),sjr=QB(Zo),ljr=QB(Jl),vjr=[0,[17,0,0],QB(bv)],Djr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],pjr=[0,[15,0],QB(lD)],bjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Fjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],mjr=[0,[17,0,[12,41,0]],QB(ce)],djr=[0,[15,0],QB(lD)],Ejr=QB(cp),kjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],hjr=QB("Flow_ast.Variance.kind"),yjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Cjr=[0,[17,0,0],QB(bv)],wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Ajr=QB(Gu),_jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gjr=QB(BA),Bjr=QB(Zo),Sjr=QB(Jl),xjr=[0,[17,0,0],QB(bv)],Tjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Ijr=[0,[15,0],QB(lD)],Njr=QB("Flow_ast.Variance.Minus"),Ojr=QB("Flow_ast.Variance.Plus"),Ljr=[0,[15,0],QB(lD)],Pjr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],Rjr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],Mjr=[0,[17,0,[12,41,0]],QB(ce)],jjr=[0,[15,0],QB(lD)],Ujr=QB(cp),Xjr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Gjr=QB("Flow_ast.BooleanLiteral.value"),Jjr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qjr=[0,[9,0,0],QB(kb)],zjr=[0,[17,0,0],QB(bv)],Wjr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Vjr=QB(Gu),$jr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Yjr=QB(BA),Hjr=QB(Zo),Kjr=QB(Jl),Qjr=[0,[17,0,0],QB(bv)],Zjr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],rUr=[0,[15,0],QB(lD)],eUr=QB(cp),tUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],nUr=QB("Flow_ast.BigIntLiteral.approx_value"),uUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],aUr=[0,[8,15,0,0,0],QB(Ki)],iUr=[0,[17,0,0],QB(bv)],cUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],fUr=QB(Nd),oUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],sUr=[0,[3,0,0],QB(Ly)],lUr=[0,[17,0,0],QB(bv)],vUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],DUr=QB(Gu),pUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],bUr=QB(BA),FUr=QB(Zo),mUr=QB(Jl),dUr=[0,[17,0,0],QB(bv)],EUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],kUr=[0,[15,0],QB(lD)],hUr=QB(cp),yUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],CUr=QB("Flow_ast.NumberLiteral.value"),wUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],AUr=[0,[8,15,0,0,0],QB(Ki)],_Ur=[0,[17,0,0],QB(bv)],gUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],BUr=QB(ge),SUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],xUr=[0,[3,0,0],QB(Ly)],TUr=[0,[17,0,0],QB(bv)],IUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],NUr=QB(Gu),OUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],LUr=QB(BA),PUr=QB(Zo),RUr=QB(Jl),MUr=[0,[17,0,0],QB(bv)],jUr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],UUr=[0,[15,0],QB(lD)],XUr=QB(cp),GUr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],JUr=QB("Flow_ast.StringLiteral.value"),qUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zUr=[0,[3,0,0],QB(Ly)],WUr=[0,[17,0,0],QB(bv)],VUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],$Ur=QB(ge),YUr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],HUr=[0,[3,0,0],QB(Ly)],KUr=[0,[17,0,0],QB(bv)],QUr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],ZUr=QB(Gu),rXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],eXr=QB(BA),tXr=QB(Zo),nXr=QB(Jl),uXr=[0,[17,0,0],QB(bv)],aXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],iXr=[0,[15,0],QB(lD)],cXr=QB("Flow_ast.Literal.Null"),fXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Literal.String"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Literal.String@ ")],oXr=[0,[3,0,0],QB(Ly)],sXr=[0,[17,0,[12,41,0]],QB(ce)],lXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Literal.Boolean"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Literal.Boolean@ ")],vXr=[0,[9,0,0],QB(kb)],DXr=[0,[17,0,[12,41,0]],QB(ce)],pXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Literal.Number"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Literal.Number@ ")],bXr=[0,[8,15,0,0,0],QB(Ki)],FXr=[0,[17,0,[12,41,0]],QB(ce)],mXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Literal.BigInt"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Literal.BigInt@ ")],dXr=[0,[8,15,0,0,0],QB(Ki)],EXr=[0,[17,0,[12,41,0]],QB(ce)],kXr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("Flow_ast.Literal.RegExp"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>Flow_ast.Literal.RegExp@ ")],hXr=[0,[17,0,[12,41,0]],QB(ce)],yXr=[0,[15,0],QB(lD)],CXr=QB(cp),wXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],AXr=QB("Flow_ast.Literal.value"),_Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gXr=[0,[17,0,0],QB(bv)],BXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],SXr=QB(ge),xXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],TXr=[0,[3,0,0],QB(Ly)],IXr=[0,[17,0,0],QB(bv)],NXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],OXr=QB(Gu),LXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],PXr=QB(BA),RXr=QB(Zo),MXr=QB(Jl),jXr=[0,[17,0,0],QB(bv)],UXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],XXr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],GXr=QB("Flow_ast.Literal.RegExp.pattern"),JXr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],qXr=[0,[3,0,0],QB(Ly)],zXr=[0,[17,0,0],QB(bv)],WXr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],VXr=QB(wm),$Xr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],YXr=[0,[3,0,0],QB(Ly)],HXr=[0,[17,0,0],QB(bv)],KXr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],QXr=[0,[15,0],QB(lD)],ZXr=[0,[15,0],QB(lD)],rGr=QB(cp),eGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],tGr=QB("Flow_ast.PrivateName.id"),nGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],uGr=[0,[17,0,0],QB(bv)],aGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],iGr=QB(Gu),cGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],fGr=QB(BA),oGr=QB(Zo),sGr=QB(Jl),lGr=[0,[17,0,0],QB(bv)],vGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],DGr=[0,[15,0],QB(lD)],pGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],bGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],FGr=[0,[17,0,[12,41,0]],QB(ce)],mGr=[0,[15,0],QB(lD)],dGr=QB(cp),EGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],kGr=QB("Flow_ast.Identifier.name"),hGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],yGr=[0,[3,0,0],QB(Ly)],CGr=[0,[17,0,0],QB(bv)],wGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],AGr=QB(Gu),_Gr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],gGr=QB(BA),BGr=QB(Zo),SGr=QB(Jl),xGr=[0,[17,0,0],QB(bv)],TGr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],IGr=[0,[15,0],QB(lD)],NGr=[0,[12,40,[18,[1,[0,0,QB(qC)]],0]],QB(Qm)],OGr=[0,[12,44,[17,[0,QB(vk),1,0],0]],QB(Mg)],LGr=[0,[17,0,[12,41,0]],QB(ce)],PGr=[0,[15,0],QB(lD)],RGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],MGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],jGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],UGr=QB("Flow_ast.Syntax.leading"),XGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],GGr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],JGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],qGr=[0,[17,0,0],QB(bv)],zGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],WGr=QB("trailing"),VGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],$Gr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[12,91,0]],QB(Vp)],YGr=[0,[17,[0,QB(Ro),0,0],[12,93,[17,0,0]]],QB(Fc)],HGr=[0,[17,0,0],QB(bv)],KGr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],QGr=QB(Kf),ZGr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],rJr=[0,[17,0,0],QB(bv)],eJr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],tJr=[0,[0,0,0]],nJr=[0,QB(ow),22,2],uJr=[0,[0,0,0,0,0]],aJr=[0,QB(ow),33,2],iJr=[0,[0,0,0,0,0]],cJr=[0,QB(ow),44,2],fJr=[0,[0,[0,[0,0,0]],0,0,0,0]],oJr=[0,QB(ow),71,2],sJr=[0,[0,0,0]],lJr=[0,QB(ow),81,2],vJr=[0,[0,0,0]],DJr=[0,QB(ow),91,2],pJr=[0,[0,0,0]],bJr=[0,QB(ow),EE,2],FJr=[0,[0,0,0]],mJr=[0,QB(ow),Jr,2],dJr=[0,[0,0,0,0,0,0,0]],EJr=[0,QB(ow),TF,2],kJr=[0,[0,0,0,0,0]],hJr=[0,QB(ow),137,2],yJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],CJr=[0,QB(ow),456,2],wJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],AJr=[0,QB(ow),987,2],_Jr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],gJr=[0,QB(ow),1419,2],BJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],SJr=[0,QB(ow),1563,2],xJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],TJr=[0,QB(ow),1648,2],IJr=[0,[0,0,0,0,0,0,0]],NJr=[0,QB(ow),1664,2],OJr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],LJr=[0,QB(ow),1787,2],PJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],RJr=[0,QB(ow),1854,2],MJr=[0,[0,0,0,0,0]],jJr=[0,QB(ow),1866,2],UJr=[0,[0,0,0]],XJr=[0,[0,0,0,0,0]],GJr=[0,[0,0,0,0,0]],JJr=[0,[0,[0,[0,0,0]],0,0,0,0]],qJr=[0,[0,0,0]],zJr=[0,[0,0,0]],WJr=[0,[0,0,0]],VJr=[0,[0,0,0]],$Jr=[0,[0,0,0,0,0,0,0]],YJr=[0,[0,0,0,0,0]],HJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],KJr=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],QJr=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],ZJr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],rqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],eqr=[0,[0,0,0,0,0,0,0]],tqr=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],nqr=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],uqr=[0,[0,0,0,0,0]],aqr=[0,1],iqr=[0,0],cqr=[0,0],fqr=[0,1],oqr=[0,1],sqr=[0,1],lqr=[0,1],vqr=[0,0,0],Dqr=[0,0,0],pqr=[0,QB(tb),QB(Dl),QB(Ov),QB(Sp),QB(cB),QB(ci),QB(K_),QB(In),QB(lF),QB(SF),QB(p_),QB(Bo),QB(lt),QB(qn),QB(rm),QB(mA),QB(cl),QB(xl),QB(Ec),QB(aD),QB(Lk),QB(yv),QB(ur),QB(bF),QB(sn),QB(jb),QB(Nl),QB(la),QB(Xm),QB(Hp),QB(gF),QB(aB),QB(LC),QB(Af),QB(pl),QB(xe),QB(FB),QB(Pn),QB(ji),QB(Kt),QB(mc),QB(Dh),QB(c),QB(av),QB(JA),QB(aE),QB(oy),QB(Ol),QB(og),QB(jk),QB(yk),QB(fn),QB(Bm),QB(mu),QB(zu),QB(fB),QB(pg),QB(Yk),QB(De),QB(wE),QB(ha),QB(Ca),QB(Op),QB(ok),QB(je),QB(bA),QB(M_),QB(KE),QB(sD),QB(si),QB(an),QB(ou),QB(Za),QB(bh),QB(Wh),QB(Pu),QB(w_),QB(it),QB(Uo),QB(Tm),QB(sc),QB(Te),QB(Wg),QB(t),QB(Hg),QB(Tl),QB(Ws),QB(HC),QB(El),QB(ri),QB(Xo),QB(jh),QB(Oo),QB(iB),QB($i),QB(TE),QB(Uv),QB(_E),QB(s_),QB(U),QB(Co),QB(FF),QB(gg),QB(Fo),QB(Dr),QB(BE),QB(FA),QB(Kl),QB(Eb),QB(Ur),QB(NC),QB(Gf),QB(PC),QB(nl),QB(Ip),QB(lB),QB(Rh),QB(nA),QB(Ik),QB(de),QB(Qg),QB(du),QB(RA),QB(mg),QB(kc),QB(oh),QB(ee),QB(Tw),QB(uf),QB(lm),QB(Fh),QB(ei),QB(tr),QB(mn),QB(io),QB(Kc),QB(hC),QB(SB),QB(wp),QB(tF),QB(B),QB(x_),QB(Lc),QB(tA),QB(os),QB(Zh),QB(at),QB(iv),QB(Wf),QB(Et),QB(Fk),QB(wk),QB(HA),QB(Hr),QB(Ny),QB(Ut),QB(Ho),QB(KA),QB(Tt),QB(Nn),QB(ld),QB(qs),QB(zk),QB(Dk),QB(dd),QB(Kp),QB(pw),QB(lf),QB(sF),QB(fp),QB(dk),QB(Nu),QB(kw),QB(mC),QB(wi),QB(Ui),QB(TD),QB(jE),QB(Pk),QB(Da),QB($p),QB(Pe),QB(aF),QB(mi),QB(gf),QB($n),QB(yw),QB(Je),QB(ar),QB(vn),QB(B_),QB(Mw),QB(Rk),QB($w),QB(et),QB(P),QB(Xi),QB(Up),QB(Zi),QB(mt),QB(Pc),QB(Vw),QB(y),QB(Lr),QB(fe),QB(Al),QB(au),QB(fE),QB(Gk),QB(Ty),QB(tp),QB($o)],bqr=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],Fqr=QB("File_key.Builtins"),mqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("File_key.LibFile"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>File_key.LibFile@ ")],dqr=[0,[3,0,0],QB(Ly)],Eqr=[0,[17,0,[12,41,0]],QB(ce)],kqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("File_key.SourceFile"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>File_key.SourceFile@ ")],hqr=[0,[3,0,0],QB(Ly)],yqr=[0,[17,0,[12,41,0]],QB(ce)],Cqr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("File_key.JsonFile"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>File_key.JsonFile@ ")],wqr=[0,[3,0,0],QB(Ly)],Aqr=[0,[17,0,[12,41,0]],QB(ce)],_qr=[0,[12,40,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB("File_key.ResourceFile"),[17,[0,QB(vk),1,0],0]]]],QB("(@[<2>File_key.ResourceFile@ ")],gqr=[0,[3,0,0],QB(Ly)],Bqr=[0,[17,0,[12,41,0]],QB(ce)],Sqr=QB(nn),xqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Tqr=QB("Loc.line"),Iqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Nqr=[0,[4,0,0,0,0],QB(Gn)],Oqr=[0,[17,0,0],QB(bv)],Lqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Pqr=QB(kt),Rqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Mqr=[0,[4,0,0,0,0],QB(Gn)],jqr=[0,[17,0,0],QB(bv)],Uqr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],Xqr=[0,[15,0],QB(lD)],Gqr=[0,[18,[1,[0,[11,QB(Og),0],QB(Og)]],[11,QB(No),0]],QB(kn)],Jqr=QB("Loc.source"),qqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],zqr=QB(BA),Wqr=QB(Zo),Vqr=QB(Jl),$qr=[0,[17,0,0],QB(bv)],Yqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],Hqr=QB(T),Kqr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],Qqr=[0,[17,0,0],QB(bv)],Zqr=[0,[12,59,[17,[0,QB(vk),1,0],0]],QB(yE)],rzr=QB("_end"),ezr=[0,[18,[1,[0,0,QB(qC)]],[2,0,[11,QB(nD),[17,[0,QB(vk),1,0],0]]]],QB(as)],tzr=[0,[17,0,0],QB(bv)],nzr=[0,[17,[0,QB(vk),1,0],[12,gd,[17,0,0]]],QB(Hd)],uzr=QB("=="),azr=QB("!="),izr=QB("==="),czr=QB("!=="),fzr=QB(td),ozr=QB("<="),szr=QB(L),lzr=QB(">="),vzr=QB("<<"),Dzr=QB(">>"),pzr=QB(">>>"),bzr=QB(bw),Fzr=QB(eC),mzr=QB("*"),dzr=QB("**"),Ezr=QB(fs),kzr=QB("%"),hzr=QB("|"),yzr=QB(VC),Czr=QB("&"),wzr=QB(Rf),Azr=QB(to),_zr=QB("+="),gzr=QB("-="),Bzr=QB("*="),Szr=QB("**="),xzr=QB("/="),Tzr=QB("%="),Izr=QB("<<="),Nzr=QB(">>="),Ozr=QB(sp),Lzr=QB("|="),Pzr=QB("^="),Rzr=QB("&="),Mzr=QB(Ft),jzr=QB(ms),Uzr=QB(eh),Xzr=QB(ga),Gzr=QB("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),Jzr=QB("Enum members are separated with `,`. Replace `;` with `,`."),qzr=QB("Unexpected reserved word"),zzr=QB("Unexpected reserved type"),Wzr=QB("Unexpected `super` outside of a class method"),Vzr=QB("`super()` is only valid in a class constructor"),$zr=QB("Unexpected end of input"),Yzr=QB("Unexpected variance sigil"),Hzr=QB("Unexpected static modifier"),Kzr=QB("Unexpected proto modifier"),Qzr=QB("Type aliases are not allowed in untyped mode"),Zzr=QB("Opaque type aliases are not allowed in untyped mode"),rWr=QB("Type annotations are not allowed in untyped mode"),eWr=QB("Type declarations are not allowed in untyped mode"),tWr=QB("Type imports are not allowed in untyped mode"),nWr=QB("Type exports are not allowed in untyped mode"),uWr=QB("Interfaces are not allowed in untyped mode"),aWr=QB("Spreading a type is only allowed inside an object type"),iWr=QB("Explicit inexact syntax must come at the end of an object type"),cWr=QB("Explicit inexact syntax cannot appear inside an explicit exact object type"),fWr=QB("Explicit inexact syntax can only appear inside an object type"),oWr=QB("Illegal newline after throw"),sWr=QB("A bigint literal must be an integer"),lWr=QB("A bigint literal cannot use exponential notation"),vWr=QB("Invalid regular expression"),DWr=QB("Invalid regular expression: missing /"),pWr=QB("Invalid left-hand side in assignment"),bWr=QB("Invalid left-hand side in exponentiation expression"),FWr=QB("Invalid left-hand side in for-in"),mWr=QB("Invalid left-hand side in for-of"),dWr=QB("found an expression instead"),EWr=QB("Expected an object pattern, array pattern, or an identifier but "),kWr=QB("More than one default clause in switch statement"),hWr=QB("Missing catch or finally after try"),yWr=QB("Illegal continue statement"),CWr=QB("Illegal break statement"),wWr=QB("Illegal return statement"),AWr=QB("Illegal Unicode escape"),_Wr=QB("Strict mode code may not include a with statement"),gWr=QB("Catch variable may not be eval or arguments in strict mode"),BWr=QB("Variable name may not be eval or arguments in strict mode"),SWr=QB("Parameter name eval or arguments is not allowed in strict mode"),xWr=QB("Strict mode function may not have duplicate parameter names"),TWr=QB("Function name may not be eval or arguments in strict mode"),IWr=QB("Octal literals are not allowed in strict mode."),NWr=QB("Number literals with leading zeros are not allowed in strict mode."),OWr=QB("Delete of an unqualified identifier in strict mode."),LWr=QB("Duplicate data property in object literal not allowed in strict mode"),PWr=QB("Object literal may not have data and accessor property with the same name"),RWr=QB("Object literal may not have multiple get/set accessors with the same name"),MWr=QB("Assignment to eval or arguments is not allowed in strict mode"),jWr=QB("Postfix increment/decrement may not have eval or arguments operand in strict mode"),UWr=QB("Prefix increment/decrement may not have eval or arguments operand in strict mode"),XWr=QB("Use of future reserved word in strict mode"),GWr=QB("JSX attributes must only be assigned a non-empty expression"),JWr=QB("JSX value should be either an expression or a quoted JSX text"),qWr=QB("Const must be initialized"),zWr=QB("Destructuring assignment must be initialized"),WWr=QB("Illegal newline before arrow"),VWr=QB(Gd),$Wr=QB("Async functions can only be declared at top level or "),YWr=QB(Gd),HWr=QB("Generators can only be declared at top level or "),KWr=QB("elements must be wrapped in an enclosing parent tag"),QWr=QB("Unexpected token <. Remember, adjacent JSX "),ZWr=QB("Rest parameter must be final parameter of an argument list"),rVr=QB("Rest element must be final element of an array pattern"),eVr=QB("Rest property must be final property of an object pattern"),tVr=QB("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),nVr=QB("`declare` modifier can only appear on class fields."),uVr=QB("Initializers are not allowed in a `declare`."),aVr=QB("`declare export let` is not supported. Use `declare export var` instead."),iVr=QB("`declare export const` is not supported. Use `declare export var` instead."),cVr=QB("`declare export type` is not supported. Use `export type` instead."),fVr=QB("`declare export interface` is not supported. Use `export interface` instead."),oVr=QB("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),sVr=QB("When exporting a class as a named export, you must specify a class name. Did you mean `export default class ...`?"),lVr=QB("When exporting a function as a named export, you must specify a function name. Did you mean `export default function ...`?"),vVr=QB("Found a decorator in an unsupported position."),DVr=QB("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),pVr=QB("Duplicate `declare module.exports` statement!"),bVr=QB("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),FVr=QB("Getter should have zero parameters"),mVr=QB("Setter should have exactly one parameter"),dVr=QB("`import type` or `import typeof`!"),EVr=QB("Imports within a `declare module` body must always be "),kVr=QB("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),hVr=QB("Missing comma between import specifiers"),yVr=QB("Missing comma between export specifiers"),CVr=QB("Malformed unicode"),wVr=QB("Classes may only have one constructor"),AVr=QB("Classes may not have private methods."),_Vr=QB("Private fields may not be deleted."),gVr=QB("Private fields can only be referenced from within a class."),BVr=QB("You may not access a private field through the `super` keyword."),SVr=QB("Yield expression not allowed in formal parameter"),xVr=QB("`await` is an invalid identifier in async functions"),TVr=QB("`yield` is an invalid identifier in generators"),IVr=QB("either a `let` binding pattern, or a member expression."),NVr=QB("`let [` is ambiguous in this position because it is "),OVr=QB("Literals cannot be used as shorthand properties."),LVr=QB("Computed properties must have a value."),PVr=QB("Object pattern can't contain methods"),RVr=QB("A trailing comma is not permitted after the rest element"),MVr=QB("The optional chaining plugin must be enabled in order to use the optional chaining operator (`?.`). Optional chaining is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_optional_chaining` option."),jVr=QB("An optional chain may not be used in a `new` expression."),UVr=QB("Template literals may not be used in an optional chain."),XVr=QB("The nullish coalescing plugin must be enabled in order to use the nullish coalescing operator (`??`). Nullish coalescing is an active early-stage feature proposal which may change and is not enabled by default. To enable support in the parser, use the `esproposal_nullish_coalescing` option."),GVr=QB("Unexpected whitespace between `#` and identifier"),JVr=QB("A type annotation is required for the `this` parameter."),qVr=QB("The `this` parameter must be the first function parameter."),zVr=QB("The `this` parameter cannot be optional."),WVr=QB("A getter cannot have a `this` parameter."),VVr=QB("A setter cannot have a `this` parameter."),$Vr=QB("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),YVr=QB("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),HVr=QB("Unexpected parser state: "),KVr=[0,[11,QB("Boolean enum members need to be initialized. Use either `"),[2,0,[11,QB(" = true,` or `"),[2,0,[11,QB(" = false,` in enum `"),[2,0,[11,QB(Ni),0]]]]]]],QB("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],QVr=[0,[11,QB("Enum member names need to be unique, but the name `"),[2,0,[11,QB("` has already been used before in enum `"),[2,0,[11,QB(Ni),0]]]]],QB("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],ZVr=[0,[11,QB(un),[2,0,[11,QB("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],QB("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],r$r=[0,[11,QB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,QB(Ni),0]]],QB("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],e$r=[0,[11,QB("Enum type `"),[2,0,[11,QB("` is not valid. "),[2,0,0]]]],QB("Enum type `%s` is not valid. %s")],t$r=[0,[11,QB("Supplied enum type is not valid. "),[2,0,0]],QB("Supplied enum type is not valid. %s")],n$r=[0,[11,QB("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,QB(":` with `"),[2,0,[11,QB(" =`."),0]]]]],QB("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],u$r=[0,[11,QB("Symbol enum members cannot be initialized. Use `"),[2,0,[11,QB(",` in enum `"),[2,0,[11,QB(Ni),0]]]]],QB("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],a$r=[0,[11,QB(un),[2,0,[11,QB("` has type `"),[2,0,[11,QB("`, so the initializer of `"),[2,0,[11,QB("` needs to be a "),[2,0,[11,QB(" literal."),0]]]]]]]]],QB("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],i$r=[0,[11,QB("The enum member initializer for `"),[2,0,[11,QB("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,QB(Ni),0]]]]],QB("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],c$r=[0,[11,QB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,QB("`, consider using `"),[2,0,[11,QB("`, in enum `"),[2,0,[11,QB(Ni),0]]]]]]],QB("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],f$r=QB("The `...` must come at the end of the enum body. Remove the trailing comma."),o$r=QB("The `...` must come after all enum members. Move it to the end of the enum body."),s$r=[0,[11,QB("Number enum members need to be initialized, e.g. `"),[2,0,[11,QB(" = 1,` in enum `"),[2,0,[11,QB(Ni),0]]]]],QB("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],l$r=[0,[11,QB("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],QB("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],v$r=[0,[11,QB(Ev),[2,0,0]],QB("Unexpected %s")],D$r=[0,[11,QB(Ev),[2,0,[11,QB(", expected "),[2,0,0]]]],QB("Unexpected %s, expected %s")],p$r=[0,[11,QB(TB),[2,0,[11,QB("`. Did you mean `"),[2,0,[11,QB("`?"),0]]]]],QB("Unexpected token `%s`. Did you mean `%s`?")],b$r=QB(uE),F$r=QB("Invalid flags supplied to RegExp constructor '"),m$r=QB(uE),d$r=QB("Undefined label '"),E$r=QB("' has already been declared"),k$r=QB(" '"),h$r=QB("Expected corresponding JSX closing tag for "),y$r=QB(Gd),C$r=QB("In strict mode code, functions can only be declared at top level or "),w$r=QB("inside a block, or as the body of an if statement."),A$r=QB("In non-strict mode code, functions can only be declared at top level, "),_$r=[0,[11,QB("Duplicate export for `"),[2,0,[12,96,0]]],QB("Duplicate export for `%s`")],g$r=QB("` is declared more than once."),B$r=QB("Private fields may only be declared once. `#"),S$r=QB("static "),x$r=QB(qC),T$r=QB("#"),I$r=QB(Ni),N$r=QB("fields named `"),O$r=QB("Classes may not have "),L$r=QB("` has not been declared."),P$r=QB("Private fields must be declared before they can be referenced. `#"),R$r=[0,[11,QB(TB),[2,0,[11,QB("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],QB("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],M$r=QB("Parse_error.Error"),j$r=[0,1,0],U$r=[0,0,[0,1,0],[0,1,0]],X$r=[0,QB("end of input"),QB("the")],G$r=[0,QB("template literal part"),QB(Aw)],J$r=[0,QB(cv),QB(Aw)],q$r=QB("the"),z$r=QB(Aw),W$r=QB(ms),V$r=QB(Aw),$$r=QB(Nd),Y$r=QB(Aw),H$r=QB(eh),K$r=QB("an"),Q$r=QB(Qg),Z$r=QB(GD),rYr=[0,[11,QB("token `"),[2,0,[12,96,0]]],QB("token `%s`")],eYr=QB("{"),tYr=QB(fF),nYr=QB("{|"),uYr=QB("|}"),aYr=QB("("),iYr=QB(Zo),cYr=QB("["),fYr=QB("]"),oYr=QB(";"),sYr=QB(","),lYr=QB(ZF),vYr=QB("=>"),DYr=QB("..."),pYr=QB("@"),bYr=QB("#"),FYr=QB(ws),mYr=QB(Ud),dYr=QB(Rf),EYr=QB(to),kYr=QB(Kt),hYr=QB(gF),yYr=QB(cF),CYr=QB(ur),wYr=QB(ne),AYr=QB(ib),_Yr=QB(e_),gYr=QB(Gs),BYr=QB(Ia),SYr=QB(rs),xYr=QB(Wm),TYr=QB(Pa),IYr=QB(kh),NYr=QB(Pc),OYr=QB(pC),LYr=QB(hy),PYr=QB(TD),RYr=QB(JC),MYr=QB(Nr),jYr=QB(hv),UYr=QB(dg),XYr=QB(gD),GYr=QB(Dp),JYr=QB(Vu),qYr=QB(wu),zYr=QB(js),WYr=QB(Vk),VYr=QB(Cf),$Yr=QB(Ko),YYr=QB(Nf),HYr=QB(HF),KYr=QB(Rh),QYr=QB(jf),ZYr=QB(Fe),rHr=QB(NC),eHr=QB(Mr),tHr=QB(se),nHr=QB(By),uHr=QB(CC),aHr=QB(tb),iHr=QB(Ui),cHr=QB(Ke),fHr=QB(Vr),oHr=QB(Pt),sHr=QB("of"),lHr=QB(uC),vHr=QB(tf),DHr=QB("%checks"),pHr=QB(sp),bHr=QB(">>="),FHr=QB("<<="),mHr=QB("^="),dHr=QB("|="),EHr=QB("&="),kHr=QB("%="),hHr=QB("/="),yHr=QB("*="),CHr=QB("**="),wHr=QB("-="),AHr=QB("+="),_Hr=QB("="),gHr=QB("?."),BHr=QB(a),SHr=QB("?"),xHr=QB(fh),THr=QB("||"),IHr=QB("&&"),NHr=QB("|"),OHr=QB(VC),LHr=QB("&"),PHr=QB("=="),RHr=QB("!="),MHr=QB("==="),jHr=QB("!=="),UHr=QB("<="),XHr=QB(">="),GHr=QB(td),JHr=QB(L),qHr=QB("<<"),zHr=QB(">>"),WHr=QB(">>>"),VHr=QB(bw),$Hr=QB(eC),YHr=QB(fs),HHr=QB("*"),KHr=QB("**"),QHr=QB("%"),ZHr=QB("!"),rKr=QB("~"),eKr=QB("++"),tKr=QB("--"),nKr=QB(qC),uKr=QB(Oh),aKr=QB(Wv),iKr=QB(dd),cKr=QB(ms),fKr=QB(Nd),oKr=QB(eh),sKr=QB(Ko),lKr=QB(ga),vKr=QB(fs),DKr=QB(fs),pKr=QB(Ft),bKr=QB(GC),FKr=QB("T_LCURLY"),mKr=QB("T_RCURLY"),dKr=QB("T_LCURLYBAR"),EKr=QB("T_RCURLYBAR"),kKr=QB("T_LPAREN"),hKr=QB("T_RPAREN"),yKr=QB("T_LBRACKET"),CKr=QB("T_RBRACKET"),wKr=QB("T_SEMICOLON"),AKr=QB("T_COMMA"),_Kr=QB("T_PERIOD"),gKr=QB("T_ARROW"),BKr=QB("T_ELLIPSIS"),SKr=QB("T_AT"),xKr=QB("T_POUND"),TKr=QB("T_FUNCTION"),IKr=QB("T_IF"),NKr=QB("T_IN"),OKr=QB("T_INSTANCEOF"),LKr=QB("T_RETURN"),PKr=QB("T_SWITCH"),RKr=QB("T_THIS"),MKr=QB("T_THROW"),jKr=QB("T_TRY"),UKr=QB("T_VAR"),XKr=QB("T_WHILE"),GKr=QB("T_WITH"),JKr=QB("T_CONST"),qKr=QB("T_LET"),zKr=QB("T_NULL"),WKr=QB("T_FALSE"),VKr=QB("T_TRUE"),$Kr=QB("T_BREAK"),YKr=QB("T_CASE"),HKr=QB("T_CATCH"),KKr=QB("T_CONTINUE"),QKr=QB("T_DEFAULT"),ZKr=QB("T_DO"),rQr=QB("T_FINALLY"),eQr=QB("T_FOR"),tQr=QB("T_CLASS"),nQr=QB("T_EXTENDS"),uQr=QB("T_STATIC"),aQr=QB("T_ELSE"),iQr=QB("T_NEW"),cQr=QB("T_DELETE"),fQr=QB("T_TYPEOF"),oQr=QB("T_VOID"),sQr=QB("T_ENUM"),lQr=QB("T_EXPORT"),vQr=QB("T_IMPORT"),DQr=QB("T_SUPER"),pQr=QB("T_IMPLEMENTS"),bQr=QB("T_INTERFACE"),FQr=QB("T_PACKAGE"),mQr=QB("T_PRIVATE"),dQr=QB("T_PROTECTED"),EQr=QB("T_PUBLIC"),kQr=QB("T_YIELD"),hQr=QB("T_DEBUGGER"),yQr=QB("T_DECLARE"),CQr=QB("T_TYPE"),wQr=QB("T_OPAQUE"),AQr=QB("T_OF"),_Qr=QB("T_ASYNC"),gQr=QB("T_AWAIT"),BQr=QB("T_CHECKS"),SQr=QB("T_RSHIFT3_ASSIGN"),xQr=QB("T_RSHIFT_ASSIGN"),TQr=QB("T_LSHIFT_ASSIGN"),IQr=QB("T_BIT_XOR_ASSIGN"),NQr=QB("T_BIT_OR_ASSIGN"),OQr=QB("T_BIT_AND_ASSIGN"),LQr=QB("T_MOD_ASSIGN"),PQr=QB("T_DIV_ASSIGN"),RQr=QB("T_MULT_ASSIGN"),MQr=QB("T_EXP_ASSIGN"),jQr=QB("T_MINUS_ASSIGN"),UQr=QB("T_PLUS_ASSIGN"),XQr=QB("T_ASSIGN"),GQr=QB("T_PLING_PERIOD"),JQr=QB("T_PLING_PLING"),qQr=QB("T_PLING"),zQr=QB("T_COLON"),WQr=QB("T_OR"),VQr=QB("T_AND"),$Qr=QB("T_BIT_OR"),YQr=QB("T_BIT_XOR"),HQr=QB("T_BIT_AND"),KQr=QB("T_EQUAL"),QQr=QB("T_NOT_EQUAL"),ZQr=QB("T_STRICT_EQUAL"),rZr=QB("T_STRICT_NOT_EQUAL"),eZr=QB("T_LESS_THAN_EQUAL"),tZr=QB("T_GREATER_THAN_EQUAL"),nZr=QB("T_LESS_THAN"),uZr=QB("T_GREATER_THAN"),aZr=QB("T_LSHIFT"),iZr=QB("T_RSHIFT"),cZr=QB("T_RSHIFT3"),fZr=QB("T_PLUS"),oZr=QB("T_MINUS"),sZr=QB("T_DIV"),lZr=QB("T_MULT"),vZr=QB("T_EXP"),DZr=QB("T_MOD"),pZr=QB("T_NOT"),bZr=QB("T_BIT_NOT"),FZr=QB("T_INCR"),mZr=QB("T_DECR"),dZr=QB("T_EOF"),EZr=QB("T_ANY_TYPE"),kZr=QB("T_MIXED_TYPE"),hZr=QB("T_EMPTY_TYPE"),yZr=QB("T_NUMBER_TYPE"),CZr=QB("T_BIGINT_TYPE"),wZr=QB("T_STRING_TYPE"),AZr=QB("T_VOID_TYPE"),_Zr=QB("T_SYMBOL_TYPE"),gZr=QB("T_NUMBER"),BZr=QB("T_BIGINT"),SZr=QB("T_STRING"),xZr=QB("T_TEMPLATE_PART"),TZr=QB("T_IDENTIFIER"),IZr=QB("T_REGEXP"),NZr=QB("T_ERROR"),OZr=QB("T_JSX_IDENTIFIER"),LZr=QB("T_JSX_TEXT"),PZr=QB("T_BOOLEAN_TYPE"),RZr=QB("T_NUMBER_SINGLETON_TYPE"),MZr=QB("T_BIGINT_SINGLETON_TYPE"),jZr=QB("*-/"),UZr=QB("*/"),XZr=QB("*-/"),GZr=QB(Ns),JZr=QB(Ns),qZr=QB("\\"),zZr=QB(Ns),WZr=QB("${"),VZr=QB("\r\n"),$Zr=QB("\r\n"),YZr=QB("\n"),HZr=QB(Ns),KZr=QB("\\\\"),QZr=QB(Ns),ZZr=QB(qC),r0r=QB(qC),e0r=QB(qC),t0r=QB(qC),n0r=QB(Ns),u0r=QB(uE),a0r=QB('"'),i0r=QB(td),c0r=QB(L),f0r=QB("{"),o0r=QB(fF),s0r=QB("{'}'}"),l0r=QB(fF),v0r=QB("{'>'}"),D0r=QB(L),p0r=QB(W_),b0r=QB("iexcl"),F0r=QB("aelig"),m0r=QB("Nu"),d0r=QB("Eacute"),E0r=QB("Atilde"),k0r=QB("'int'"),h0r=QB("AElig"),y0r=QB("Aacute"),C0r=QB("Acirc"),w0r=QB("Agrave"),A0r=QB("Alpha"),_0r=QB("Aring"),g0r=[0,197],B0r=[0,913],S0r=[0,l],x0r=[0,194],T0r=[0,193],I0r=[0,198],N0r=[0,8747],O0r=QB("Auml"),L0r=QB("Beta"),P0r=QB("Ccedil"),R0r=QB("Chi"),M0r=QB("Dagger"),j0r=QB("Delta"),U0r=QB("ETH"),X0r=[0,208],G0r=[0,916],J0r=[0,8225],q0r=[0,935],z0r=[0,199],W0r=[0,914],V0r=[0,196],$0r=[0,195],Y0r=QB("Icirc"),H0r=QB("Ecirc"),K0r=QB("Egrave"),Q0r=QB("Epsilon"),Z0r=QB("Eta"),r1r=QB("Euml"),e1r=QB("Gamma"),t1r=QB("Iacute"),n1r=[0,205],u1r=[0,915],a1r=[0,203],i1r=[0,919],c1r=[0,917],f1r=[0,200],o1r=[0,202],s1r=QB("Igrave"),l1r=QB("Iota"),v1r=QB("Iuml"),D1r=QB("Kappa"),p1r=QB("Lambda"),b1r=QB("Mu"),F1r=QB("Ntilde"),m1r=[0,209],d1r=[0,924],E1r=[0,923],k1r=[0,922],h1r=[0,207],y1r=[0,921],C1r=[0,204],w1r=[0,206],A1r=[0,201],_1r=QB("Sigma"),g1r=QB("Otilde"),B1r=QB("OElig"),S1r=QB("Oacute"),x1r=QB("Ocirc"),T1r=QB("Ograve"),I1r=QB("Omega"),N1r=QB("Omicron"),O1r=QB("Oslash"),L1r=[0,216],P1r=[0,927],R1r=[0,937],M1r=[0,210],j1r=[0,212],U1r=[0,211],X1r=[0,338],G1r=QB("Ouml"),J1r=QB("Phi"),q1r=QB("Pi"),z1r=QB("Prime"),W1r=QB("Psi"),V1r=QB("Rho"),$1r=QB("Scaron"),Y1r=[0,352],H1r=[0,929],K1r=[0,936],Q1r=[0,8243],Z1r=[0,928],r2r=[0,934],e2r=[0,214],t2r=[0,213],n2r=QB("Uuml"),u2r=QB("THORN"),a2r=QB("Tau"),i2r=QB("Theta"),c2r=QB("Uacute"),f2r=QB("Ucirc"),o2r=QB("Ugrave"),s2r=QB("Upsilon"),l2r=[0,933],v2r=[0,217],D2r=[0,219],p2r=[0,218],b2r=[0,920],F2r=[0,932],m2r=[0,222],d2r=QB("Xi"),E2r=QB("Yacute"),k2r=QB("Yuml"),h2r=QB("Zeta"),y2r=QB("aacute"),C2r=QB("acirc"),w2r=QB("acute"),A2r=[0,180],_2r=[0,226],g2r=[0,225],B2r=[0,918],S2r=[0,376],x2r=[0,221],T2r=[0,926],I2r=[0,220],N2r=[0,931],O2r=[0,925],L2r=QB("delta"),P2r=QB("cap"),R2r=QB("aring"),M2r=QB("agrave"),j2r=QB("alefsym"),U2r=QB("alpha"),X2r=QB("amp"),G2r=QB("and"),J2r=QB("ang"),q2r=QB("apos"),z2r=[0,39],W2r=[0,8736],V2r=[0,8743],$2r=[0,38],Y2r=[0,945],H2r=[0,8501],K2r=[0,eo],Q2r=QB("asymp"),Z2r=QB("atilde"),r7r=QB("auml"),e7r=QB("bdquo"),t7r=QB("beta"),n7r=QB("brvbar"),u7r=QB("bull"),a7r=[0,8226],i7r=[0,166],c7r=[0,946],f7r=[0,8222],o7r=[0,228],s7r=[0,227],l7r=[0,8776],v7r=[0,229],D7r=QB("copy"),p7r=QB("ccedil"),b7r=QB("cedil"),F7r=QB("cent"),m7r=QB("chi"),d7r=QB("circ"),E7r=QB("clubs"),k7r=QB("cong"),h7r=[0,8773],y7r=[0,9827],C7r=[0,710],w7r=[0,967],A7r=[0,162],_7r=[0,184],g7r=[0,231],B7r=QB("crarr"),S7r=QB("cup"),x7r=QB("curren"),T7r=QB("dArr"),I7r=QB("dagger"),N7r=QB("darr"),O7r=QB("deg"),L7r=[0,176],P7r=[0,8595],R7r=[0,8224],M7r=[0,8659],j7r=[0,164],U7r=[0,8746],X7r=[0,8629],G7r=[0,169],J7r=[0,8745],q7r=QB("fnof"),z7r=QB("ensp"),W7r=QB("diams"),V7r=QB("divide"),$7r=QB("eacute"),Y7r=QB("ecirc"),H7r=QB("egrave"),K7r=QB(dd),Q7r=QB("emsp"),Z7r=[0,8195],r8r=[0,8709],e8r=[0,232],t8r=[0,234],n8r=[0,233],u8r=[0,247],a8r=[0,9830],i8r=QB("epsilon"),c8r=QB("equiv"),f8r=QB("eta"),o8r=QB("eth"),s8r=QB("euml"),l8r=QB("euro"),v8r=QB("exist"),D8r=[0,8707],p8r=[0,8364],b8r=[0,235],F8r=[0,Zy],m8r=[0,951],d8r=[0,8801],E8r=[0,949],k8r=[0,8194],h8r=QB("gt"),y8r=QB("forall"),C8r=QB("frac12"),w8r=QB("frac14"),A8r=QB("frac34"),_8r=QB("frasl"),g8r=QB("gamma"),B8r=QB("ge"),S8r=[0,8805],x8r=[0,947],T8r=[0,8260],I8r=[0,190],N8r=[0,188],O8r=[0,189],L8r=[0,8704],P8r=QB("hArr"),R8r=QB("harr"),M8r=QB("hearts"),j8r=QB("hellip"),U8r=QB("iacute"),X8r=QB("icirc"),G8r=[0,238],J8r=[0,237],q8r=[0,8230],z8r=[0,9829],W8r=[0,8596],V8r=[0,8660],$8r=[0,62],Y8r=[0,402],H8r=[0,948],K8r=[0,230],Q8r=QB("prime"),Z8r=QB("ndash"),r3r=QB("le"),e3r=QB("kappa"),t3r=QB("igrave"),n3r=QB("image"),u3r=QB("infin"),a3r=QB("iota"),i3r=QB("iquest"),c3r=QB("isin"),f3r=QB("iuml"),o3r=[0,239],s3r=[0,8712],l3r=[0,191],v3r=[0,953],D3r=[0,8734],p3r=[0,8465],b3r=[0,236],F3r=QB("lArr"),m3r=QB("lambda"),d3r=QB("lang"),E3r=QB("laquo"),k3r=QB("larr"),h3r=QB("lceil"),y3r=QB("ldquo"),C3r=[0,8220],w3r=[0,8968],A3r=[0,8592],_3r=[0,171],g3r=[0,10216],B3r=[0,955],S3r=[0,8656],x3r=[0,954],T3r=QB("macr"),I3r=QB("lfloor"),N3r=QB("lowast"),O3r=QB("loz"),L3r=QB("lrm"),P3r=QB("lsaquo"),R3r=QB("lsquo"),M3r=QB("lt"),j3r=[0,60],U3r=[0,8216],X3r=[0,8249],G3r=[0,8206],J3r=[0,9674],q3r=[0,8727],z3r=[0,8970],W3r=QB("mdash"),V3r=QB("micro"),$3r=QB("middot"),Y3r=QB(lh),H3r=QB("mu"),K3r=QB("nabla"),Q3r=QB("nbsp"),Z3r=[0,160],r4r=[0,8711],e4r=[0,956],t4r=[0,8722],n4r=[0,183],u4r=[0,181],a4r=[0,8212],i4r=[0,175],c4r=[0,8804],f4r=QB("or"),o4r=QB("oacute"),s4r=QB("ne"),l4r=QB("ni"),v4r=QB("not"),D4r=QB("notin"),p4r=QB("nsub"),b4r=QB("ntilde"),F4r=QB("nu"),m4r=[0,957],d4r=[0,241],E4r=[0,8836],k4r=[0,8713],h4r=[0,172],y4r=[0,8715],C4r=[0,8800],w4r=QB("ocirc"),A4r=QB("oelig"),_4r=QB("ograve"),g4r=QB("oline"),B4r=QB("omega"),S4r=QB("omicron"),x4r=QB("oplus"),T4r=[0,8853],I4r=[0,959],N4r=[0,969],O4r=[0,hF],L4r=[0,242],P4r=[0,339],R4r=[0,244],M4r=[0,243],j4r=QB("part"),U4r=QB("ordf"),X4r=QB("ordm"),G4r=QB("oslash"),J4r=QB("otilde"),q4r=QB("otimes"),z4r=QB("ouml"),W4r=QB("para"),V4r=[0,182],$4r=[0,246],Y4r=[0,8855],H4r=[0,245],K4r=[0,bc],Q4r=[0,186],Z4r=[0,170],r6r=QB("permil"),e6r=QB("perp"),t6r=QB("phi"),n6r=QB("pi"),u6r=QB("piv"),a6r=QB("plusmn"),i6r=QB("pound"),c6r=[0,163],f6r=[0,177],o6r=[0,982],s6r=[0,960],l6r=[0,966],v6r=[0,8869],D6r=[0,8240],p6r=[0,8706],b6r=[0,8744],F6r=[0,8211],m6r=QB("sup1"),d6r=QB("rlm"),E6r=QB("raquo"),k6r=QB("prod"),h6r=QB("prop"),y6r=QB("psi"),C6r=QB("quot"),w6r=QB("rArr"),A6r=QB("radic"),_6r=QB("rang"),g6r=[0,10217],B6r=[0,8730],S6r=[0,8658],x6r=[0,34],T6r=[0,968],I6r=[0,8733],N6r=[0,8719],O6r=QB("rarr"),L6r=QB("rceil"),P6r=QB("rdquo"),R6r=QB("real"),M6r=QB("reg"),j6r=QB("rfloor"),U6r=QB("rho"),X6r=[0,961],G6r=[0,8971],J6r=[0,174],q6r=[0,8476],z6r=[0,8221],W6r=[0,8969],V6r=[0,8594],$6r=[0,187],Y6r=QB("sigma"),H6r=QB("rsaquo"),K6r=QB("rsquo"),Q6r=QB("sbquo"),Z6r=QB("scaron"),r5r=QB("sdot"),e5r=QB("sect"),t5r=QB("shy"),n5r=[0,173],u5r=[0,167],a5r=[0,8901],i5r=[0,353],c5r=[0,8218],f5r=[0,8217],o5r=[0,8250],s5r=QB("sigmaf"),l5r=QB("sim"),v5r=QB("spades"),D5r=QB("sub"),p5r=QB("sube"),b5r=QB("sum"),F5r=QB("sup"),m5r=[0,8835],d5r=[0,8721],E5r=[0,8838],k5r=[0,8834],h5r=[0,9824],y5r=[0,8764],C5r=[0,962],w5r=[0,963],A5r=[0,8207],_5r=QB("uarr"),g5r=QB("thetasym"),B5r=QB("sup2"),S5r=QB("sup3"),x5r=QB("supe"),T5r=QB("szlig"),I5r=QB("tau"),N5r=QB("there4"),O5r=QB("theta"),L5r=[0,952],P5r=[0,8756],R5r=[0,964],M5r=[0,co],j5r=[0,8839],U5r=[0,179],X5r=[0,178],G5r=QB("thinsp"),J5r=QB("thorn"),q5r=QB("tilde"),z5r=QB("times"),W5r=QB("trade"),V5r=QB("uArr"),$5r=QB("uacute"),Y5r=[0,250],H5r=[0,8657],K5r=[0,8482],Q5r=[0,215],Z5r=[0,732],r9r=[0,254],e9r=[0,8201],t9r=[0,977],n9r=QB("xi"),u9r=QB("ucirc"),a9r=QB("ugrave"),i9r=QB("uml"),c9r=QB("upsih"),f9r=QB("upsilon"),o9r=QB("uuml"),s9r=QB("weierp"),l9r=[0,W],v9r=[0,252],D9r=[0,965],p9r=[0,978],b9r=[0,168],F9r=[0,249],m9r=[0,251],d9r=QB("yacute"),E9r=QB("yen"),k9r=QB("yuml"),h9r=QB("zeta"),y9r=QB("zwj"),C9r=QB("zwnj"),w9r=[0,8204],A9r=[0,Cc],_9r=[0,950],g9r=[0,_s],B9r=[0,165],S9r=[0,253],x9r=[0,958],T9r=[0,8593],I9r=[0,185],N9r=[0,8242],O9r=[0,161],L9r=QB(";"),P9r=QB("&"),R9r=QB(Ns),M9r=QB(Ns),j9r=QB(Ns),U9r=QB(Ns),X9r=QB(Ns),G9r=QB(Ns),J9r=QB(Ns),q9r=QB(Ns),z9r=QB(Ns),W9r=QB(Ns),V9r=QB(Ns),$9r=QB(Ns),Y9r=QB(Ns),H9r=QB(fh),K9r=QB(fh),Q9r=QB(bt),Z9r=[9,0],rre=[9,1],ere=QB(Ns),tre=QB(fF),nre=[0,QB(qC),QB(qC),QB(qC)],ure=QB(Ns),are=QB(Ns),ire=QB(uE),cre=QB(Ns),fre=QB(Ns),ore=QB(Ns),sre=QB(Ns),lre=QB(Ns),vre=QB(Ns),Dre=QB(Ns),pre=QB(Ns),bre=QB(Ns),Fre=QB(Ns),mre=QB(Ns),dre=QB(Ns),Ere=QB(Ns),kre=QB(Ns),hre=QB(Ns),yre=QB(fh),Cre=QB(fh),wre=QB(bt),Are=[6,QB("#!")],_re=QB("expected ?"),gre=QB(Ns),Bre=QB(uc),Sre=QB(ob),xre=QB(ob),Tre=QB(uc),Ire=QB("b"),Nre=QB("f"),Ore=QB("n"),Lre=QB("r"),Pre=QB("t"),Rre=QB("v"),Mre=QB(ob),jre=QB(W_),Ure=QB(W_),Xre=QB(Ns),Gre=QB(W_),Jre=QB(W_),qre=QB(Ns),zre=QB("Invalid (lexer) bigint "),Wre=QB("Invalid (lexer) bigint binary/octal "),Vre=QB(ob),$re=QB(yf),Yre=QB(gr),Hre=QB(lu),Kre=[11,QB("token ILLEGAL")],Qre=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01"),Zre=QB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),ree=QB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),eee=QB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),tee=QB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),nee=QB("\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"),uee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01"),aee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),iee=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x06\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x07"),cee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),fee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),oee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),see=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02"),lee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),vee=QB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Dee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),pee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),bee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Fee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),mee=QB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),dee=QB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x05\0\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Eee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),kee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),hee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),yee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Cee=QB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01\0\0\0\0\0\0\x01\x05\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\t\x07\x01\x01\x01\x01\x01\x01\x01\x01\b\x01\x01"),wee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Aee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),_ee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),gee=QB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x04\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Bee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),See=QB("\x01\0\0\0\0\0\0\0\0\0\x02\0\x03\x03\x03\x03\x03\x03\x03\x03\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),xee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x03\0\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Tee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Iee=QB("\x01\0\0\x02"),Nee=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x04\x02\x02\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05"),Oee=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03"),Lee=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x07"),Pee=QB("\x01\x02\0\0\0\0\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Ree=QB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Mee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),jee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01"),Uee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01"),Xee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Gee=QB("\x01\0\0\0\0\0\0\x02\0\x02\0\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Jee=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),qee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),zee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Wee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Vee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),$ee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Yee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Hee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Kee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Qee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Zee=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),rte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ete=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),tte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),nte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ute=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ate=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x05\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ite=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x05\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),cte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),fte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ote=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),ste=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),lte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),vte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Dte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),pte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),bte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Fte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),mte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),dte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ete=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),kte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x04\x01\x01\x05\x01\x01\x01\x01\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),hte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),yte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Cte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),wte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ate=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),_te=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),gte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Bte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ste=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),xte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Tte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ite=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Nte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x01\x01\x05\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ote=QB("\x01\0\x02"),Lte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Pte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Rte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x04\x01\x01\x01\x01\x01\x01\x01\x01\x01\x05\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Mte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),jte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Ute=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x04\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Xte=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01"),Gte=QB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Jte=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02"),qte=QB("\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),zte=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04"),Wte=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Vte=QB("\x01\x02\0\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04"),$te=QB("\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Yte=QB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),Hte=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x04\x01\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x01\x02\x02\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x01\x03\x03\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x01\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x02\x01\x01\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x03\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x01\x02\x02\x01\x01\x03\x01\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x02\x02\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x02\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x01\x01\x01\x02\x02\x01\x01\x01\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x02\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x01\x01\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x02\x01\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x01\x03\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x03\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x03\x03\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x01\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x01\x01\x02\x02\x02\x02\x02\x01\x02\x01\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x03\x01\x03\x01\x01\x01\x01\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x01\x01\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x01\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x01\x01\x01\x01\x02\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x01\x01\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x03\x03\x03\x01\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x03\x02\x02\x03\x03\x03\x02\x01\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x01\x03\x03\x03\x03\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x02\x01\x02\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x02\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x02\x02\x02\x02\x01\x01\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x01\x01\x01\x01\x01\x02\x02\x02\x01\x02\x02\x02\x02\x02\x02\x02"),Kte=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x06\x06\x06\x06\x06\x06\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\b\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\n\x02\x02\x02\v\x02\f\r\x0e\x02\x0f"),Qte=QB("\x01\0\x01\0\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),Zte=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x01\x01\x03"),rne=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04"),ene=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\b\t\x06\n\v\f\r\x0e\x0f\x10\x11\x12\x13\x13\x13\x13\x13\x13\x13\x13\x13\x14\x15\x16\x17\x18\x19\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1a\x1b\x1c\x02\x07\x02\x1d\x1e\x07\x07\x1f \x07\x07!\x07\x07\x07\"#\x07\x07\x07\x07$%\x07&\x07\x07\x07\x07'()\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x02\x02\x02\x07\x07\x02\x02\x02\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02"),tne=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x06\x07\b\t\n\v\x07\f\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x15\x15\x15\x15\x15\x15\x15\x15\x16\x17\x18\x19\x1a\x1b\x1c\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x1d\x1e\x1f \t!\"#$%&'\t\t(\t\t)\t*+,\t-./\t01\t2\t3456\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\t\t\x02\x02\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\x02\x02\x02\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\x02\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\t\t\t\t\x02\x02\x02\t\t\t\x02\t\t\t\t\x02\x02\x02\t\t\x02\t\x02\t\t\x02\x02\x02\t\t\x02\x02\x02\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\t\x02\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\x02\x02\x02\t\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\x02\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x03\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\x02\t\t\t\t\t\t\x02\t\t\x02\x02\x02\t\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\x02\t\x02\t\x02\t\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\t\t\t\t\t\t\t\x02\t\x02\x02\x02\t\t\t\x02\t\t\t\t\t\t\t\x02\x02\x02\t\t\t\t\x02\x02\t\t\t\t\t\t\x02\x02\x02\x02\t\t\t\t\t\t\t\t\t\t\t\t\t\x02\x02\x02\x02\x02\t\t\t\x02\t\t\t\t\t\t\t\x02\x02\x02"),nne=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),une=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04"),ane=QB("\x01\0\0\0\0\x02"),ine=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x04\x03\x03\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x06\x02\x07\x02\x02\x06\x02\x02\x02\x02\x02\x02\b\t\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\n\x02\v\f\r\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x0e\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x0f\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x02\x02\x02\x07\x07\x02\x02\x02\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x02\x02\x02\x07\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x02\x07\x07\x02\x02\x02\x07\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x07\x02\x07\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x07\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x07\x07\x07\x07\x02\x02\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02\x02\x02\x07\x07\x07\x02\x07\x07\x07\x07\x07\x07\x07\x02\x02\x02"),cne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),fne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),one=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\x02"),sne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),lne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x03"),vne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Dne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),pne=QB("\x01\0\0\0\0\0\0\0\x02"),bne=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06\x02\x02\x02\x07"),Fne=QB("\x01\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),mne=QB("\x01\0\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03"),dne=QB("\x01\0\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02"),Ene=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02"),kne=QB("\x01\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x03\x02\x02\x04\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x06"),hne=QB("\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03"),yne=QB("\x01\0\0\0\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x02\0\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\0\x01\x01\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\0\x01\x01\0\0\x01\0\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\x01\x01\0\x01\0\x01\x01\0\0\0\x01\x01\0\0\0\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\0\x01\0\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\0\0\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\0\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\0\0\0\0\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\0\x01\0\x01\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\x01\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01\0\0\0\x01\x01\x01\x01\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\x01\x01\x01\0\x01\x01\x01\x01\x01\x01\x01"),Cne=QB("\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\x01\x01\x01\x01\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),wne=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),Ane=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),_ne=QB("\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"),gne=[0,[11,QB("the identifier `"),[2,0,[12,96,0]]],QB("the identifier `%s`")],Bne=[0,1],Sne=QB("@flow"),xne=QB(xb),Tne=QB(xb),Ine=QB("Peeking current location when not available"),Nne=QB(NC),One=QB(ii),Lne=QB(Oh),Pne=QB(Nd),Rne=QB(GC),Mne=QB(Ft),jne=QB(dd),Une=QB(Dp),Xne=QB(Pa),Gne=QB(Wv),Jne=QB(Wm),qne=QB(ms),zne=QB(Vu),Wne=QB(eh),Vne=QB(kh),$ne=QB(Cf),Yne=QB(Ko),Hne=QB(Pa),Kne=QB(Wm),Qne=QB(kh),Zne=QB(Pa),rue=QB(Wm),eue=QB(kh),tue=QB(Xu),nue=QB("eval"),uue=QB(Fe),aue=QB(NC),iue=QB(Mr),cue=QB(se),fue=QB(By),oue=QB(CC),sue=QB(Vu),lue=QB(tb),vue=QB(Nf),Due=QB(Ud),pue=QB(JC),bue=QB(tf),Fue=QB(Pc),mue=QB(pC),due=QB(hy),Eue=QB(gD),kue=QB(Ia),hue=QB(TD),yue=QB(Ui),Cue=QB(Vk),wue=QB(Nr),Aue=QB(wu),_ue=QB(HF),gue=QB(Dp),Bue=QB(hv),Sue=QB(dg),xue=QB(ws),Tue=QB(ur),Iue=QB(Rh),Nue=QB(Rf),Oue=QB(to),Lue=QB(js),Pue=QB(Kt),Rue=QB(jf),Mue=QB(gF),jue=QB(cF),Uue=QB(ne),Xue=QB(Cf),Gue=QB(ib),Jue=QB(Ko),que=QB(e_),zue=QB(Gs),Wue=QB(tb),Vue=[0,QB("src/parser/parser_env.ml"),361,2],$ue=QB("Internal Error: Tried to add_declared_private with outside of class scope."),Yue=QB("Internal Error: `exit_class` called before a matching `enter_class`"),Hue=QB(qC),Kue=QB(qC),Que=[0,0,0],Zue=[0,0,0],rae=QB(Eu),eae=QB(Eu),tae=QB("Parser_env.Try.Rollback"),nae=QB(qC),uae=QB(qC),aae=[0,QB(st),QB($y),QB(Xm),QB(Di),QB(ui),QB(nu),QB(y)],iae=[0,QB(cB),QB(ci),QB(lF),QB(Bo),QB(qn),QB(rm),QB(Ec),QB(aD),QB(jb),QB(la),QB(Xm),QB(ji),QB(av),QB(M_),QB(it),QB(sc),QB(Hg),QB(Ws),QB(HC),QB(U),QB(FF),QB(Kl),QB(Eb),QB(Rh),QB(Qg),QB(RA),QB(kc),QB(lm),QB(hC),QB(wp),QB(Et),QB(jE),QB(Pk),QB($n),QB(yw),QB(ar),QB(Mw),QB(Rk),QB(Xi),QB(Zi),QB(mt),QB(y),QB(fe),QB(fE),QB(Ty),QB($o)],cae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB($o),QB(ci),QB(et),QB(qn),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],fae=[0,QB(xe),QB(Fh),QB(du),QB(mt),QB(mu),QB(Tm),QB(Za),QB(Co),QB(Eb),QB(mA),QB(gF),QB(Fk),QB(B_),QB(gg),QB(sc),QB(Dr),QB(Dk),QB(Dl),QB(B),QB(iB),QB(Uo),QB(RA),QB(zk),QB(Qg),QB($y),QB(os),QB(yk),QB(Nu),QB(Xi),QB(ei),QB(P),QB(Uv),QB(Ut),QB(oh),QB(pg),QB(x_),QB(Hp),QB(Al),QB(bh),QB(Ik),QB(Af),QB(Oo),QB(Te),QB(ar),QB(aF),QB(ok),QB(oy),QB(ui),QB(ou),QB(aE),QB(_E),QB($n),QB(M_),QB(av),QB(an),QB(Tw),QB(Wg),QB(FF),QB(ri),QB(jE),QB(xl),QB(Tt),QB(s_),QB(Da),QB(Xo),QB(lm),QB(jk),QB(Ty),QB(fp),QB(Ny),QB(Tl),QB(Ca),QB(tp),QB(Up),QB(ji),QB(Sp),QB(JA),QB(nA),QB(fe),QB(tF),QB(yv),QB(vn),QB(w_),QB(Xm),QB(dd),QB(tA),QB(cl),QB(tb),QB(Lk),QB(mC),QB(p_),QB(wE),QB(mc),QB(SF),QB(Pe),QB(kw),QB(K_),QB(Fo),QB(Ol),QB(Kl),QB(ld),QB(at),QB(wk),QB(jh),QB(De),QB(Zh),QB(lt),QB(aD),QB(cB),QB(FB),QB(Bo),QB(lF),QB(yw),QB(Lc),QB(mi),QB(HC),QB(uf),QB(In),QB($p),QB(it),QB(TE),QB(au),QB(Ws),QB(Rk),QB(Yk),QB(Hg),QB(Rh),QB(Kt),QB(Vw),QB(aB),QB(fB),QB(ur),QB(Ui),QB(de),QB(bA),QB(Wf),QB(Op),QB(io),QB(qs),QB(Gf),QB(gf),QB(tr),QB(El),QB(BE),QB(mg),QB(ee),QB(Nn),QB(c),QB(SB),QB(Ip),QB(KA),QB(Hr),QB(Pu),QB(Pn),QB(PC),QB(sD),QB(fn),QB(Ec),QB(si),QB(Zi),QB(sF),QB($w),QB(dk),QB(nu),QB(la),QB(kc),QB(Dh),QB(lB),QB(Mw),QB(Wh),QB(Je),QB(Ur),QB(Kp),QB(rm),QB(Di),QB($o),QB(ci),QB(et),QB(qn),QB(st),QB(pw),QB(Pk),QB($i),QB(Bm),QB(FA),QB(jb),QB(fE),QB(zu),QB(Lr),QB(Et),QB(ha),QB(iv),QB(Kc),QB(hC),QB(pl),QB(TD),QB(mn),QB(og),QB(lf),QB(sn),QB(Nl),QB(LC),QB(wp),QB(HA),QB(je),QB(y),QB(nl),QB(U),QB(KE),QB(wi),QB(Ho),QB(Pc),QB(Gk),QB(NC),QB(Ov),QB(bF),QB(t)],oae=QB(qu),sae=QB(kt),lae=[0,[11,QB("Failure while looking up "),[2,0,[11,QB(". Index: "),[4,0,0,0,[11,QB(". Length: "),[4,0,0,0,[12,46,0]]]]]]],QB("Failure while looking up %s. Index: %d. Length: %d.")],vae=[0,0,0,0],Dae=QB("Offset_utils.Offset_lookup_failed"),pae=QB(hA),bae=QB(Sv),Fae=QB(WC),mae=QB(cd),dae=QB(cd),Eae=QB(WC),kae=QB(Vr),hae=QB(Gu),yae=QB(AE),Cae=QB(AE),wae=QB("Program"),Aae=QB(zi),_ae=QB("BreakStatement"),gae=QB(zi),Bae=QB("ContinueStatement"),Sae=QB("DebuggerStatement"),xae=QB(fg),Tae=QB("DeclareExportAllDeclaration"),Iae=QB(fg),Nae=QB(BB),Oae=QB(Wu),Lae=QB(JC),Pae=QB("DeclareExportDeclaration"),Rae=QB(Xe),Mae=QB(AE),jae=QB(pi),Uae=QB("DeclareModule"),Xae=QB(ZD),Gae=QB("DeclareModuleExports"),Jae=QB(rh),qae=QB(AE),zae=QB("DoWhileStatement"),Wae=QB("EmptyStatement"),Vae=QB(zC),$ae=QB(Wu),Yae=QB("ExportDefaultDeclaration"),Hae=QB(zC),Kae=QB(fg),Qae=QB("ExportAllDeclaration"),Zae=QB(zC),rie=QB(fg),eie=QB(BB),tie=QB(Wu),nie=QB("ExportNamedDeclaration"),uie=QB(m),aie=QB(Et),iie=QB("ExpressionStatement"),cie=QB(AE),fie=QB(V),oie=QB(rh),sie=QB(nk),lie=QB("ForStatement"),vie=QB(Cl),Die=QB(AE),pie=QB(iu),bie=QB(of),Fie=QB("ForInStatement"),mie=QB(tf),die=QB(AE),Eie=QB(iu),kie=QB(of),hie=QB("ForOfStatement"),yie=QB(qF),Cie=QB(Rp),wie=QB(rh),Aie=QB("IfStatement"),_ie=QB(Vr),gie=QB(Cf),Bie=QB(Im),Sie=QB(vp),xie=QB(fg),Tie=QB(BB),Iie=QB("ImportDeclaration"),Nie=QB(AE),Oie=QB(zi),Lie=QB("LabeledStatement"),Pie=QB(QC),Rie=QB("ReturnStatement"),Mie=QB(Sd),jie=QB("discriminant"),Uie=QB("SwitchStatement"),Xie=QB(QC),Gie=QB("ThrowStatement"),Jie=QB(bl),qie=QB(Kn),zie=QB(y),Wie=QB("TryStatement"),Vie=QB(AE),$ie=QB(rh),Yie=QB("WhileStatement"),Hie=QB(AE),Kie=QB(Oc),Qie=QB("WithStatement"),Zie=QB(dl),rce=QB("ArrayExpression"),ece=QB(Ta),tce=QB(Qy),nce=QB(Et),uce=QB(av),ace=QB(mg),ice=QB(uC),cce=QB(AE),fce=QB(w),oce=QB(pi),sce=QB("ArrowFunctionExpression"),lce=QB("="),vce=QB(iu),Dce=QB(of),pce=QB(__),bce=QB("AssignmentExpression"),Fce=QB(iu),mce=QB(of),dce=QB(__),Ece=QB("BinaryExpression"),kce=QB("CallExpression"),hce=QB(Jt),yce=QB($k),Cce=QB("ComprehensionExpression"),wce=QB(qF),Ace=QB(Rp),_ce=QB(rh),gce=QB("ConditionalExpression"),Bce=QB(Jt),Sce=QB($k),xce=QB("GeneratorExpression"),Tce=QB(fg),Ice=QB("ImportExpression"),Nce=QB("||"),Oce=QB("&&"),Lce=QB(a),Pce=QB(iu),Rce=QB(of),Mce=QB(__),jce=QB("LogicalExpression"),Uce=QB("MemberExpression"),Xce=QB(rA),Gce=QB("meta"),Jce=QB("MetaProperty"),qce=QB(Xu),zce=QB(kF),Wce=QB(tv),Vce=QB("NewExpression"),$ce=QB(Bu),Yce=QB("ObjectExpression"),Hce=QB(Dv),Kce=QB("OptionalCallExpression"),Qce=QB(Dv),Zce=QB("OptionalMemberExpression"),rfe=QB(Hm),efe=QB("SequenceExpression"),tfe=QB("Super"),nfe=QB("ThisExpression"),ufe=QB(ZD),afe=QB(Et),ife=QB("TypeCastExpression"),cfe=QB(QC),ffe=QB("AwaitExpression"),ofe=QB(eC),sfe=QB(bw),lfe=QB("!"),vfe=QB("~"),Dfe=QB(Cf),pfe=QB(Ko),bfe=QB(Vk),Ffe=QB("matched above"),mfe=QB(QC),dfe=QB(CD),Efe=QB(__),kfe=QB("UnaryExpression"),hfe=QB("--"),yfe=QB("++"),Cfe=QB(CD),wfe=QB(QC),Afe=QB(__),_fe=QB("UpdateExpression"),gfe=QB(Eh),Bfe=QB(QC),Sfe=QB("YieldExpression"),xfe=QB("Unexpected FunctionDeclaration with BodyExpression"),Tfe=QB(Ta),Ife=QB(Qy),Nfe=QB(Et),Ofe=QB(av),Lfe=QB(mg),Pfe=QB(uC),Rfe=QB(AE),Mfe=QB(w),jfe=QB(pi),Ufe=QB("FunctionDeclaration"),Xfe=QB("Unexpected FunctionExpression with BodyExpression"),Gfe=QB(Ta),Jfe=QB(Qy),qfe=QB(Et),zfe=QB(av),Wfe=QB(mg),Vfe=QB(uC),$fe=QB(AE),Yfe=QB(w),Hfe=QB(pi),Kfe=QB("FunctionExpression"),Qfe=QB(Dv),Zfe=QB(ZD),roe=QB(Wl),eoe=QB(f),toe=QB(pi),noe=QB("PrivateName"),uoe=QB(Dv),aoe=QB(ZD),ioe=QB(Wl),coe=QB(f),foe=QB(Rp),ooe=QB(rh),soe=QB("SwitchCase"),loe=QB(AE),voe=QB("param"),Doe=QB("CatchClause"),poe=QB(AE),boe=QB("BlockStatement"),Foe=QB(pi),moe=QB("DeclareVariable"),doe=QB(av),Eoe=QB(pi),koe=QB("DeclareFunction"),hoe=QB(ot),yoe=QB(Fe),Coe=QB(Dp),woe=QB(AE),Aoe=QB(Ta),_oe=QB(pi),goe=QB("DeclareClass"),Boe=QB(Dp),Soe=QB(AE),xoe=QB(Ta),Toe=QB(pi),Ioe=QB("DeclareInterface"),Noe=QB(Im),Ooe=QB(Vr),Loe=QB(Yt),Poe=QB("ExportNamespaceSpecifier"),Roe=QB(iu),Moe=QB(Ta),joe=QB(pi),Uoe=QB("DeclareTypeAlias"),Xoe=QB(iu),Goe=QB(Ta),Joe=QB(pi),qoe=QB("TypeAlias"),zoe=QB("DeclareOpaqueType"),Woe=QB("OpaqueType"),Voe=QB(uF),$oe=QB(fb),Yoe=QB(Ta),Hoe=QB(pi),Koe=QB("ClassDeclaration"),Qoe=QB("ClassExpression"),Zoe=QB(J),rse=QB(Fe),ese=QB("superTypeParameters"),tse=QB("superClass"),nse=QB(Ta),use=QB(AE),ase=QB(pi),ise=QB(Et),cse=QB("Decorator"),fse=QB(Ta),ose=QB(pi),sse=QB("ClassImplements"),lse=QB(AE),vse=QB("ClassBody"),Dse=QB(Zp),pse=QB(rr),bse=QB(Wt),Fse=QB(uu),mse=QB(J),dse=QB(oi),Ese=QB(Vu),kse=QB(Xe),hse=QB(Im),yse=QB(DB),Cse=QB("MethodDefinition"),wse=QB(Ke),Ase=QB(Sp),_se=QB(Vu),gse=QB(ZD),Bse=QB(Im),Sse=QB(DB),xse=QB("ClassPrivateProperty"),Tse=QB("Internal Error: Private name found in class prop"),Ise=QB(Ke),Nse=QB(Sp),Ose=QB(Vu),Lse=QB(oi),Pse=QB(ZD),Rse=QB(Im),Mse=QB(DB),jse=QB("ClassProperty"),Use=QB(pi),Xse=QB(_F),Gse=QB(nk),Jse=QB(pi),qse=QB("EnumStringMember"),zse=QB(pi),Wse=QB(_F),Vse=QB(nk),$se=QB(pi),Yse=QB("EnumNumberMember"),Hse=QB(nk),Kse=QB(pi),Qse=QB("EnumBooleanMember"),Zse=QB(Wo),rle=QB(by),ele=QB(Zt),tle=QB("EnumBooleanBody"),nle=QB(Wo),ule=QB(by),ale=QB(Zt),ile=QB("EnumNumberBody"),cle=QB(Wo),fle=QB(by),ole=QB(Zt),sle=QB("EnumStringBody"),lle=QB(Wo),vle=QB(Zt),Dle=QB("EnumSymbolBody"),ple=QB(AE),ble=QB(pi),Fle=QB("EnumDeclaration"),mle=QB(Dp),dle=QB(AE),Ele=QB(Ta),kle=QB(pi),hle=QB("InterfaceDeclaration"),yle=QB(Ta),Cle=QB(pi),wle=QB("InterfaceExtends"),Ale=QB(ZD),_le=QB(Bu),gle=QB("ObjectPattern"),Ble=QB(ZD),Sle=QB(dl),xle=QB("ArrayPattern"),Tle=QB(iu),Ile=QB(of),Nle=QB($E),Ole=QB(ZD),Lle=QB(Wl),Ple=QB(f),Rle=QB(QC),Mle=QB(qD),jle=QB(QC),Ule=QB(qD),Xle=QB(iu),Gle=QB(of),Jle=QB($E),qle=QB(nk),zle=QB(nk),Wle=QB(Wt),Vle=QB(uu),$le=QB(Mi),Yle=QB(oi),Hle=QB(Qh),Kle=QB(rr),Qle=QB(Xe),Zle=QB(Im),rve=QB(DB),eve=QB(pe),tve=QB(QC),nve=QB("SpreadProperty"),uve=QB(iu),ave=QB(of),ive=QB($E),cve=QB(oi),fve=QB(Qh),ove=QB(rr),sve=QB(Xe),lve=QB(Im),vve=QB(DB),Dve=QB(pe),pve=QB(QC),bve=QB("SpreadElement"),Fve=QB(Cl),mve=QB(iu),dve=QB(of),Eve=QB("ComprehensionBlock"),kve=QB("We should not create Literal nodes for bigints"),hve=QB(wm),yve=QB(Op),Cve=QB("regex"),wve=QB(ge),Ave=QB(Im),_ve=QB(ge),gve=QB(Im),Bve=QB(iA),Sve=QB(ge),xve=QB(Im),Tve=QB(iA),Ive=QB(Nd),Nve=QB(Im),Ove=QB("BigIntLiteral"),Lve=QB(ge),Pve=QB(Im),Rve=QB(iA),Mve=QB(Hm),jve=QB("quasis"),Uve=QB("TemplateLiteral"),Xve=QB(KC),Gve=QB(ge),Jve=QB(Gr),qve=QB(Im),zve=QB("TemplateElement"),Wve=QB(Oy),Vve=QB("tag"),$ve=QB("TaggedTemplateExpression"),Yve=QB(ib),Hve=QB(rs),Kve=QB(Ia),Qve=QB(Xe),Zve=QB("declarations"),rDe=QB("VariableDeclaration"),eDe=QB(nk),tDe=QB(pi),nDe=QB("VariableDeclarator"),uDe=QB(Xe),aDe=QB("Variance"),iDe=QB("AnyTypeAnnotation"),cDe=QB("MixedTypeAnnotation"),fDe=QB("EmptyTypeAnnotation"),oDe=QB("VoidTypeAnnotation"),sDe=QB("NullLiteralTypeAnnotation"),lDe=QB("SymbolTypeAnnotation"),vDe=QB("NumberTypeAnnotation"),DDe=QB("BigIntTypeAnnotation"),pDe=QB("StringTypeAnnotation"),bDe=QB("BooleanTypeAnnotation"),FDe=QB(ZD),mDe=QB("NullableTypeAnnotation"),dDe=QB(Ta),EDe=QB(ka),kDe=QB(Qy),hDe=QB(cF),yDe=QB(w),CDe=QB("FunctionTypeAnnotation"),wDe=QB(Dv),ADe=QB(ZD),_De=QB(Wl),gDe=QB(zl),BDe=QB(Dv),SDe=QB(ZD),xDe=QB(Wl),TDe=QB(zl),IDe=[0,0,0,0,0],NDe=QB("internalSlots"),ODe=QB("callProperties"),LDe=QB("indexers"),PDe=QB(Bu),RDe=QB("exact"),MDe=QB(Cw),jDe=QB("ObjectTypeAnnotation"),UDe=QB(Mi),XDe=QB("There should not be computed object type property keys"),GDe=QB(nk),JDe=QB(Wt),qDe=QB(uu),zDe=QB(Xe),WDe=QB(Sp),VDe=QB(ck),$De=QB(Vu),YDe=QB(Dv),HDe=QB(rr),KDe=QB(Im),QDe=QB(DB),ZDe=QB("ObjectTypeProperty"),rpe=QB(QC),epe=QB("ObjectTypeSpreadProperty"),tpe=QB(Sp),npe=QB(Vu),upe=QB(Im),ape=QB(DB),ipe=QB(pi),cpe=QB("ObjectTypeIndexer"),fpe=QB(Vu),ope=QB(Im),spe=QB("ObjectTypeCallProperty"),lpe=QB(Im),vpe=QB(rr),Dpe=QB(Vu),ppe=QB(Dv),bpe=QB(pi),Fpe=QB("ObjectTypeInternalSlot"),mpe=QB(AE),dpe=QB(Dp),Epe=QB("InterfaceTypeAnnotation"),kpe=QB("elementType"),hpe=QB("ArrayTypeAnnotation"),ype=QB(pi),Cpe=QB("qualification"),wpe=QB("QualifiedTypeIdentifier"),Ape=QB(Ta),_pe=QB(pi),gpe=QB("GenericTypeAnnotation"),Bpe=QB(j_),Spe=QB("UnionTypeAnnotation"),xpe=QB(j_),Tpe=QB("IntersectionTypeAnnotation"),Ipe=QB(QC),Npe=QB("TypeofTypeAnnotation"),Ope=QB(j_),Lpe=QB("TupleTypeAnnotation"),Ppe=QB(ge),Rpe=QB(Im),Mpe=QB("StringLiteralTypeAnnotation"),jpe=QB(ge),Upe=QB(Im),Xpe=QB("NumberLiteralTypeAnnotation"),Gpe=QB(ge),Jpe=QB(Im),qpe=QB("BigIntLiteralTypeAnnotation"),zpe=QB(kh),Wpe=QB(Pa),Vpe=QB(ge),$pe=QB(Im),Ype=QB("BooleanLiteralTypeAnnotation"),Hpe=QB("ExistsTypeAnnotation"),Kpe=QB(ZD),Qpe=QB("TypeAnnotation"),Zpe=QB(w),rbe=QB("TypeParameterDeclaration"),ebe=QB(JC),tbe=QB(Sp),nbe=QB(Bn),ube=QB(Wl),abe=QB("TypeParameter"),ibe=QB(w),cbe=QB(ps),fbe=QB(w),obe=QB(ps),sbe=QB(ii),lbe=QB(i),vbe=QB("closingElement"),Dbe=QB("openingElement"),pbe=QB("JSXElement"),bbe=QB("closingFragment"),Fbe=QB(i),mbe=QB("openingFragment"),dbe=QB("JSXFragment"),Ebe=QB("selfClosing"),kbe=QB(zh),hbe=QB(Wl),ybe=QB("JSXOpeningElement"),Cbe=QB("JSXOpeningFragment"),wbe=QB(Wl),Abe=QB("JSXClosingElement"),_be=QB("JSXClosingFragment"),gbe=QB(Im),Bbe=QB(Wl),Sbe=QB("JSXAttribute"),xbe=QB(QC),Tbe=QB("JSXSpreadAttribute"),Ibe=QB("JSXEmptyExpression"),Nbe=QB(Et),Obe=QB("JSXExpressionContainer"),Lbe=QB(Et),Pbe=QB("JSXSpreadChild"),Rbe=QB(ge),Mbe=QB(Im),jbe=QB("JSXText"),Ube=QB(rA),Xbe=QB(Oc),Gbe=QB("JSXMemberExpression"),Jbe=QB(Wl),qbe=QB("namespace"),zbe=QB("JSXNamespacedName"),Wbe=QB(Wl),Vbe=QB("JSXIdentifier"),$be=QB(Yt),Ybe=QB(Xs),Hbe=QB("ExportSpecifier"),Kbe=QB(Xs),Qbe=QB("ImportDefaultSpecifier"),Zbe=QB(Xs),rFe=QB("ImportNamespaceSpecifier"),eFe=QB(vp),tFe=QB(Xs),nFe=QB("imported"),uFe=QB("ImportSpecifier"),aFe=QB("Line"),iFe=QB("Block"),cFe=QB(Im),fFe=QB(Im),oFe=QB("DeclaredPredicate"),sFe=QB("InferredPredicate"),lFe=QB(Xu),vFe=QB(kF),DFe=QB(tv),pFe=QB(oi),bFe=QB(rA),FFe=QB(Oc),mFe=QB("message"),dFe=QB(Sv),EFe=QB("end"),kFe=QB(T),hFe=QB(fg),yFe=QB(kt),CFe=QB(qu),wFe=QB(ws),AFe=QB(Ud),_Fe=QB(Rf),gFe=QB(to),BFe=QB(Kt),SFe=QB(gF),xFe=QB(cF),TFe=QB(ur),IFe=QB(ne),NFe=QB(ib),OFe=QB(e_),LFe=QB(Gs),PFe=QB(Ia),RFe=QB(rs),MFe=QB(Wm),jFe=QB(Pa),UFe=QB(kh),XFe=QB(Pc),GFe=QB(pC),JFe=QB(hy),qFe=QB(TD),zFe=QB(JC),WFe=QB(Nr),VFe=QB(hv),$Fe=QB(dg),YFe=QB(gD),HFe=QB(Dp),KFe=QB(Vu),QFe=QB(wu),ZFe=QB(js),rme=QB(Vk),eme=QB(Cf),tme=QB(Ko),nme=QB(Nf),ume=QB(HF),ame=QB(Rh),ime=QB(jf),cme=QB(Fe),fme=QB(NC),ome=QB(Mr),sme=QB(se),lme=QB(By),vme=QB(CC),Dme=QB(tb),pme=QB(Ui),bme=QB(Ke),Fme=QB(Vr),mme=QB(Pt),dme=QB("of"),Eme=QB(uC),kme=QB(tf),hme=QB(Oh),yme=QB(Wv),Cme=QB(dd),wme=QB(ms),Ame=QB(Nd),_me=QB(eh),gme=QB(Ko),Bme=QB(ga),Sme=QB(Ft),xme=QB(GC),Tme=[0,QB(ud)],Ime=QB(qC),Nme=[8,0],Ome=[0,0],Lme=[0,1],Pme=[0,2],Rme=[0,3],Mme=[0,0],jme=QB(qC),Ume=[0,0,0,0,0],Xme=[0,QB(ke),811,6],Gme=[0,QB(ke),814,6],Jme=[0,QB(ke),917,8],qme=QB(ck),zme=[0,QB(ke),934,8],Wme=QB("Can not have both `static` and `proto`"),Vme=QB(Vu),$me=QB(ck),Yme=QB(Wt),Hme=QB(uu),Kme=QB(Wt),Qme=[0,0,0,0],Zme=QB(Zp),rde=QB(xi),ede=[0,[0,0,0,0,0]],tde=QB(cF),nde=[0,0],ude=[0,QB(ke),138,15],ade=[0,QB(ke),sE,15],ide=[0,42],cde=[0,42],fde=[0,0,0],ode=[0,0,0],sde=[0,0,0],lde=[0,40],vde=QB(fs),Dde=QB(fs),pde=[0,QB(tn),1495,13],bde=[0,QB(tn),1261,17],Fde=[0,QB("a template literal part")],mde=[0,[0,QB(qC),QB(qC)],1],dde=QB(Wm),Ede=QB(Wm),kde=QB(kh),hde=QB(Pa),yde=QB("Invalid bigint "),Cde=QB("Invalid bigint binary/octal "),wde=QB(ob),Ade=QB(yf),_de=QB(lu),gde=QB(lu),Bde=QB(gr),Sde=[0,42],xde=[0,1],Tde=[0,1],Ide=[0,1],Nde=[0,1],Ode=[0,0],Lde=QB(ii),Pde=QB(ii),Rde=QB(js),Mde=QB(ub),jde=[0,QB("the identifier `target`")],Ude=[0,0],Xde=[0,80],Gde=[0,0,0],Jde=[0,1,0],qde=[0,1,1],zde=QB(jf),Wde=[0,0],Vde=[0,QB("either a call or access of `super`")],$de=QB(jf),Yde=[0,0],Hde=[0,1],Kde=[0,0],Qde=[0,1],Zde=[0,0],rEe=[0,1],eEe=[0,0],tEe=[0,2],nEe=[0,3],uEe=[0,7],aEe=[0,6],iEe=[0,4],cEe=[0,5],fEe=[0,[0,17,[0,2]]],oEe=[0,[0,18,[0,3]]],sEe=[0,[0,19,[0,4]]],lEe=[0,[0,0,[0,5]]],vEe=[0,[0,1,[0,5]]],DEe=[0,[0,2,[0,5]]],pEe=[0,[0,3,[0,5]]],bEe=[0,[0,5,[0,6]]],FEe=[0,[0,7,[0,6]]],mEe=[0,[0,4,[0,6]]],dEe=[0,[0,6,[0,6]]],EEe=[0,[0,8,[0,7]]],kEe=[0,[0,9,[0,7]]],hEe=[0,[0,10,[0,7]]],yEe=[0,[0,11,[0,8]]],CEe=[0,[0,12,[0,8]]],wEe=[0,[0,15,[0,9]]],AEe=[0,[0,13,[0,9]]],_Ee=[0,[0,14,[1,10]]],gEe=[0,[0,16,[0,9]]],BEe=[0,[0,21,[0,6]]],SEe=[0,[0,20,[0,6]]],xEe=[23,QB(a)],TEe=[0,[0,8]],IEe=[0,[0,7]],NEe=[0,[0,6]],OEe=[0,[0,10]],LEe=[0,[0,9]],PEe=[0,[0,11]],REe=[0,[0,5]],MEe=[0,[0,4]],jEe=[0,[0,2]],UEe=[0,[0,3]],XEe=[0,[0,1]],GEe=[0,[0,0]],JEe=[0,0],qEe=QB(js),zEe=QB(ub),WEe=[0,5],VEe=QB(uC),$Ee=QB(js),YEe=QB(ub),HEe=QB(fh),KEe=QB(ZF),QEe=[17,QB("JSX fragment")],ZEe=QB(qC),rke=[0,QB(qC)],eke=[0,QB(ud)],tke=QB(qC),nke=QB("unexpected PrivateName in Property, expected a PrivateField"),uke=[0,0,0],ake=QB(Zp),ike=QB(Zp),cke=QB(Wt),fke=QB(uu),oke=[0,1],ske=[0,1],lke=[0,1],vke=QB(Zp),Dke=QB(Zp),pke=QB(xi),bke=QB(Wt),Fke=QB(uu),mke=QB("="),dke=QB(tb),Eke=QB(tf),kke=QB("Internal Error: private name found in object props"),hke=QB(nB),yke=[0,QB(ud)],Cke=QB(tb),wke=QB(tf),Ake=QB(tb),_ke=QB(tf),gke=QB(nB),Bke=[11,QB(Qg)],Ske=[0,1],xke=QB(dh),Tke=QB(vE),Ike=[0,QB(Xb),1714,21],Nke=QB(dh),Oke=QB(JC),Lke=QB("other than an interface declaration!"),Pke=QB("Internal Flow Error! Parsed `export interface` into something "),Rke=QB(vE),Mke=QB("Internal Flow Error! Unexpected export statement declaration!"),jke=[0,39],Uke=QB(dh),Xke=QB(vE),Gke=[0,QB(qC),QB(qC),0],Jke=[0,QB(It)],qke=QB(te),zke=QB("exports"),Wke=[0,1],Vke=QB(te),$ke=[0,1],Yke=QB(ot),Hke=[0,0],Kke=[0,1],Qke=QB(vE),Zke=QB(dh),rhe=[0,81],ehe=[0,81],the=[0,0],nhe=[0,1],uhe=QB(dh),ahe=QB(dh),ihe=QB(dh),che=QB(vE),fhe=[0,QB(qC),QB(qC),0],ohe=[0,QB(It)],she=QB("Parser error: No such thing as an expression pattern!"),lhe=[0,QB(M)],vhe=QB("Label"),Dhe=[0,QB(M)],phe=[0,0,0],bhe=[0,29],Fhe=[0,QB(Xb),419,22],mhe=[0,28],dhe=[0,QB(Xb),438,22],Ehe=[0,0],khe=QB("the token `;`"),hhe=[0,0],yhe=[0,0],Che=QB(tf),whe=QB(rs),Ahe=QB(tb),_he=[0,QB(_u)],ghe=[15,[0,0]],Bhe=[0,QB(_u)],She=QB("use strict"),xhe=[0,0,0],The=QB("\n"),Ihe=QB("Nooo: "),Nhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Ohe=[0,QB("src/parser/parser_flow.ml"),42,28],Lhe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Phe=QB(Im),Rhe=QB(hA),Mhe=QB(kt),jhe=QB(qu),Uhe=QB("end"),Xhe=QB(kt),Ghe=QB(qu),Jhe=QB(T),qhe=QB(Sv),zhe=QB("normal"),Whe=QB(Vr),Vhe=QB("jsxTag"),$he=QB("jsxChild"),Yhe=QB("template"),Hhe=QB(cv),Khe=QB("context"),Qhe=QB(Vr),Zhe=QB("Internal error: ");function rye(r){if("number"==typeof r)return 0;switch(r[0]){case 0:return[0,rye(r[1])];case 1:return[1,rye(r[1])];case 2:return[2,rye(r[1])];case 3:return[3,rye(r[1])];case 4:return[4,rye(r[1])];case 5:return[5,rye(r[1])];case 6:return[6,rye(r[1])];case 7:return[7,rye(r[1])];case 8:return[8,r[1],rye(r[2])];case 9:var e=r[1];return[9,e,e,rye(r[3])];case 10:return[10,rye(r[1])];case 11:return[11,rye(r[1])];case 12:return[12,rye(r[1])];case 13:return[13,rye(r[1])];default:return[14,rye(r[1])]}}function eye(r,e){if("number"==typeof r)return e;switch(r[0]){case 0:return[0,eye(r[1],e)];case 1:return[1,eye(r[1],e)];case 2:return[2,eye(r[1],e)];case 3:return[3,eye(r[1],e)];case 4:return[4,eye(r[1],e)];case 5:return[5,eye(r[1],e)];case 6:return[6,eye(r[1],e)];case 7:return[7,eye(r[1],e)];case 8:return[8,r[1],eye(r[2],e)];case 9:var t=r[2];return[9,r[1],t,eye(r[3],e)];case 10:return[10,eye(r[1],e)];case 11:return[11,eye(r[1],e)];case 12:return[12,eye(r[1],e)];case 13:return[13,eye(r[1],e)];default:return[14,eye(r[1],e)]}}function tye(r,e){if("number"==typeof r)return e;switch(r[0]){case 0:return[0,tye(r[1],e)];case 1:return[1,tye(r[1],e)];case 2:return[2,r[1],tye(r[2],e)];case 3:return[3,r[1],tye(r[2],e)];case 4:var t=r[3],n=r[2];return[4,r[1],n,t,tye(r[4],e)];case 5:var u=r[3],a=r[2];return[5,r[1],a,u,tye(r[4],e)];case 6:var i=r[3],c=r[2];return[6,r[1],c,i,tye(r[4],e)];case 7:var f=r[3],o=r[2];return[7,r[1],o,f,tye(r[4],e)];case 8:var s=r[3],l=r[2];return[8,r[1],l,s,tye(r[4],e)];case 9:return[9,r[1],tye(r[2],e)];case 10:return[10,tye(r[1],e)];case 11:return[11,r[1],tye(r[2],e)];case 12:return[12,r[1],tye(r[2],e)];case 13:var v=r[2];return[13,r[1],v,tye(r[3],e)];case 14:var D=r[2];return[14,r[1],D,tye(r[3],e)];case 15:return[15,tye(r[1],e)];case 16:return[16,tye(r[1],e)];case 17:return[17,r[1],tye(r[2],e)];case 18:return[18,r[1],tye(r[2],e)];case 19:return[19,tye(r[1],e)];case 20:var p=r[2];return[20,r[1],p,tye(r[3],e)];case 21:return[21,r[1],tye(r[2],e)];case 22:return[22,tye(r[1],e)];case 23:return[23,r[1],tye(r[2],e)];default:var b=r[2];return[24,r[1],b,tye(r[3],e)]}}function nye(r){throw[0,Ox,r]}function uye(r){throw[0,Lx,r]}function aye(r){return 0<=r?r:0|-r}yS();function iye(r,e){var t=RS(r),n=RS(e),u=vS(t+n|0);return WB(r,0,u,0,t),WB(e,0,u,t,n),u}function cye(r){return r?rT:eT}function fye(r,e){return r?[0,r[1],fye(r[2],e)]:e}!function(r){var e=UB.fds[r];e.flags.wronly&&rx("fd "+r+" is writeonly");var t={file:e.file,offset:e.offset,fd:r,opened:!0,out:!1,refill:null};ex[t.fd]=t}(0);var oye=vx(1),sye=vx(2),lye=[0,function(r){return function(r){for(var e=r;;){if(!e)return 0;var t=e[2],n=e[1];try{tx(n)}catch(e){if((e=_x(e))[1]!==Nx)throw e}e=t}}(function(){for(var r=0,e=0;e0)if(0==e&&(t>=r.l||2==r.t&&t>=r.c.length))0==n?(r.c=qC,r.t=2):(r.c=VB(t,String.fromCharCode(n)),r.t=t==r.l?0:2);else for(4!=r.t&&qB(r),t+=e;e=1;a--)t[n+a]=r[e+a];return 0}(r,e,t,n,u):uye(dT)}function Wye(r,e){var t=e.length-1-1|0;if(!(t<0))for(var n=0;;){gx(r,e[n+1]);var u=n+1|0;if(t===n)break;n=u}return 0}function Vye(r,e){var t=e.length-1;if(0===t)return[0];var n=QS(t,gx(r,e[1])),u=t-1|0;if(!(u<1))for(var a=1;;){n[a+1]=gx(r,e[a+1]);var i=a+1|0;if(u===a)break;a=i}return n}function $ye(r){if(r)for(var e=0,t=r,n=r[2],u=r[1];;)if(t)e=e+1|0,t=t[2];else for(var a=QS(e,u),i=1,c=n;;){if(!c)return a;var f=c[2];a[i+1]=c[1];i=i+1|0,c=f}return[0]}function Yye(r){function e(r){return r?r[4]:0}function t(r,e,t){var n=r?r[4]:0,u=t?t[4]:0;return[0,r,e,t,u<=n?n+1|0:u+1|0]}function n(r,n,u){var a=r?r[4]:0,i=u?u[4]:0;if((i+2|0)>1,k=Oye(E,e),h=b(E,e),y=b(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0>1,k=Oye(E,e),h=p(E,e),y=p(r-E|0,k),C=0;;){if(h){if(y){var w=y[2],A=y[1],_=h[2],g=h[1],B=Bx(D,g,A);if(0===B){h=_,y=w,C=[0,g,C];continue}if(0<=B){y=w,C=[0,A,C];continue}h=_,C=[0,g,C];continue}return Cye(h,C)}return Cye(y,C)}},F=kye(e),m=2<=F?p(F,e):e,d=function(r,e){if(!(3>>0))switch(r){case 0:return[0,0,e];case 1:if(e)return[0,[0,0,e[1],0,1],e[2]];break;case 2:if(e){var n=e[2];if(n)return[0,[0,[0,0,e[1],0,1],n[1],0,2],n[2]]}break;default:if(e){var u=e[2];if(u){var a=u[2];if(a)return[0,[0,[0,0,e[1],0,1],u[1],[0,0,a[1],0,1],2],a[2]]}}}var i=r/2|0,c=d(i,e),f=c[2],o=c[1];if(f){var s=f[1],l=d((r-i|0)-1|0,f[2]),v=l[2];return[0,t(o,s,l[1]),v]}throw[0,jx,wT]};return d(kye(m),m)[1]}return u(l[1],u(v,u(s,u(f,a(i)))))}return u(v,u(s,u(f,a(i))))}return u(s,u(f,a(i)))}return u(f,a(i))}return a(i)}return 0},function(e,t){for(var n=t,u=0;;){if(n){var a=n[3],i=n[2],c=n[1],f=Bx(r[1],i,e);if(0!==f){if(0<=f){n=c,u=[0,i,a,u];continue}n=a;continue}var o=[0,i,a,u]}else o=u;return function(r){return k(o)}}},function(r){var e=F(r,0);return function(r){return k(e)}},E,function(r){return E(r,0)}]}function Hye(r){function e(r){return r?r[5]:0}function t(r,t,n,u){var a=e(r),i=e(u);return[0,r,t,n,u,i<=a?a+1|0:i+1|0]}function n(r,e){return[0,0,r,e,0,1]}function u(r,n,u,a){var i=r?r[5]:0,c=a?a[5]:0;if((c+2|0)>>0?1:0:65<=u?0:1;else{if(32===u)var i=1;else if(43<=u)switch(u+-43|0){case 5:if(n<(t+2|0)&&1>>0?33<(u+nb|0)>>>0?1:0:2===u?1:0)){e=e+1|0;continue}var a=r,i=[0,0],c=ZS(a)-1|0;if(!(c<0))for(var f=0;;){var o=uS(a,f);if(32<=o){var s=o-34|0;if(58>>0)if(93<=s)var l=0,v=0;else v=1;else if(56<(s-1|0)>>>0)l=1,v=0;else v=1;if(v){var D=1;l=2}}else l=11<=o?13===o?1:0:8<=o?1:0;switch(l){case 0:D=4;break;case 1:D=2}i[1]=i[1]+D|0;var p=f+1|0;if(c===f)break;f=p}if(i[1]===ZS(a))var b=Pye(a);else{var F=vS(i[1]);i[1]=0;var m=ZS(a)-1|0;if(!(m<0))for(var d=0;;){var E=uS(a,d);if(35<=E)var k=92===E?1:zy<=E?0:2;else if(32<=E)k=34<=E?1:2;else if(14<=E)k=0;else switch(E){case 8:tS(F,i[1],92),i[1]++,tS(F,i[1],98);k=3;break;case 9:tS(F,i[1],92),i[1]++,tS(F,i[1],cm);k=3;break;case 10:tS(F,i[1],92),i[1]++,tS(F,i[1],Ve);k=3;break;case 13:tS(F,i[1],92),i[1]++,tS(F,i[1],vi);k=3;break;default:k=0}switch(k){case 0:tS(F,i[1],92),i[1]++,tS(F,i[1],48+(E/Fu|0)|0),i[1]++,tS(F,i[1],48+((E/10|0)%10|0)|0),i[1]++,tS(F,i[1],48+(E%10|0)|0);break;case 1:tS(F,i[1],92),i[1]++,tS(F,i[1],E);break;case 2:tS(F,i[1],E)}i[1]++;var h=d+1|0;if(m===d)break;d=h}b=F}n=b}var y=RS(n),C=Lye(y+2|0,34);return WB(n,0,C,1,y),C}}function kCe(r,e){switch(r){case 0:var t=gN;break;case 1:t=BN;break;case 2:t=SN;break;case 3:t=xN;break;case 4:t=TN;break;case 5:t=IN;break;case 6:t=NN;break;case 7:t=ON;break;case 8:t=LN;break;case 9:t=PN;break;case 10:t=RN;break;case 11:t=MN;break;default:t=jN}return kS(t,e)}function hCe(r,e){switch(r){case 0:var t=eN;break;case 1:t=tN;break;case 2:t=nN;break;case 3:t=uN;break;case 4:t=aN;break;case 5:t=iN;break;case 6:t=cN;break;case 7:t=fN;break;case 8:t=oN;break;case 9:t=sN;break;case 10:t=lN;break;case 11:t=vN;break;default:t=DN}return kS(t,e)}function yCe(r,e){switch(r){case 0:var t=GI;break;case 1:t=JI;break;case 2:t=qI;break;case 3:t=zI;break;case 4:t=WI;break;case 5:t=VI;break;case 6:t=$I;break;case 7:t=YI;break;case 8:t=HI;break;case 9:t=KI;break;case 10:t=QI;break;case 11:t=ZI;break;default:t=rN}return kS(t,e)}function CCe(r,e){switch(r){case 0:var t=pN;break;case 1:t=bN;break;case 2:t=FN;break;case 3:t=mN;break;case 4:t=dN;break;case 5:t=EN;break;case 6:t=kN;break;case 7:t=hN;break;case 8:t=yN;break;case 9:t=CN;break;case 10:t=wN;break;case 11:t=AN;break;default:t=_N}return function(r,e){var t=mS(r);t.signedconv&&function(r){return r[3]<<16<0}(e)&&(t.sign=-1,e=PS(e));var n=qC,u=BS(t.base);do{var a=OS(e,u);e=a[1],n="0123456789abcdef".charAt(LS(a[2]))+n}while(!gS(e));if(t.prec>=0){t.filler=GD;var i=t.prec-n.length;i>0&&(n=VB(i,uc)+n)}return dS(t,n)}(t,e)}function wCe(r,e,t){if(16<=r){if(17<=r)switch(r+-17|0){case 2:var n=0;break;case 0:case 3:var u=43;n=1;break;default:u=32,n=1}else n=0;if(!n)u=45;var a=function(r,e,t){if(!isFinite(r))return isNaN(r)?_S(us):_S(r>0?oe:"-infinity");var n=0==r&&1/r==-1/0?1:r>=0?0:1;n&&(r=-r);var u=0;if(0==r);else if(r<1)for(;r<1&&u>-1022;)r*=2,u--;else for(;r>=2;)r/=2,u++;var a=u<0?qC:bw,i=qC;if(n)i=eC;else switch(t){case 43:i=bw;break;case 32:i=GD}if(e>=0&&e<13){var c=Math.pow(2,4*e);r=Math.round(r*c)/c}var f=r.toString(16);if(e>=0){var o=f.indexOf(ZF);if(o<0)f+=ZF+VB(e,uc);else{var s=o+1+e;f.length=22250738585072014e-324?0:0!=r?1:2:isNaN(r)?4:3}(t),E=RS(m);if(3===d)return t<0?jI:UI;if(4<=d)return RI;for(var k=0;;){if(k===E)var h=0;else{var y=kx(m,k)+OC|0;if(!(23>>0?55===y?1:0:21<(y-1|0)>>>0?1:0)){k=k+1|0;continue}h=1}return h?m:iye(m,MI)}}return m}function ACe(r,e,t,n,u,a,i,c){if("number"==typeof u){if("number"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,Bx(i,c,u)],n)}:function(u,a){return TCe(r,e,[4,t,dCe(u,Bx(i,c,a))],n)};var f=a[1];return function(u){return TCe(r,e,[4,t,dCe(f,Bx(i,c,u))],n)}}if(0===u[0]){var o=u[2],s=u[1];if("number"==typeof a)return 0===a?function(u){return TCe(r,e,[4,t,mCe(s,o,Bx(i,c,u))],n)}:function(u,a){return TCe(r,e,[4,t,mCe(s,o,dCe(u,Bx(i,c,a)))],n)};var l=a[1];return function(u){return TCe(r,e,[4,t,mCe(s,o,dCe(l,Bx(i,c,u)))],n)}}var v=u[1];if("number"==typeof a)return 0===a?function(u,a){return TCe(r,e,[4,t,mCe(v,u,Bx(i,c,a))],n)}:function(u,a,f){return TCe(r,e,[4,t,mCe(v,u,dCe(a,Bx(i,c,f)))],n)};var D=a[1];return function(u,a){return TCe(r,e,[4,t,mCe(v,u,dCe(D,Bx(i,c,a)))],n)}}function _Ce(r,e,t,n,u,a){if("number"==typeof u)return function(u){return TCe(r,e,[4,t,gx(a,u)],n)};if(0===u[0]){var i=u[2],c=u[1];return function(u){return TCe(r,e,[4,t,mCe(c,i,gx(a,u))],n)}}var f=u[1];return function(u,i){return TCe(r,e,[4,t,mCe(f,u,gx(a,i))],n)}}function gCe(r,e,t,n,u){for(var a=e,i=n,c=u;;){if("number"==typeof c)return Bx(a,t,i);switch(c[0]){case 0:var f=c[1];return function(r){return TCe(a,t,[5,i,r],f)};case 1:var o=c[1];return function(r){if(40<=r)if(92===r)var e=tT,n=2;else n=zy<=r?0:1;else if(32<=r)if(39<=r)e=nT,n=2;else n=1;else if(14<=r)n=0;else switch(r){case 8:e=uT,n=2;break;case 9:e=aT,n=2;break;case 10:e=iT,n=2;break;case 13:e=cT,n=2;break;default:n=0}switch(n){case 0:var u=vS(4);tS(u,0,92),tS(u,1,48+(r/Fu|0)|0),tS(u,2,48+((r/10|0)%10|0)|0),tS(u,3,48+(r%10|0)|0);e=u;break;case 1:var c=vS(1);tS(c,0,r);e=c}var f=RS(e),s=Lye(f+2|0,39);return WB(e,0,s,1,f),TCe(a,t,[4,i,s],o)};case 2:var s=c[2],l=c[1];return _Ce(a,t,i,s,l,(function(r){return r}));case 3:return _Ce(a,t,i,c[2],c[1],ECe);case 4:return ACe(a,t,i,c[4],c[2],c[3],kCe,c[1]);case 5:return ACe(a,t,i,c[4],c[2],c[3],hCe,c[1]);case 6:return ACe(a,t,i,c[4],c[2],c[3],yCe,c[1]);case 7:return ACe(a,t,i,c[4],c[2],c[3],CCe,c[1]);case 8:var v=c[4],D=c[3],p=c[2],b=c[1];if("number"==typeof p){if("number"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,wCe(b,-6,r)],v)}:function(r,e){return TCe(a,t,[4,i,wCe(b,r,e)],v)};var F=D[1];return function(r){return TCe(a,t,[4,i,wCe(b,F,r)],v)}}if(0===p[0]){var m=p[2],d=p[1];if("number"==typeof D)return 0===D?function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,-6,r))],v)}:function(r,e){return TCe(a,t,[4,i,mCe(d,m,wCe(b,r,e))],v)};var E=D[1];return function(r){return TCe(a,t,[4,i,mCe(d,m,wCe(b,E,r))],v)}}var k=p[1];if("number"==typeof D)return 0===D?function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,-6,e))],v)}:function(r,e,n){return TCe(a,t,[4,i,mCe(k,r,wCe(b,e,n))],v)};var h=D[1];return function(r,e){return TCe(a,t,[4,i,mCe(k,r,wCe(b,h,e))],v)};case 9:return _Ce(a,t,i,c[2],c[1],cye);case 10:i=[7,i],c=c[1];continue;case 11:i=[2,i,c[1]],c=c[2];continue;case 12:i=[3,i,c[1]],c=c[2];continue;case 13:var y=c[3],C=c[2],w=tCe(16);cCe(w,C);var A=iCe(w);return function(r){return TCe(a,t,[4,i,A],y)};case 14:var _=c[3],g=c[2];return function(r){var e=bCe(r[1],rye(fCe(g)));if("number"==typeof e[2])return TCe(a,t,i,tye(e[1],_));throw lCe};case 15:var B=c[1];return function(r,e){return TCe(a,t,[6,i,function(t){return Bx(r,t,e)}],B)};case 16:var S=c[1];return function(r){return TCe(a,t,[6,i,r],S)};case 17:i=[0,i,c[1]],c=c[2];continue;case 18:var x=c[1];if(0===x[0]){var T=c[2],I=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[0,u]],t)}}(i,a,T),i=0,c=I;continue}var N=c[2],O=x[1][1];a=function(r,e,t){return function(n,u){return TCe(e,n,[1,r,[1,u]],t)}}(i,a,N),i=0,c=O;continue;case 19:throw[0,jx,kI];case 20:var L=c[3],P=[8,i,hI];return function(r){return TCe(a,t,P,L)};case 21:var R=c[2];return function(r){return TCe(a,t,[4,i,kS(EI,r)],R)};case 22:var M=c[1];return function(r){return TCe(a,t,[5,i,r],M)};case 23:var j=c[2],U=c[1];if("number"==typeof U)switch(U){case 0:case 1:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 2:throw[0,jx,yI];default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}else switch(U[0]){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j]);case 9:var X=U[2];return r<50?BCe(r+1|0,a,t,i,X,j):wx(BCe,[0,a,t,i,X,j]);case 10:default:return r<50?SCe(r+1|0,a,t,i,j):wx(SCe,[0,a,t,i,j])}default:var G=c[3],J=c[1],q=gx(c[2],0);return r<50?xCe(r+1|0,a,t,i,G,J,q):wx(xCe,[0,a,t,i,G,J,q])}}}function BCe(r,e,t,n,u,a){if("number"==typeof u)return r<50?SCe(r+1|0,e,t,n,a):wx(SCe,[0,e,t,n,a]);switch(u[0]){case 0:var i=u[1];return function(r){return ICe(e,t,n,i,a)};case 1:var c=u[1];return function(r){return ICe(e,t,n,c,a)};case 2:var f=u[1];return function(r){return ICe(e,t,n,f,a)};case 3:var o=u[1];return function(r){return ICe(e,t,n,o,a)};case 4:var s=u[1];return function(r){return ICe(e,t,n,s,a)};case 5:var l=u[1];return function(r){return ICe(e,t,n,l,a)};case 6:var v=u[1];return function(r){return ICe(e,t,n,v,a)};case 7:var D=u[1];return function(r){return ICe(e,t,n,D,a)};case 8:var p=u[2];return function(r){return ICe(e,t,n,p,a)};case 9:var b=u[3],F=u[2],m=sCe(fCe(u[1]),F);return function(r){return ICe(e,t,n,eye(m,b),a)};case 10:var d=u[1];return function(r,u){return ICe(e,t,n,d,a)};case 11:var E=u[1];return function(r){return ICe(e,t,n,E,a)};case 12:var k=u[1];return function(r){return ICe(e,t,n,k,a)};case 13:throw[0,jx,CI];default:throw[0,jx,wI]}}function SCe(r,e,t,n,u){var a=[8,n,AI];return r<50?gCe(r+1|0,e,t,a,u):wx(gCe,[0,e,t,a,u])}function xCe(r,e,t,n,u,a,i){if(a){var c=a[1];return function(r){return function(r,e,t,n,u,a){return Cx(xCe(0,r,e,t,n,u,a))}(e,t,n,u,c,gx(i,r))}}var f=[4,n,i];return r<50?gCe(r+1|0,e,t,f,u):wx(gCe,[0,e,t,f,u])}function TCe(r,e,t,n){return Cx(gCe(0,r,e,t,n))}function ICe(r,e,t,n,u){return Cx(BCe(0,r,e,t,n,u))}function NCe(r,e){for(var t=e;;){if("number"==typeof t)return 0;switch(t[0]){case 0:var n=t[2],u=t[1];if("number"==typeof n)switch(n){case 0:var a=UN;break;case 1:a=XN;break;case 2:a=GN;break;case 3:a=JN;break;case 4:a=qN;break;case 5:a=zN;break;default:a=WN}else switch(n[0]){case 0:a=n[1];break;case 1:a=n[1];break;default:a=iye(VN,Xye(1,n[1]))}return NCe(r,u),eCe(r,a);case 1:var i=t[2],c=t[1];if(0===i[0]){var f=i[1];NCe(r,c),eCe(r,_I);t=f;continue}var o=i[1];NCe(r,c),eCe(r,gI);t=o;continue;case 6:var s=t[2];return NCe(r,t[1]),eCe(r,gx(s,0));case 7:t=t[1];continue;case 8:var l=t[2];return NCe(r,t[1]),uye(l);case 2:case 4:var v=t[2];return NCe(r,t[1]),eCe(r,v);default:var D=t[2];return NCe(r,t[1]),rCe(r,D)}}}function OCe(r){if(Ex(r,SI))return xI;var e=RS(r);function t(e){var t=BI[1],n=Kye(256);return gx(TCe((function(r,e){return NCe(n,e),nye(Qye(n))}),0,0,t),r)}function n(t){for(var n=t;;){if(n===e)return n;var u=kx(r,n);if(9!==u&&32!==u)return n;n=n+1|0}}var u=n(0),a=function(t,n){for(var u=n;;){if(u===e)return u;if(25<(kx(r,u)+-97|0)>>>0)return u;u=u+1|0}}(0,u),i=Gye(r,u,a-u|0),c=n(a),f=function(t,n){for(var u=n;;){if(u===e)return u;var a=kx(r,u);if(!(48<=a?58<=a?0:1:45===a?1:0))return u;u=u+1|0}}(0,c);if(c===f)var o=0;else try{o=VS(Gye(r,c,f-c|0))}catch(r){if((r=_x(r))[1]!==Ox)throw r;o=t()}if(n(f)!==e&&t(),hx(i,TI))if(hx(i,II))if(hx(i,NI))if(hx(i,OI))if(hx(i,LI))if(hx(i,PI))var s=t(),l=1;else s=1,l=1;else s=2,l=1;else s=3,l=1;else s=0,l=1;else l=0;else l=0;if(!l)s=4;return[0,o,s]}function LCe(r){return TCe((function(r,e){var t=Kye(64);return NCe(t,e),Qye(t)}),0,0,r[1])}var PCe=[0,0];function RCe(r,e){var t=r[e+1];if(1-("number"==typeof t?1:0)){if(252===Fx(t))return gx(LCe(cO),t);if(253===Fx(t))for(var n=ES(Qx,t),u=0,a=RS(n);;){if(a<=u)return iye(n,Zx);var i=kx(n,u);if(!(48<=i?58<=i?0:1:45===i?1:0))return n;u=u+1|0}return fO}return gx(LCe(iO),t)}function MCe(r,e){if(r.length-1<=e)return YN;var t=MCe(r,e+1|0),n=RCe(r,e);return Bx(LCe(HN),n,t)}function jCe(r){var e=r.length-1;if(2>>0){var t=MCe(r,2),n=RCe(r,1);return Bx(LCe(tO),n,t)}switch(e){case 0:return nO;case 1:return uO;default:var u=RCe(r,1);return gx(LCe(aO),u)}}function UCe(r){return PCe[1]=[0,r,PCe[1]],0}function XCe(r,e){var t=[0,r,0],n=e[1];return n?(e[1]=t,n[2]=t,0):(e[1]=t,e[2]=t,0)}var GCe=[bc,FO,yS()];function JCe(r){var e=r[2];if(e){var t=e[2],n=e[1];return r[2]=t,0===t&&(r[1]=0),n}throw GCe}function qCe(r,e){return r[13]=r[13]+e[3]|0,XCe(e,r[28])}var zCe=1000000010;function WCe(r,e){return Sx(r[17],e,0,RS(e))}function VCe(r){return gx(r[19],0)}function $Ce(r,e,t){VCe(r),r[11]=1;var n=(r[6]-t|0)+e|0,u=r[8],a=function(r,e){return+(sS(r,e,!1)<=0)}(u,n)?u:n;return r[10]=a,r[9]=r[6]-r[10]|0,gx(r[21],r[10])}function YCe(r,e){return $Ce(r,0,e)}function HCe(r,e){return r[9]=r[9]-e|0,gx(r[20],e)}function KCe(r,e,t){if("number"==typeof t)switch(t){case 0:var n=r[3];if(n){var u=n[1][1],a=function(r,e){if(e){var t=e[1],n=e[2];return function(r,e){return+(sS(r,e,!1)<0)}(r,t)?[0,r,e]:[0,t,a(r,n)]}return[0,r,0]};return u[1]=a(r[6]-r[9]|0,u[1]),0}return 0;case 1:var i=r[2];return i?(r[2]=i[2],0):0;case 2:var c=r[3];return c?(r[3]=c[2],0):0;case 3:var f=r[2];return f?YCe(r,f[1][2]):VCe(r);case 4:var o=r[10]!==(r[6]-r[9]|0)?1:0;return o?function(r){var e=JCe(r[28]),t=e[1];return r[12]=r[12]-e[3]|0,r[9]=r[9]+t|0,0}(r):o;default:var s=r[5];if(s){var l=s[2];return WCe(r,gx(r[25],s[1])),r[5]=l,0}return 0}else switch(t[0]){case 0:var v=t[1];return r[9]=r[9]-e|0,WCe(r,v),r[11]=0,0;case 1:var D=t[2],p=t[1],b=r[2];if(b){var F=b[1],m=F[2];switch(F[1]){case 0:return HCe(r,p);case 1:case 2:return $Ce(r,D,m);case 3:return r[9]>>6|0)?1:0;if(p)var b=p;else b=(2!=(v>>>6|0)?1:0)||(2!=(D>>>6|0)?1:0);if(b)throw nAe;var F=(7&f)<<18|(63&s)<<12|(63&v)<<6|63&D;o=1}else if(eo<=f){var m=kx(r,a+1|0),d=kx(r,a+2|0);if((2!=(m>>>6|0)?1:0)||(2!=(d>>>6|0)?1:0))throw nAe;var E=(15&f)<<12|(63&m)<<6|63&d,k=55296<=E?1:0;if(k?E<=57088?1:0:k)throw nAe;F=E,o=1}else{var h=kx(r,a+1|0);if(2!=(h>>>6|0))throw nAe;F=(31&f)<<6|63&h,o=1}else if(S<=f)o=0;else F=f,o=1;if(o){iS(u,i)[i+1]=F;var y=kx(r,a);a=a+iS(bAe,y)[y+1]|0,i=i+1|0,c=c-1|0;continue}throw nAe}return aAe(u)}throw nAe}var C=kx(r,n),w=iS(bAe,C)[C+1];if(!(0>>18|0)),rCe(a,Dye(S|63&(f>>>12|0))),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else{var o=55296<=f?1:0;if(o?f<57344?1:0:o)throw nAe;rCe(a,Dye(eo|f>>>12|0)),rCe(a,Dye(S|63&(f>>>6|0))),rCe(a,Dye(S|63&f))}else rCe(a,Dye(l|f>>>6|0)),rCe(a,Dye(S|63&f));else rCe(a,Dye(f));i=i+1|0,c=c-1|0}},_Ae=function(r){return AAe(r,0,r[5]-r[8]|0)},gAe=function(r,e){function t(e){return rCe(r,e)}return 65536<=e?(t(Zy|e>>>18|0),t(S|63&(e>>>12|0)),t(S|63&(e>>>6|0)),t(S|63&e)):2048<=e?(t(eo|e>>>12|0),t(S|63&(e>>>6|0)),t(S|63&e)):S<=e?(t(l|e>>>6|0),t(S|63&e)):t(e)},BAe=r,SAe=null,xAe=void 0,TAe=function(r){return r!==xAe?1:0},IAe=BAe.Array,NAe=[bc,BO,yS()],OAe=BAe.Error;xwe(SO,[0,NAe,{}]);var LAe=function(r){throw r};UCe((function(r){return r[1]===NAe?[0,_S(r[2].toString())]:0})),UCe((function(r){return r instanceof IAe?0:[0,_S(r.toString())]}));var PAe=Bx(tAe,nJr,tJr),RAe=Bx(tAe,aJr,uJr),MAe=Bx(tAe,cJr,iJr),jAe=Bx(tAe,oJr,fJr),UAe=Bx(tAe,lJr,sJr),XAe=Bx(tAe,DJr,vJr),GAe=Bx(tAe,bJr,pJr),JAe=Bx(tAe,mJr,FJr),qAe=Bx(tAe,EJr,dJr),zAe=Bx(tAe,hJr,kJr),WAe=Bx(tAe,CJr,yJr),VAe=Bx(tAe,AJr,wJr),$Ae=Bx(tAe,gJr,_Jr),YAe=Bx(tAe,SJr,BJr),HAe=Bx(tAe,TJr,xJr),KAe=Bx(tAe,NJr,IJr),QAe=Bx(tAe,LJr,OJr),ZAe=Bx(tAe,RJr,PJr),r_e=function r(e,t,n,u){return r.fun(e,t,n,u)},e_e=function r(e,t,n){return r.fun(e,t,n)},t_e=Bx(tAe,jJr,MJr);XB(r_e,(function(r,e,t,n){gx(Bwe(t),jGr),Bx(Bwe(t),XGr,UGr);var u=n[1];gx(Bwe(t),GGr);Sye((function(e,n){return e&&gx(Bwe(t),MGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),JGr),gx(Bwe(t),qGr),gx(Bwe(t),zGr),Bx(Bwe(t),VGr,WGr);var a=n[2];gx(Bwe(t),$Gr);return Sye((function(e,n){return e&&gx(Bwe(t),RGr),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,a),gx(Bwe(t),YGr),gx(Bwe(t),HGr),gx(Bwe(t),KGr),Bx(Bwe(t),ZGr,QGr),Bx(e,t,n[3]),gx(Bwe(t),rJr),gx(Bwe(t),eJr)})),XB(e_e,(function(r,e,t){var n=Bx(r_e,r,e);return Bx(Swe(PGr),n,t)})),Sx(eAe,UJr,PAe,[0,r_e,e_e]);var n_e=function r(e,t,n,u){return r.fun(e,t,n,u)},u_e=function r(e,t,n){return r.fun(e,t,n)},a_e=function r(e,t,n){return r.fun(e,t,n)},i_e=function r(e,t){return r.fun(e,t)};XB(n_e,(function(r,e,t,n){gx(Bwe(t),NGr),Bx(e,t,n[1]),gx(Bwe(t),OGr);var u=n[2];return Sx(a_e,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),LGr)})),XB(u_e,(function(r,e,t){var n=Bx(n_e,r,e);return Bx(Swe(IGr),n,t)})),XB(a_e,(function(r,e,t){gx(Bwe(e),EGr),Bx(Bwe(e),hGr,kGr);var n=t[1];Bx(Bwe(e),yGr,n),gx(Bwe(e),CGr),gx(Bwe(e),wGr),Bx(Bwe(e),_Gr,AGr);var u=t[2];if(u){lwe(e,gGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dGr)}),e,a),lwe(e,BGr)}else lwe(e,SGr);return gx(Bwe(e),xGr),gx(Bwe(e),TGr)})),XB(i_e,(function(r,e){var t=gx(a_e,r);return Bx(Swe(mGr),t,e)})),Sx(eAe,XJr,RAe,[0,n_e,u_e,a_e,i_e]);var c_e=function r(e,t,n){return r.fun(e,t,n)},f_e=function r(e,t){return r.fun(e,t)},o_e=function r(e,t,n){return r.fun(e,t,n)},s_e=function r(e,t){return r.fun(e,t)};XB(c_e,(function(r,e,t){gx(Bwe(e),pGr),Bx(r,e,t[1]),gx(Bwe(e),bGr);var n=t[2];return Sx(o_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),FGr)})),XB(f_e,(function(r,e){var t=gx(c_e,r);return Bx(Swe(DGr),t,e)})),XB(o_e,(function(r,e,t){gx(Bwe(e),eGr),Bx(Bwe(e),nGr,tGr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),uGr),gx(Bwe(e),aGr),Bx(Bwe(e),cGr,iGr);var u=t[2];if(u){lwe(e,fGr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,rGr)}),e,a),lwe(e,oGr)}else lwe(e,sGr);return gx(Bwe(e),lGr),gx(Bwe(e),vGr)})),XB(s_e,(function(r,e){var t=gx(o_e,r);return Bx(Swe(ZXr),t,e)})),Sx(eAe,GJr,MAe,[0,c_e,f_e,o_e,s_e]);var l_e=function(r,e){gx(Bwe(r),XXr),Bx(Bwe(r),JXr,GXr);var t=e[1];Bx(Bwe(r),qXr,t),gx(Bwe(r),zXr),gx(Bwe(r),WXr),Bx(Bwe(r),$Xr,VXr);var n=e[2];return Bx(Bwe(r),YXr,n),gx(Bwe(r),HXr),gx(Bwe(r),KXr)},v_e=[0,l_e,function(r){return Bx(Swe(QXr),l_e,r)}],D_e=function r(e,t,n){return r.fun(e,t,n)},p_e=function r(e,t){return r.fun(e,t)},b_e=function r(e,t){return r.fun(e,t)},F_e=function r(e){return r.fun(e)};XB(D_e,(function(r,e,t){gx(Bwe(e),wXr),Bx(Bwe(e),_Xr,AXr),Bx(b_e,e,t[1]),gx(Bwe(e),gXr),gx(Bwe(e),BXr),Bx(Bwe(e),xXr,SXr);var n=t[2];Bx(Bwe(e),TXr,n),gx(Bwe(e),IXr),gx(Bwe(e),NXr),Bx(Bwe(e),LXr,OXr);var u=t[3];if(u){lwe(e,PXr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CXr)}),e,a),lwe(e,RXr)}else lwe(e,MXr);return gx(Bwe(e),jXr),gx(Bwe(e),UXr)})),XB(p_e,(function(r,e){var t=gx(D_e,r);return Bx(Swe(yXr),t,e)})),XB(b_e,(function(r,e){if("number"==typeof e)return lwe(r,cXr);switch(e[0]){case 0:gx(Bwe(r),fXr);var t=e[1];return Bx(Bwe(r),oXr,t),gx(Bwe(r),sXr);case 1:gx(Bwe(r),lXr);var n=e[1];return Bx(Bwe(r),vXr,n),gx(Bwe(r),DXr);case 2:gx(Bwe(r),pXr);var u=e[1];return Bx(Bwe(r),bXr,u),gx(Bwe(r),FXr);case 3:gx(Bwe(r),mXr);var a=e[1];return Bx(Bwe(r),dXr,a),gx(Bwe(r),EXr);default:return gx(Bwe(r),kXr),Bx(v_e[1],r,e[1]),gx(Bwe(r),hXr)}})),XB(F_e,(function(r){return Bx(Swe(iXr),b_e,r)})),Sx(eAe,JJr,jAe,[0,v_e,D_e,p_e,b_e,F_e]);var m_e=function r(e,t,n){return r.fun(e,t,n)},d_e=function r(e,t){return r.fun(e,t)};XB(m_e,(function(r,e,t){gx(Bwe(e),GUr),Bx(Bwe(e),qUr,JUr);var n=t[1];Bx(Bwe(e),zUr,n),gx(Bwe(e),WUr),gx(Bwe(e),VUr),Bx(Bwe(e),YUr,$Ur);var u=t[2];Bx(Bwe(e),HUr,u),gx(Bwe(e),KUr),gx(Bwe(e),QUr),Bx(Bwe(e),rXr,ZUr);var a=t[3];if(a){lwe(e,eXr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,XUr)}),e,i),lwe(e,tXr)}else lwe(e,nXr);return gx(Bwe(e),uXr),gx(Bwe(e),aXr)})),XB(d_e,(function(r,e){var t=gx(m_e,r);return Bx(Swe(UUr),t,e)})),Sx(eAe,qJr,UAe,[0,m_e,d_e]);var E_e=function r(e,t,n){return r.fun(e,t,n)},k_e=function r(e,t){return r.fun(e,t)};XB(E_e,(function(r,e,t){gx(Bwe(e),yUr),Bx(Bwe(e),wUr,CUr);var n=t[1];Bx(Bwe(e),AUr,n),gx(Bwe(e),_Ur),gx(Bwe(e),gUr),Bx(Bwe(e),SUr,BUr);var u=t[2];Bx(Bwe(e),xUr,u),gx(Bwe(e),TUr),gx(Bwe(e),IUr),Bx(Bwe(e),OUr,NUr);var a=t[3];if(a){lwe(e,LUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hUr)}),e,i),lwe(e,PUr)}else lwe(e,RUr);return gx(Bwe(e),MUr),gx(Bwe(e),jUr)})),XB(k_e,(function(r,e){var t=gx(E_e,r);return Bx(Swe(kUr),t,e)})),Sx(eAe,zJr,XAe,[0,E_e,k_e]);var h_e=function r(e,t,n){return r.fun(e,t,n)},y_e=function r(e,t){return r.fun(e,t)};XB(h_e,(function(r,e,t){gx(Bwe(e),tUr),Bx(Bwe(e),uUr,nUr);var n=t[1];Bx(Bwe(e),aUr,n),gx(Bwe(e),iUr),gx(Bwe(e),cUr),Bx(Bwe(e),oUr,fUr);var u=t[2];Bx(Bwe(e),sUr,u),gx(Bwe(e),lUr),gx(Bwe(e),vUr),Bx(Bwe(e),pUr,DUr);var a=t[3];if(a){lwe(e,bUr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,eUr)}),e,i),lwe(e,FUr)}else lwe(e,mUr);return gx(Bwe(e),dUr),gx(Bwe(e),EUr)})),XB(y_e,(function(r,e){var t=gx(h_e,r);return Bx(Swe(rUr),t,e)})),Sx(eAe,WJr,GAe,[0,h_e,y_e]);var C_e=function r(e,t,n){return r.fun(e,t,n)},w_e=function r(e,t){return r.fun(e,t)};XB(C_e,(function(r,e,t){gx(Bwe(e),Xjr),Bx(Bwe(e),Jjr,Gjr);var n=t[1];Bx(Bwe(e),qjr,n),gx(Bwe(e),zjr),gx(Bwe(e),Wjr),Bx(Bwe(e),$jr,Vjr);var u=t[2];if(u){lwe(e,Yjr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ujr)}),e,a),lwe(e,Hjr)}else lwe(e,Kjr);return gx(Bwe(e),Qjr),gx(Bwe(e),Zjr)})),XB(w_e,(function(r,e){var t=gx(C_e,r);return Bx(Swe(jjr),t,e)})),Sx(eAe,VJr,JAe,[0,C_e,w_e]);var A_e=function r(e,t,n){return r.fun(e,t,n)},__e=function r(e,t){return r.fun(e,t)},g_e=function r(e,t){return r.fun(e,t)},B_e=function r(e){return r.fun(e)},S_e=function r(e,t,n){return r.fun(e,t,n)},x_e=function r(e,t){return r.fun(e,t)};XB(A_e,(function(r,e,t){gx(Bwe(e),Pjr),Bx(r,e,t[1]),gx(Bwe(e),Rjr);var n=t[2];return Sx(S_e,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Mjr)})),XB(__e,(function(r,e){var t=gx(A_e,r);return Bx(Swe(Ljr),t,e)})),XB(g_e,(function(r,e){return lwe(r,0===e?Ojr:Njr)})),XB(B_e,(function(r){return Bx(Swe(Ijr),g_e,r)})),XB(S_e,(function(r,e,t){gx(Bwe(e),kjr),Bx(Bwe(e),yjr,hjr),Bx(g_e,e,t[1]),gx(Bwe(e),Cjr),gx(Bwe(e),wjr),Bx(Bwe(e),_jr,Ajr);var n=t[2];if(n){lwe(e,gjr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ejr)}),e,u),lwe(e,Bjr)}else lwe(e,Sjr);return gx(Bwe(e),xjr),gx(Bwe(e),Tjr)})),XB(x_e,(function(r,e){var t=gx(S_e,r);return Bx(Swe(djr),t,e)})),Sx(eAe,$Jr,qAe,[0,A_e,__e,g_e,B_e,S_e,x_e]);var T_e=function r(e,t,n,u){return r.fun(e,t,n,u)},I_e=function r(e,t,n){return r.fun(e,t,n)},N_e=function r(e,t,n,u){return r.fun(e,t,n,u)},O_e=function r(e,t,n){return r.fun(e,t,n)};XB(T_e,(function(r,e,t,n){gx(Bwe(t),bjr),Bx(r,t,n[1]),gx(Bwe(t),Fjr);var u=n[2];return xx(zAe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mjr)})),XB(I_e,(function(r,e,t){var n=Bx(T_e,r,e);return Bx(Swe(pjr),n,t)})),XB(N_e,(function(r,e,t,n){gx(Bwe(t),tjr),Bx(Bwe(t),ujr,njr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ajr),gx(Bwe(t),ijr),Bx(Bwe(t),fjr,cjr);var a=n[2];if(a){lwe(t,ojr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ejr)}),t,i),lwe(t,sjr)}else lwe(t,ljr);return gx(Bwe(t),vjr),gx(Bwe(t),Djr)})),XB(O_e,(function(r,e,t){var n=Bx(N_e,r,e);return Bx(Swe(rjr),n,t)})),Sx(eAe,YJr,zAe,[0,T_e,I_e,N_e,O_e]);var L_e=function r(e,t,n,u){return r.fun(e,t,n,u)},P_e=function r(e,t,n){return r.fun(e,t,n)},R_e=function r(e,t,n,u){return r.fun(e,t,n,u)},M_e=function r(e,t,n){return r.fun(e,t,n)};XB(L_e,(function(r,e,t,n){gx(Bwe(t),KMr),Bx(r,t,n[1]),gx(Bwe(t),QMr);var u=n[2];return xx(R_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ZMr)})),XB(P_e,(function(r,e,t){var n=Bx(L_e,r,e);return Bx(Swe(HMr),n,t)})),XB(R_e,(function(r,e,t,n){gx(Bwe(t),NMr),Bx(Bwe(t),LMr,OMr);var u=n[1];if(u){lwe(t,PMr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,RMr)}else lwe(t,MMr);gx(Bwe(t),jMr),gx(Bwe(t),UMr),Bx(Bwe(t),GMr,XMr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),JMr),gx(Bwe(t),qMr),Bx(Bwe(t),WMr,zMr);var c=n[3];return Bx(Bwe(t),VMr,c),gx(Bwe(t),$Mr),gx(Bwe(t),YMr)})),XB(M_e,(function(r,e,t){var n=Bx(R_e,r,e);return Bx(Swe(IMr),n,t)}));var j_e=[0,L_e,P_e,R_e,M_e],U_e=function r(e,t,n,u){return r.fun(e,t,n,u)},X_e=function r(e,t,n){return r.fun(e,t,n)},G_e=function r(e,t,n,u){return r.fun(e,t,n,u)},J_e=function r(e,t,n){return r.fun(e,t,n)};XB(U_e,(function(r,e,t,n){gx(Bwe(t),SMr),Bx(r,t,n[1]),gx(Bwe(t),xMr);var u=n[2];return xx(G_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),TMr)})),XB(X_e,(function(r,e,t){var n=Bx(U_e,r,e);return Bx(Swe(BMr),n,t)})),XB(G_e,(function(r,e,t,n){gx(Bwe(t),FMr),Bx(Bwe(t),dMr,mMr);var u=n[1];xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EMr),gx(Bwe(t),kMr),Bx(Bwe(t),yMr,hMr);var a=n[2];if(a){lwe(t,CMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,bMr)}),t,i),lwe(t,wMr)}else lwe(t,AMr);return gx(Bwe(t),_Mr),gx(Bwe(t),gMr)})),XB(J_e,(function(r,e,t){var n=Bx(G_e,r,e);return Bx(Swe(pMr),n,t)}));var q_e=[0,U_e,X_e,G_e,J_e],z_e=function r(e,t,n,u){return r.fun(e,t,n,u)},W_e=function r(e,t,n){return r.fun(e,t,n)},V_e=function r(e,t,n,u){return r.fun(e,t,n,u)},$_e=function r(e,t,n){return r.fun(e,t,n)};XB(z_e,(function(r,e,t,n){gx(Bwe(t),lMr),Bx(r,t,n[1]),gx(Bwe(t),vMr);var u=n[2];return xx(V_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),DMr)})),XB(W_e,(function(r,e,t){var n=Bx(z_e,r,e);return Bx(Swe(sMr),n,t)})),XB(V_e,(function(r,e,t,n){gx(Bwe(t),QRr),Bx(Bwe(t),rMr,ZRr);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eMr),gx(Bwe(t),tMr),Bx(Bwe(t),uMr,nMr);var a=n[2];if(a){lwe(t,aMr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KRr)}),t,i),lwe(t,iMr)}else lwe(t,cMr);return gx(Bwe(t),fMr),gx(Bwe(t),oMr)})),XB($_e,(function(r,e,t){var n=Bx(V_e,r,e);return Bx(Swe(HRr),n,t)}));var Y_e=[0,z_e,W_e,V_e,$_e],H_e=function r(e,t,n,u){return r.fun(e,t,n,u)},K_e=function r(e,t,n){return r.fun(e,t,n)},Q_e=function r(e,t,n,u){return r.fun(e,t,n,u)},Z_e=function r(e,t,n){return r.fun(e,t,n)};XB(H_e,(function(r,e,t,n){gx(Bwe(t),VRr),Bx(r,t,n[1]),gx(Bwe(t),$Rr);var u=n[2];return xx(Q_e,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YRr)})),XB(K_e,(function(r,e,t){var n=Bx(H_e,r,e);return Bx(Swe(WRr),n,t)})),XB(Q_e,(function(r,e,t,n){gx(Bwe(t),dRr),Bx(Bwe(t),kRr,ERr);var u=n[1];if(u){lwe(t,hRr);var a=u[1];xx(Y_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,yRr)}else lwe(t,CRr);gx(Bwe(t),wRr),gx(Bwe(t),ARr),Bx(Bwe(t),gRr,_Rr);var i=n[2];gx(Bwe(t),BRr);Sye((function(n,u){return n&&gx(Bwe(t),mRr),xx(j_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),SRr),gx(Bwe(t),xRr),gx(Bwe(t),TRr),Bx(Bwe(t),NRr,IRr);var c=n[3];if(c){lwe(t,ORr);var f=c[1];xx(q_e[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,LRr)}else lwe(t,PRr);gx(Bwe(t),RRr),gx(Bwe(t),MRr),Bx(Bwe(t),URr,jRr);var o=n[4];if(o){lwe(t,XRr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),bRr);return Sye((function(t,n){return t&&gx(Bwe(e),pRr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),FRr)}),t,s),lwe(t,GRr)}else lwe(t,JRr);return gx(Bwe(t),qRr),gx(Bwe(t),zRr)})),XB(Z_e,(function(r,e,t){var n=Bx(Q_e,r,e);return Bx(Swe(DRr),n,t)}));var rge=[0,H_e,K_e,Q_e,Z_e],ege=function r(e,t,n,u){return r.fun(e,t,n,u)},tge=function r(e,t,n){return r.fun(e,t,n)};XB(ege,(function(r,e,t,n){gx(Bwe(t),qPr),Bx(Bwe(t),WPr,zPr);var u=n[1];if(u){lwe(t,VPr);var a=u[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,$Pr)}else lwe(t,YPr);gx(Bwe(t),HPr),gx(Bwe(t),KPr),Bx(Bwe(t),ZPr,QPr);var i=n[2];xx(rge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rRr),gx(Bwe(t),eRr),Bx(Bwe(t),nRr,tRr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),uRr),gx(Bwe(t),aRr),Bx(Bwe(t),cRr,iRr);var f=n[4];if(f){lwe(t,fRr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,JPr)}),t,o),lwe(t,oRr)}else lwe(t,sRr);return gx(Bwe(t),lRr),gx(Bwe(t),vRr)})),XB(tge,(function(r,e,t){var n=Bx(ege,r,e);return Bx(Swe(GPr),n,t)}));var nge=[0,j_e,q_e,Y_e,rge,ege,tge],uge=function r(e,t,n,u){return r.fun(e,t,n,u)},age=function r(e,t,n){return r.fun(e,t,n)},ige=function r(e,t,n,u){return r.fun(e,t,n,u)},cge=function r(e,t,n){return r.fun(e,t,n)},fge=function r(e,t,n,u){return r.fun(e,t,n,u)},oge=function r(e,t,n){return r.fun(e,t,n)};XB(uge,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),MPr);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jPr)}gx(Bwe(t),UPr);var a=n[1];return xx(ige,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),XPr)})),XB(age,(function(r,e,t){var n=Bx(uge,r,e);return Bx(Swe(RPr),n,t)})),XB(ige,(function(r,e,t,n){gx(Bwe(t),OPr),Bx(r,t,n[1]),gx(Bwe(t),LPr);var u=n[2];return xx(fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PPr)})),XB(cge,(function(r,e,t){var n=Bx(ige,r,e);return Bx(Swe(NPr),n,t)})),XB(fge,(function(r,e,t,n){gx(Bwe(t),wPr),Bx(Bwe(t),_Pr,APr);var u=n[1];xx(uge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gPr),gx(Bwe(t),BPr),Bx(Bwe(t),xPr,SPr);var a=n[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),TPr),gx(Bwe(t),IPr)})),XB(oge,(function(r,e,t){var n=Bx(fge,r,e);return Bx(Swe(CPr),n,t)}));var sge=[0,uge,age,ige,cge,fge,oge],lge=function r(e,t,n,u){return r.fun(e,t,n,u)},vge=function r(e,t,n){return r.fun(e,t,n)};XB(lge,(function(r,e,t,n){gx(Bwe(t),uPr),Bx(Bwe(t),iPr,aPr);var u=n[1];xx(sge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),cPr),gx(Bwe(t),fPr),Bx(Bwe(t),sPr,oPr);var a=n[2];if(a){lwe(t,lPr);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,vPr)}else lwe(t,DPr);gx(Bwe(t),pPr),gx(Bwe(t),bPr),Bx(Bwe(t),mPr,FPr);var c=n[3];if(c){lwe(t,dPr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,nPr)}),t,f),lwe(t,EPr)}else lwe(t,kPr);return gx(Bwe(t),hPr),gx(Bwe(t),yPr)})),XB(vge,(function(r,e,t){var n=Bx(lge,r,e);return Bx(Swe(tPr),n,t)}));var Dge=[0,sge,lge,vge],pge=function r(e,t,n,u){return r.fun(e,t,n,u)},bge=function r(e,t,n){return r.fun(e,t,n)},Fge=function r(e,t,n,u){return r.fun(e,t,n,u)},mge=function r(e,t,n){return r.fun(e,t,n)},dge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ege=function r(e,t,n){return r.fun(e,t,n)};XB(pge,(function(r,e,t,n){gx(Bwe(t),ZLr),Bx(r,t,n[1]),gx(Bwe(t),rPr);var u=n[2];return xx(Fge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ePr)})),XB(bge,(function(r,e,t){var n=Bx(pge,r,e);return Bx(Swe(QLr),n,t)})),XB(Fge,(function(r,e,t,n){gx(Bwe(t),oLr),Bx(Bwe(t),lLr,sLr);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vLr),gx(Bwe(t),DLr),Bx(Bwe(t),bLr,pLr);var a=n[2];xx(dge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),FLr),gx(Bwe(t),mLr),Bx(Bwe(t),ELr,dLr);var i=n[3];Bx(Bwe(t),kLr,i),gx(Bwe(t),hLr),gx(Bwe(t),yLr),Bx(Bwe(t),wLr,CLr);var c=n[4];Bx(Bwe(t),ALr,c),gx(Bwe(t),_Lr),gx(Bwe(t),gLr),Bx(Bwe(t),SLr,BLr);var f=n[5];Bx(Bwe(t),xLr,f),gx(Bwe(t),TLr),gx(Bwe(t),ILr),Bx(Bwe(t),OLr,NLr);var o=n[6];Bx(Bwe(t),LLr,o),gx(Bwe(t),PLr),gx(Bwe(t),RLr),Bx(Bwe(t),jLr,MLr);var s=n[7];if(s){lwe(t,ULr);var l=s[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,l),lwe(t,XLr)}else lwe(t,GLr);gx(Bwe(t),JLr),gx(Bwe(t),qLr),Bx(Bwe(t),WLr,zLr);var v=n[8];if(v){lwe(t,VLr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fLr)}),t,D),lwe(t,$Lr)}else lwe(t,YLr);return gx(Bwe(t),HLr),gx(Bwe(t),KLr)})),XB(mge,(function(r,e,t){var n=Bx(Fge,r,e);return Bx(Swe(cLr),n,t)})),XB(dge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YOr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HOr);case 1:var a=n[1];gx(Bwe(t),KOr),gx(Bwe(t),QOr),Bx(r,t,a[1]),gx(Bwe(t),ZOr);var i=a[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rLr),gx(Bwe(t),eLr);default:var c=n[1];gx(Bwe(t),tLr),gx(Bwe(t),nLr),Bx(r,t,c[1]),gx(Bwe(t),uLr);var f=c[2];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),aLr),gx(Bwe(t),iLr)}})),XB(Ege,(function(r,e,t){var n=Bx(dge,r,e);return Bx(Swe($Or),n,t)}));var kge=[0,pge,bge,Fge,mge,dge,Ege],hge=function r(e,t,n,u){return r.fun(e,t,n,u)},yge=function r(e,t,n){return r.fun(e,t,n)},Cge=function r(e,t,n,u){return r.fun(e,t,n,u)},wge=function r(e,t,n){return r.fun(e,t,n)};XB(hge,(function(r,e,t,n){gx(Bwe(t),zOr),Bx(r,t,n[1]),gx(Bwe(t),WOr);var u=n[2];return xx(Cge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VOr)})),XB(yge,(function(r,e,t){var n=Bx(hge,r,e);return Bx(Swe(qOr),n,t)})),XB(Cge,(function(r,e,t,n){gx(Bwe(t),IOr),Bx(Bwe(t),OOr,NOr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LOr),gx(Bwe(t),POr),Bx(Bwe(t),MOr,ROr);var a=n[2];if(a){lwe(t,jOr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TOr)}),t,i),lwe(t,UOr)}else lwe(t,XOr);return gx(Bwe(t),GOr),gx(Bwe(t),JOr)})),XB(wge,(function(r,e,t){var n=Bx(Cge,r,e);return Bx(Swe(xOr),n,t)}));var Age=[0,hge,yge,Cge,wge],_ge=function r(e,t,n,u){return r.fun(e,t,n,u)},gge=function r(e,t,n){return r.fun(e,t,n)},Bge=function r(e,t,n,u){return r.fun(e,t,n,u)},Sge=function r(e,t,n){return r.fun(e,t,n)};XB(_ge,(function(r,e,t,n){gx(Bwe(t),YNr),Bx(Bwe(t),KNr,HNr);var u=n[1];if(u){lwe(t,QNr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,a),lwe(t,ZNr)}else lwe(t,rOr);gx(Bwe(t),eOr),gx(Bwe(t),tOr),Bx(Bwe(t),uOr,nOr);var i=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),aOr),gx(Bwe(t),iOr),Bx(Bwe(t),fOr,cOr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),oOr),gx(Bwe(t),sOr),Bx(Bwe(t),vOr,lOr);var f=n[4];Bx(Bwe(t),DOr,f),gx(Bwe(t),pOr),gx(Bwe(t),bOr),Bx(Bwe(t),mOr,FOr);var o=n[5];if(o){lwe(t,dOr);var s=o[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,s),lwe(t,EOr)}else lwe(t,kOr);gx(Bwe(t),hOr),gx(Bwe(t),yOr),Bx(Bwe(t),wOr,COr);var l=n[6];if(l){lwe(t,AOr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$Nr)}),t,v),lwe(t,_Or)}else lwe(t,gOr);return gx(Bwe(t),BOr),gx(Bwe(t),SOr)})),XB(gge,(function(r,e,t){var n=Bx(_ge,r,e);return Bx(Swe(VNr),n,t)})),XB(Bge,(function(r,e,t,n){gx(Bwe(t),qNr),Bx(r,t,n[1]),gx(Bwe(t),zNr);var u=n[2];return xx(_ge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WNr)})),XB(Sge,(function(r,e,t){var n=Bx(Bge,r,e);return Bx(Swe(JNr),n,t)}));var xge=[0,_ge,gge,Bge,Sge],Tge=function r(e,t,n,u){return r.fun(e,t,n,u)},Ige=function r(e,t,n){return r.fun(e,t,n)},Nge=function r(e,t,n,u){return r.fun(e,t,n,u)},Oge=function r(e,t,n){return r.fun(e,t,n)};XB(Tge,(function(r,e,t,n){gx(Bwe(t),UNr),Bx(r,t,n[1]),gx(Bwe(t),XNr);var u=n[2];return xx(Nge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),GNr)})),XB(Ige,(function(r,e,t){var n=Bx(Tge,r,e);return Bx(Swe(jNr),n,t)})),XB(Nge,(function(r,e,t,n){gx(Bwe(t),ENr),Bx(Bwe(t),hNr,kNr);var u=n[1];gx(Bwe(t),yNr),Bx(r,t,u[1]),gx(Bwe(t),CNr);var a=u[2];xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),wNr),gx(Bwe(t),ANr),gx(Bwe(t),_Nr),Bx(Bwe(t),BNr,gNr);var i=n[2];Bx(Bwe(t),SNr,i),gx(Bwe(t),xNr),gx(Bwe(t),TNr),Bx(Bwe(t),NNr,INr);var c=n[3];if(c){lwe(t,ONr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dNr)}),t,f),lwe(t,LNr)}else lwe(t,PNr);return gx(Bwe(t),RNr),gx(Bwe(t),MNr)})),XB(Oge,(function(r,e,t){var n=Bx(Nge,r,e);return Bx(Swe(mNr),n,t)}));var Lge=[0,Tge,Ige,Nge,Oge],Pge=function r(e,t,n,u){return r.fun(e,t,n,u)},Rge=function r(e,t,n){return r.fun(e,t,n)},Mge=function r(e,t,n,u){return r.fun(e,t,n,u)},jge=function r(e,t,n){return r.fun(e,t,n)};XB(Pge,(function(r,e,t,n){gx(Bwe(t),pNr),Bx(r,t,n[1]),gx(Bwe(t),bNr);var u=n[2];return xx(Mge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),FNr)})),XB(Rge,(function(r,e,t){var n=Bx(Pge,r,e);return Bx(Swe(DNr),n,t)})),XB(Mge,(function(r,e,t,n){gx(Bwe(t),PIr),Bx(Bwe(t),MIr,RIr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),jIr),gx(Bwe(t),UIr),Bx(Bwe(t),GIr,XIr);var a=n[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JIr),gx(Bwe(t),qIr),Bx(Bwe(t),WIr,zIr);var i=n[3];Bx(Bwe(t),VIr,i),gx(Bwe(t),$Ir),gx(Bwe(t),YIr),Bx(Bwe(t),KIr,HIr);var c=n[4];Bx(Bwe(t),QIr,c),gx(Bwe(t),ZIr),gx(Bwe(t),rNr),Bx(Bwe(t),tNr,eNr);var f=n[5];Bx(Bwe(t),nNr,f),gx(Bwe(t),uNr),gx(Bwe(t),aNr),Bx(Bwe(t),cNr,iNr);var o=n[6];if(o){lwe(t,fNr);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LIr)}),t,s),lwe(t,oNr)}else lwe(t,sNr);return gx(Bwe(t),lNr),gx(Bwe(t),vNr)})),XB(jge,(function(r,e,t){var n=Bx(Mge,r,e);return Bx(Swe(OIr),n,t)}));var Uge=[0,Pge,Rge,Mge,jge],Xge=function r(e,t,n,u){return r.fun(e,t,n,u)},Gge=function r(e,t,n){return r.fun(e,t,n)},Jge=function r(e,t,n,u){return r.fun(e,t,n,u)},qge=function r(e,t,n){return r.fun(e,t,n)};XB(Xge,(function(r,e,t,n){gx(Bwe(t),sIr),Bx(Bwe(t),vIr,lIr);var u=n[1];Bx(Bwe(t),DIr,u),gx(Bwe(t),pIr),gx(Bwe(t),bIr),Bx(Bwe(t),mIr,FIr);var a=n[2];Bx(Bwe(t),dIr,a),gx(Bwe(t),EIr),gx(Bwe(t),kIr),Bx(Bwe(t),yIr,hIr);var i=n[3];gx(Bwe(t),CIr);Sye((function(n,u){return n&&gx(Bwe(t),oIr),xx(Jge,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),wIr),gx(Bwe(t),AIr),gx(Bwe(t),_Ir),Bx(Bwe(t),BIr,gIr);var c=n[4];if(c){lwe(t,SIr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),cIr);return Sye((function(t,n){return t&&gx(Bwe(e),iIr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),fIr)}),t,f),lwe(t,xIr)}else lwe(t,TIr);return gx(Bwe(t),IIr),gx(Bwe(t),NIr)})),XB(Gge,(function(r,e,t){var n=Bx(Xge,r,e);return Bx(Swe(aIr),n,t)})),XB(Jge,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),YTr);var u=n[1];return xx(kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HTr);case 1:gx(Bwe(t),KTr);var a=n[1];return xx(Age[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QTr);case 2:gx(Bwe(t),ZTr);var i=n[1];return xx(xge[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),rIr);case 3:gx(Bwe(t),eIr);var c=n[1];return xx(Lge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),tIr);default:gx(Bwe(t),nIr);var f=n[1];return xx(Uge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),uIr)}})),XB(qge,(function(r,e,t){var n=Bx(Jge,r,e);return Bx(Swe($Tr),n,t)}));var zge=[0,kge,Age,xge,Lge,Uge,Xge,Gge,Jge,qge],Wge=function r(e,t,n,u){return r.fun(e,t,n,u)},Vge=function r(e,t,n){return r.fun(e,t,n)};XB(Wge,(function(r,e,t,n){gx(Bwe(t),gTr),Bx(Bwe(t),STr,BTr);var u=n[1];gx(Bwe(t),xTr),Bx(r,t,u[1]),gx(Bwe(t),TTr);var a=u[2];xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ITr),gx(Bwe(t),NTr),gx(Bwe(t),OTr),Bx(Bwe(t),PTr,LTr);var i=n[2];gx(Bwe(t),RTr);Sye((function(n,u){n&&gx(Bwe(t),CTr),gx(Bwe(t),wTr),Bx(r,t,u[1]),gx(Bwe(t),ATr);var a=u[2];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_Tr),1}),0,i),gx(Bwe(t),MTr),gx(Bwe(t),jTr),gx(Bwe(t),UTr),Bx(Bwe(t),GTr,XTr);var c=n[3];if(c){lwe(t,JTr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yTr)}),t,f),lwe(t,qTr)}else lwe(t,zTr);return gx(Bwe(t),WTr),gx(Bwe(t),VTr)})),XB(Vge,(function(r,e,t){var n=Bx(Wge,r,e);return Bx(Swe(hTr),n,t)}));var $ge=[0,Wge,Vge],Yge=function r(e,t,n,u){return r.fun(e,t,n,u)},Hge=function r(e,t,n){return r.fun(e,t,n)};XB(Yge,(function(r,e,t,n){gx(Bwe(t),oTr),Bx(Bwe(t),lTr,sTr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vTr),gx(Bwe(t),DTr),Bx(Bwe(t),bTr,pTr);var a=n[2];if(a){lwe(t,FTr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,fTr)}),t,i),lwe(t,mTr)}else lwe(t,dTr);return gx(Bwe(t),ETr),gx(Bwe(t),kTr)})),XB(Hge,(function(r,e,t){var n=Bx(Yge,r,e);return Bx(Swe(cTr),n,t)}));var Kge=[0,Yge,Hge],Qge=function r(e,t,n,u){return r.fun(e,t,n,u)},Zge=function r(e,t,n){return r.fun(e,t,n)};XB(Qge,(function(r,e,t,n){gx(Bwe(t),qxr),Bx(Bwe(t),Wxr,zxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Vxr),gx(Bwe(t),$xr),Bx(Bwe(t),Hxr,Yxr);var a=n[2];Bx(Bwe(t),Kxr,a),gx(Bwe(t),Qxr),gx(Bwe(t),Zxr),Bx(Bwe(t),eTr,rTr);var i=n[3];if(i){lwe(t,tTr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jxr)}),t,c),lwe(t,nTr)}else lwe(t,uTr);return gx(Bwe(t),aTr),gx(Bwe(t),iTr)})),XB(Zge,(function(r,e,t){var n=Bx(Qge,r,e);return Bx(Swe(Gxr),n,t)}));var rBe=[0,Qge,Zge],eBe=function r(e,t,n,u){return r.fun(e,t,n,u)},tBe=function r(e,t,n){return r.fun(e,t,n)};XB(eBe,(function(r,e,t,n){gx(Bwe(t),Bxr),Bx(Bwe(t),xxr,Sxr);var u=n[1];gx(Bwe(t),Txr);Sye((function(n,u){return n&&gx(Bwe(t),gxr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Ixr),gx(Bwe(t),Nxr),gx(Bwe(t),Oxr),Bx(Bwe(t),Pxr,Lxr);var a=n[2];if(a){lwe(t,Rxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,_xr)}),t,i),lwe(t,Mxr)}else lwe(t,jxr);return gx(Bwe(t),Uxr),gx(Bwe(t),Xxr)})),XB(tBe,(function(r,e,t){var n=Bx(eBe,r,e);return Bx(Swe(Axr),n,t)}));var nBe=[0,eBe,tBe],uBe=function r(e,t,n,u){return r.fun(e,t,n,u)},aBe=function r(e,t,n){return r.fun(e,t,n)};XB(uBe,(function(r,e,t,n){gx(Bwe(t),Dxr),Bx(Bwe(t),bxr,pxr);var u=n[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Fxr),gx(Bwe(t),mxr),Bx(Bwe(t),Exr,dxr);var a=n[2];if(a){lwe(t,kxr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,vxr)}),t,i),lwe(t,hxr)}else lwe(t,yxr);return gx(Bwe(t),Cxr),gx(Bwe(t),wxr)})),XB(aBe,(function(r,e,t){var n=Bx(uBe,r,e);return Bx(Swe(lxr),n,t)}));var iBe=[0,uBe,aBe],cBe=function r(e,t,n,u){return r.fun(e,t,n,u)},fBe=function r(e,t,n){return r.fun(e,t,n)};XB(cBe,(function(r,e,t,n){gx(Bwe(t),VSr),Bx(Bwe(t),YSr,$Sr);var u=n[1];gx(Bwe(t),HSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),KSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),QSr),gx(Bwe(t),ZSr);Sye((function(n,u){return n&&gx(Bwe(t),WSr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),rxr),gx(Bwe(t),exr),gx(Bwe(t),txr),gx(Bwe(t),nxr),Bx(Bwe(t),axr,uxr);var c=n[2];if(c){lwe(t,ixr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,zSr)}),t,f),lwe(t,cxr)}else lwe(t,fxr);return gx(Bwe(t),oxr),gx(Bwe(t),sxr)})),XB(fBe,(function(r,e,t){var n=Bx(cBe,r,e);return Bx(Swe(qSr),n,t)}));var oBe=[0,cBe,fBe],sBe=function r(e,t,n,u){return r.fun(e,t,n,u)},lBe=function r(e,t,n){return r.fun(e,t,n)};XB(sBe,(function(r,e,t,n){gx(Bwe(t),_Sr),Bx(Bwe(t),BSr,gSr);var u=n[1];gx(Bwe(t),SSr);var a=u[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),xSr);var i=u[2];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),TSr),gx(Bwe(t),ISr);Sye((function(n,u){return n&&gx(Bwe(t),ASr),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[3]),gx(Bwe(t),NSr),gx(Bwe(t),OSr),gx(Bwe(t),LSr),gx(Bwe(t),PSr),Bx(Bwe(t),MSr,RSr);var c=n[2];if(c){lwe(t,jSr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wSr)}),t,f),lwe(t,USr)}else lwe(t,XSr);return gx(Bwe(t),GSr),gx(Bwe(t),JSr)})),XB(lBe,(function(r,e,t){var n=Bx(sBe,r,e);return Bx(Swe(CSr),n,t)}));var vBe=[0,sBe,lBe],DBe=function r(e,t,n,u){return r.fun(e,t,n,u)},pBe=function r(e,t,n){return r.fun(e,t,n)},bBe=function r(e,t,n,u){return r.fun(e,t,n,u)},FBe=function r(e,t,n){return r.fun(e,t,n)},mBe=function r(e,t,n,u){return r.fun(e,t,n,u)},dBe=function r(e,t,n){return r.fun(e,t,n)},EBe=function r(e,t,n,u){return r.fun(e,t,n,u)},kBe=function r(e,t,n){return r.fun(e,t,n)};XB(DBe,(function(r,e,t,n){gx(Bwe(t),kSr),Bx(e,t,n[1]),gx(Bwe(t),hSr);var u=n[2];return xx(bBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ySr)})),XB(pBe,(function(r,e,t){var n=Bx(DBe,r,e);return Bx(Swe(ESr),n,t)})),XB(bBe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];if(gx(Bwe(t),qgr),u){lwe(t,zgr);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Jgr)}),t,a),lwe(t,Wgr)}else lwe(t,Vgr);return gx(Bwe(t),$gr);case 1:var i=n[1];if(gx(Bwe(t),Ygr),i){lwe(t,Hgr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ggr)}),t,c),lwe(t,Kgr)}else lwe(t,Qgr);return gx(Bwe(t),Zgr);case 2:var f=n[1];if(gx(Bwe(t),rBr),f){lwe(t,eBr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xgr)}),t,o),lwe(t,tBr)}else lwe(t,nBr);return gx(Bwe(t),uBr);case 3:var s=n[1];if(gx(Bwe(t),aBr),s){lwe(t,iBr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ugr)}),t,l),lwe(t,cBr)}else lwe(t,fBr);return gx(Bwe(t),oBr);case 4:var v=n[1];if(gx(Bwe(t),sBr),v){lwe(t,lBr);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jgr)}),t,D),lwe(t,vBr)}else lwe(t,DBr);return gx(Bwe(t),pBr);case 5:var p=n[1];if(gx(Bwe(t),bBr),p){lwe(t,FBr);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mgr)}),t,b),lwe(t,mBr)}else lwe(t,dBr);return gx(Bwe(t),EBr);case 6:var F=n[1];if(gx(Bwe(t),kBr),F){lwe(t,hBr);var m=F[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Rgr)}),t,m),lwe(t,yBr)}else lwe(t,CBr);return gx(Bwe(t),wBr);case 7:var d=n[1];if(gx(Bwe(t),ABr),d){lwe(t,_Br);var E=d[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Pgr)}),t,E),lwe(t,gBr)}else lwe(t,BBr);return gx(Bwe(t),SBr);case 8:var k=n[1];if(gx(Bwe(t),xBr),k){lwe(t,TBr);var h=k[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Lgr)}),t,h),lwe(t,IBr)}else lwe(t,NBr);return gx(Bwe(t),OBr);case 9:var y=n[1];if(gx(Bwe(t),LBr),y){lwe(t,PBr);var C=y[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ogr)}),t,C),lwe(t,RBr)}else lwe(t,MBr);return gx(Bwe(t),jBr);case 10:var w=n[1];if(gx(Bwe(t),UBr),w){lwe(t,XBr);var A=w[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ngr)}),t,A),lwe(t,GBr)}else lwe(t,JBr);return gx(Bwe(t),qBr);case 11:gx(Bwe(t),zBr);var _=n[1];return xx(Kge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),WBr);case 12:gx(Bwe(t),VBr);var g=n[1];return xx(nge[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),$Br);case 13:gx(Bwe(t),YBr);var B=n[1];return xx(zge[6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),HBr);case 14:gx(Bwe(t),KBr);var S=n[1];return xx($ge[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),QBr);case 15:gx(Bwe(t),ZBr);var x=n[1];return xx(iBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),rSr);case 16:gx(Bwe(t),eSr);var T=n[1];return xx(Dge[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),tSr);case 17:gx(Bwe(t),nSr);var I=n[1];return xx(oBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),uSr);case 18:gx(Bwe(t),aSr);var N=n[1];return xx(vBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),iSr);case 19:gx(Bwe(t),cSr);var O=n[1];return xx(rBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),fSr);case 20:gx(Bwe(t),oSr);var L=n[1];return xx(nBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),sSr);case 21:gx(Bwe(t),lSr);var P=n[1];return Sx(UAe[1],(function(e){return gx(r,e)}),t,P),gx(Bwe(t),vSr);case 22:gx(Bwe(t),DSr);var R=n[1];return Sx(XAe[1],(function(e){return gx(r,e)}),t,R),gx(Bwe(t),pSr);case 23:gx(Bwe(t),bSr);var M=n[1];return Sx(GAe[1],(function(e){return gx(r,e)}),t,M),gx(Bwe(t),FSr);default:gx(Bwe(t),mSr);var j=n[1];return Sx(JAe[1],(function(e){return gx(r,e)}),t,j),gx(Bwe(t),dSr)}})),XB(FBe,(function(r,e,t){var n=Bx(bBe,r,e);return Bx(Swe(Igr),n,t)})),XB(mBe,(function(r,e,t,n){gx(Bwe(t),Sgr),Bx(r,t,n[1]),gx(Bwe(t),xgr);var u=n[2];return xx(DBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Tgr)})),XB(dBe,(function(r,e,t){var n=Bx(mBe,r,e);return Bx(Swe(Bgr),n,t)})),XB(EBe,(function(r,e,t,n){if(0===n[0])return gx(Bwe(t),wgr),Bx(e,t,n[1]),gx(Bwe(t),Agr);gx(Bwe(t),_gr);var u=n[1];return xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ggr)})),XB(kBe,(function(r,e,t){var n=Bx(EBe,r,e);return Bx(Swe(Cgr),n,t)}));var hBe=function r(e,t,n,u){return r.fun(e,t,n,u)},yBe=function r(e,t,n){return r.fun(e,t,n)},CBe=function r(e,t,n,u){return r.fun(e,t,n,u)},wBe=function r(e,t,n){return r.fun(e,t,n)};XB(hBe,(function(r,e,t,n){gx(Bwe(t),kgr),Bx(r,t,n[1]),gx(Bwe(t),hgr);var u=n[2];return xx(CBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ygr)})),XB(yBe,(function(r,e,t){var n=Bx(hBe,r,e);return Bx(Swe(Egr),n,t)})),XB(CBe,(function(r,e,t,n){gx(Bwe(t),H_r),Bx(Bwe(t),Q_r,K_r);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Z_r),gx(Bwe(t),rgr),Bx(Bwe(t),tgr,egr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ngr),gx(Bwe(t),ugr),Bx(Bwe(t),igr,agr);var i=n[3];if(i){lwe(t,cgr);var c=i[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,c),lwe(t,fgr)}else lwe(t,ogr);gx(Bwe(t),sgr),gx(Bwe(t),lgr),Bx(Bwe(t),Dgr,vgr);var f=n[4];if(f){lwe(t,pgr);var o=f[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,bgr)}else lwe(t,Fgr);return gx(Bwe(t),mgr),gx(Bwe(t),dgr)})),XB(wBe,(function(r,e,t){var n=Bx(CBe,r,e);return Bx(Swe(Y_r),n,t)}));var ABe=[0,hBe,yBe,CBe,wBe],_Be=function r(e,t,n,u){return r.fun(e,t,n,u)},gBe=function r(e,t,n){return r.fun(e,t,n)},BBe=function r(e,t,n,u){return r.fun(e,t,n,u)},SBe=function r(e,t,n){return r.fun(e,t,n)};XB(_Be,(function(r,e,t,n){gx(Bwe(t),W_r),Bx(r,t,n[1]),gx(Bwe(t),V_r);var u=n[2];return xx(BBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$_r)})),XB(gBe,(function(r,e,t){var n=Bx(_Be,r,e);return Bx(Swe(z_r),n,t)})),XB(BBe,(function(r,e,t,n){gx(Bwe(t),T_r),Bx(Bwe(t),N_r,I_r);var u=n[1];gx(Bwe(t),O_r);Sye((function(n,u){return n&&gx(Bwe(t),x_r),xx(ABe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),L_r),gx(Bwe(t),P_r),gx(Bwe(t),R_r),Bx(Bwe(t),j_r,M_r);var a=n[2];if(a){lwe(t,U_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),B_r);return Sye((function(t,n){return t&&gx(Bwe(e),g_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),S_r)}),t,i),lwe(t,X_r)}else lwe(t,G_r);return gx(Bwe(t),J_r),gx(Bwe(t),q_r)})),XB(SBe,(function(r,e,t){var n=Bx(BBe,r,e);return Bx(Swe(__r),n,t)}));var xBe=function r(e,t,n,u){return r.fun(e,t,n,u)},TBe=function r(e,t,n){return r.fun(e,t,n)},IBe=function r(e,t,n,u){return r.fun(e,t,n,u)},NBe=function r(e,t,n){return r.fun(e,t,n)},OBe=[0,_Be,gBe,BBe,SBe];XB(xBe,(function(r,e,t,n){gx(Bwe(t),C_r),Bx(r,t,n[1]),gx(Bwe(t),w_r);var u=n[2];return xx(IBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A_r)})),XB(TBe,(function(r,e,t){var n=Bx(xBe,r,e);return Bx(Swe(y_r),n,t)})),XB(IBe,(function(r,e,t,n){gx(Bwe(t),f_r),Bx(Bwe(t),s_r,o_r);var u=n[1];gx(Bwe(t),l_r);Sye((function(n,u){return n&&gx(Bwe(t),c_r),xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v_r),gx(Bwe(t),D_r),gx(Bwe(t),p_r),Bx(Bwe(t),F_r,b_r);var a=n[2];if(a){lwe(t,m_r);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),a_r);return Sye((function(t,n){return t&&gx(Bwe(e),u_r),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),i_r)}),t,i),lwe(t,d_r)}else lwe(t,E_r);return gx(Bwe(t),k_r),gx(Bwe(t),h_r)})),XB(NBe,(function(r,e,t){var n=Bx(IBe,r,e);return Bx(Swe(n_r),n,t)}));var LBe=function r(e,t,n,u){return r.fun(e,t,n,u)},PBe=function r(e,t,n){return r.fun(e,t,n)},RBe=function r(e,t,n,u){return r.fun(e,t,n,u)},MBe=function r(e,t,n){return r.fun(e,t,n)},jBe=function r(e,t,n,u){return r.fun(e,t,n,u)},UBe=function r(e,t,n){return r.fun(e,t,n)},XBe=[0,xBe,TBe,IBe,NBe];XB(LBe,(function(r,e,t,n){gx(Bwe(t),r_r),Bx(r,t,n[1]),gx(Bwe(t),e_r);var u=n[2];return xx(RBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),t_r)})),XB(PBe,(function(r,e,t){var n=Bx(LBe,r,e);return Bx(Swe(ZAr),n,t)})),XB(RBe,(function(r,e,t,n){gx(Bwe(t),XAr),Bx(Bwe(t),JAr,GAr);var u=n[1];xx(jBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),qAr),gx(Bwe(t),zAr),Bx(Bwe(t),VAr,WAr);var a=n[2];if(a){lwe(t,$Ar);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,UAr)}),t,i),lwe(t,YAr)}else lwe(t,HAr);return gx(Bwe(t),KAr),gx(Bwe(t),QAr)})),XB(MBe,(function(r,e,t){var n=Bx(RBe,r,e);return Bx(Swe(jAr),n,t)})),XB(jBe,(function(r,e,t,n){if(n){gx(Bwe(t),PAr);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RAr)}return lwe(t,MAr)})),XB(UBe,(function(r,e,t){var n=Bx(jBe,r,e);return Bx(Swe(LAr),n,t)})),Sx(eAe,HJr,WAe,[0,nge,Dge,zge,$ge,Kge,rBe,nBe,iBe,oBe,vBe,DBe,pBe,bBe,FBe,mBe,dBe,EBe,kBe,ABe,OBe,XBe,[0,LBe,PBe,RBe,MBe,jBe,UBe]]);var GBe=function r(e,t,n,u){return r.fun(e,t,n,u)},JBe=function r(e,t,n){return r.fun(e,t,n)};XB(GBe,(function(r,e,t,n){gx(Bwe(t),hAr),Bx(Bwe(t),CAr,yAr);var u=n[1];gx(Bwe(t),wAr);Sye((function(n,u){return n&&gx(Bwe(t),kAr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),AAr),gx(Bwe(t),_Ar),gx(Bwe(t),gAr),Bx(Bwe(t),SAr,BAr);var a=n[2];if(a){lwe(t,xAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),dAr);return Sye((function(t,n){return t&&gx(Bwe(e),mAr),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),EAr)}),t,i),lwe(t,TAr)}else lwe(t,IAr);return gx(Bwe(t),NAr),gx(Bwe(t),OAr)})),XB(JBe,(function(r,e,t){var n=Bx(GBe,r,e);return Bx(Swe(FAr),n,t)}));var qBe=[0,GBe,JBe],zBe=function r(e,t,n,u){return r.fun(e,t,n,u)},WBe=function r(e,t,n){return r.fun(e,t,n)},VBe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Be=function r(e,t,n){return r.fun(e,t,n)};XB(zBe,(function(r,e,t,n){gx(Bwe(t),DAr),Bx(r,t,n[1]),gx(Bwe(t),pAr);var u=n[2];return xx(VBe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bAr)})),XB(WBe,(function(r,e,t){var n=Bx(zBe,r,e);return Bx(Swe(vAr),n,t)})),XB(VBe,(function(r,e,t,n){gx(Bwe(t),rAr),Bx(Bwe(t),tAr,eAr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nAr),gx(Bwe(t),uAr),Bx(Bwe(t),iAr,aAr);var a=n[2];if(a){lwe(t,cAr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Zwr)}),t,i),lwe(t,fAr)}else lwe(t,oAr);return gx(Bwe(t),sAr),gx(Bwe(t),lAr)})),XB($Be,(function(r,e,t){var n=Bx(VBe,r,e);return Bx(Swe(Qwr),n,t)}));var YBe=[0,zBe,WBe,VBe,$Be],HBe=function r(e,t,n,u){return r.fun(e,t,n,u)},KBe=function r(e,t,n){return r.fun(e,t,n)};XB(HBe,(function(r,e,t,n){gx(Bwe(t),Swr),Bx(Bwe(t),Twr,xwr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Iwr),gx(Bwe(t),Nwr),Bx(Bwe(t),Lwr,Owr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pwr),gx(Bwe(t),Rwr),Bx(Bwe(t),jwr,Mwr);var i=n[3];if(i){lwe(t,Uwr);var c=i[1];xx(YBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Xwr)}else lwe(t,Gwr);gx(Bwe(t),Jwr),gx(Bwe(t),qwr),Bx(Bwe(t),Wwr,zwr);var f=n[4];if(f){lwe(t,Vwr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Bwr)}),t,o),lwe(t,$wr)}else lwe(t,Ywr);return gx(Bwe(t),Hwr),gx(Bwe(t),Kwr)})),XB(KBe,(function(r,e,t){var n=Bx(HBe,r,e);return Bx(Swe(gwr),n,t)}));var QBe=[0,YBe,HBe,KBe],ZBe=function r(e,t,n,u){return r.fun(e,t,n,u)},rSe=function r(e,t,n){return r.fun(e,t,n)};XB(ZBe,(function(r,e,t,n){gx(Bwe(t),lwr),Bx(Bwe(t),Dwr,vwr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),t,u),gx(Bwe(t),pwr),gx(Bwe(t),bwr),Bx(Bwe(t),mwr,Fwr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),dwr),gx(Bwe(t),Ewr),Bx(Bwe(t),hwr,kwr);var i=n[3];if(i){lwe(t,ywr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,swr)}),t,c),lwe(t,Cwr)}else lwe(t,wwr);return gx(Bwe(t),Awr),gx(Bwe(t),_wr)})),XB(rSe,(function(r,e,t){var n=Bx(ZBe,r,e);return Bx(Swe(owr),n,t)}));var eSe=[0,ZBe,rSe],tSe=function r(e,t,n){return r.fun(e,t,n)},nSe=function r(e,t){return r.fun(e,t)};XB(tSe,(function(r,e,t){gx(Bwe(e),$Cr),Bx(Bwe(e),HCr,YCr);var n=t[1];if(n){lwe(e,KCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,QCr)}else lwe(e,ZCr);gx(Bwe(e),rwr),gx(Bwe(e),ewr),Bx(Bwe(e),nwr,twr);var a=t[2];if(a){lwe(e,uwr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VCr)}),e,i),lwe(e,awr)}else lwe(e,iwr);return gx(Bwe(e),cwr),gx(Bwe(e),fwr)})),XB(nSe,(function(r,e){var t=gx(tSe,r);return Bx(Swe(WCr),t,e)}));var uSe=[0,tSe,nSe],aSe=function r(e,t,n){return r.fun(e,t,n)},iSe=function r(e,t){return r.fun(e,t)};XB(aSe,(function(r,e,t){gx(Bwe(e),TCr),Bx(Bwe(e),NCr,ICr);var n=t[1];if(n){lwe(e,OCr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,LCr)}else lwe(e,PCr);gx(Bwe(e),RCr),gx(Bwe(e),MCr),Bx(Bwe(e),UCr,jCr);var a=t[2];if(a){lwe(e,XCr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xCr)}),e,i),lwe(e,GCr)}else lwe(e,JCr);return gx(Bwe(e),qCr),gx(Bwe(e),zCr)})),XB(iSe,(function(r,e){var t=gx(aSe,r);return Bx(Swe(SCr),t,e)}));var cSe=[0,aSe,iSe],fSe=function r(e,t,n){return r.fun(e,t,n)},oSe=function r(e,t){return r.fun(e,t)};XB(fSe,(function(r,e,t){gx(Bwe(e),hCr),Bx(Bwe(e),CCr,yCr);var n=t[1];if(n){lwe(e,wCr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kCr)}),e,u),lwe(e,ACr)}else lwe(e,_Cr);return gx(Bwe(e),gCr),gx(Bwe(e),BCr)})),XB(oSe,(function(r,e){var t=gx(fSe,r);return Bx(Swe(ECr),t,e)}));var sSe=[0,fSe,oSe],lSe=function r(e,t,n,u){return r.fun(e,t,n,u)},vSe=function r(e,t,n){return r.fun(e,t,n)};XB(lSe,(function(r,e,t,n){gx(Bwe(t),nCr),Bx(Bwe(t),aCr,uCr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),iCr),gx(Bwe(t),cCr),Bx(Bwe(t),oCr,fCr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),sCr),gx(Bwe(t),lCr),Bx(Bwe(t),DCr,vCr);var i=n[3];if(i){lwe(t,pCr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,tCr)}),t,c),lwe(t,bCr)}else lwe(t,FCr);return gx(Bwe(t),mCr),gx(Bwe(t),dCr)})),XB(vSe,(function(r,e,t){var n=Bx(lSe,r,e);return Bx(Swe(eCr),n,t)}));var DSe=[0,lSe,vSe],pSe=function r(e,t,n,u){return r.fun(e,t,n,u)},bSe=function r(e,t,n){return r.fun(e,t,n)};XB(pSe,(function(r,e,t,n){gx(Bwe(t),Iyr),Bx(Bwe(t),Oyr,Nyr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lyr),gx(Bwe(t),Pyr),Bx(Bwe(t),Myr,Ryr);var a=n[2];if(a){lwe(t,jyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Uyr)}else lwe(t,Xyr);gx(Bwe(t),Gyr),gx(Bwe(t),Jyr),Bx(Bwe(t),zyr,qyr);var c=n[3];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Wyr),gx(Bwe(t),Vyr),Bx(Bwe(t),Yyr,$yr);var f=n[4];if(f){lwe(t,Hyr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tyr)}),t,o),lwe(t,Kyr)}else lwe(t,Qyr);return gx(Bwe(t),Zyr),gx(Bwe(t),rCr)})),XB(bSe,(function(r,e,t){var n=Bx(pSe,r,e);return Bx(Swe(xyr),n,t)}));var FSe=[0,pSe,bSe],mSe=function r(e,t,n,u){return r.fun(e,t,n,u)},dSe=function r(e,t,n){return r.fun(e,t,n)};XB(mSe,(function(r,e,t,n){gx(Bwe(t),Khr),Bx(Bwe(t),Zhr,Qhr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ryr),gx(Bwe(t),eyr),Bx(Bwe(t),nyr,tyr);var a=n[2];if(a){lwe(t,uyr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ayr)}else lwe(t,iyr);gx(Bwe(t),cyr),gx(Bwe(t),fyr),Bx(Bwe(t),syr,oyr);var c=n[3];if(c){lwe(t,lyr);var f=c[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,vyr)}else lwe(t,Dyr);gx(Bwe(t),pyr),gx(Bwe(t),byr),Bx(Bwe(t),myr,Fyr);var o=n[4];if(o){lwe(t,dyr);var s=o[1];xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,Eyr)}else lwe(t,kyr);gx(Bwe(t),hyr),gx(Bwe(t),yyr),Bx(Bwe(t),wyr,Cyr);var l=n[5];if(l){lwe(t,Ayr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hhr)}),t,v),lwe(t,_yr)}else lwe(t,gyr);return gx(Bwe(t),Byr),gx(Bwe(t),Syr)})),XB(dSe,(function(r,e,t){var n=Bx(mSe,r,e);return Bx(Swe(Yhr),n,t)}));var ESe=[0,mSe,dSe],kSe=function r(e,t,n,u){return r.fun(e,t,n,u)},hSe=function r(e,t,n){return r.fun(e,t,n)},ySe=function r(e,t,n,u){return r.fun(e,t,n,u)},CSe=function r(e,t,n){return r.fun(e,t,n)};XB(kSe,(function(r,e,t,n){gx(Bwe(t),Whr),Bx(r,t,n[1]),gx(Bwe(t),Vhr);var u=n[2];return xx(ySe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$hr)})),XB(hSe,(function(r,e,t){var n=Bx(kSe,r,e);return Bx(Swe(zhr),n,t)})),XB(ySe,(function(r,e,t,n){gx(Bwe(t),whr),Bx(Bwe(t),_hr,Ahr);var u=n[1];if(u){lwe(t,ghr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Bhr)}else lwe(t,Shr);gx(Bwe(t),xhr),gx(Bwe(t),Thr),Bx(Bwe(t),Nhr,Ihr);var i=n[2];gx(Bwe(t),Ohr);Sye((function(n,u){return n&&gx(Bwe(t),Chr),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),Lhr),gx(Bwe(t),Phr),gx(Bwe(t),Rhr),Bx(Bwe(t),jhr,Mhr);var c=n[3];if(c){lwe(t,Uhr);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yhr)}),t,f),lwe(t,Xhr)}else lwe(t,Ghr);return gx(Bwe(t),Jhr),gx(Bwe(t),qhr)})),XB(CSe,(function(r,e,t){var n=Bx(ySe,r,e);return Bx(Swe(hhr),n,t)}));var wSe=[0,kSe,hSe,ySe,CSe],ASe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Se=function r(e,t,n){return r.fun(e,t,n)};XB(ASe,(function(r,e,t,n){gx(Bwe(t),nhr),Bx(Bwe(t),ahr,uhr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ihr),gx(Bwe(t),chr),Bx(Bwe(t),ohr,fhr);var a=n[2];gx(Bwe(t),shr);Sye((function(n,u){return n&&gx(Bwe(t),thr),xx(wSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),lhr),gx(Bwe(t),vhr),gx(Bwe(t),Dhr),Bx(Bwe(t),bhr,phr);var i=n[3];if(i){lwe(t,Fhr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ehr)}),t,c),lwe(t,mhr)}else lwe(t,dhr);return gx(Bwe(t),Ehr),gx(Bwe(t),khr)})),XB(_Se,(function(r,e,t){var n=Bx(ASe,r,e);return Bx(Swe(rhr),n,t)}));var gSe=[0,wSe,ASe,_Se],BSe=function r(e,t,n,u){return r.fun(e,t,n,u)},SSe=function r(e,t,n){return r.fun(e,t,n)};XB(BSe,(function(r,e,t,n){gx(Bwe(t),jkr),Bx(Bwe(t),Xkr,Ukr);var u=n[1];if(u){lwe(t,Gkr);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Jkr)}else lwe(t,qkr);gx(Bwe(t),zkr),gx(Bwe(t),Wkr),Bx(Bwe(t),$kr,Vkr);var i=n[2];if(i){lwe(t,Ykr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Mkr)}),t,c),lwe(t,Hkr)}else lwe(t,Kkr);return gx(Bwe(t),Qkr),gx(Bwe(t),Zkr)})),XB(SSe,(function(r,e,t){var n=Bx(BSe,r,e);return Bx(Swe(Rkr),n,t)}));var xSe=[0,BSe,SSe],TSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ISe=function r(e,t,n){return r.fun(e,t,n)};XB(TSe,(function(r,e,t,n){gx(Bwe(t),Akr),Bx(Bwe(t),gkr,_kr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Bkr),gx(Bwe(t),Skr),Bx(Bwe(t),Tkr,xkr);var a=n[2];if(a){lwe(t,Ikr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,wkr)}),t,i),lwe(t,Nkr)}else lwe(t,Okr);return gx(Bwe(t),Lkr),gx(Bwe(t),Pkr)})),XB(ISe,(function(r,e,t){var n=Bx(TSe,r,e);return Bx(Swe(Ckr),n,t)}));var NSe=[0,TSe,ISe],OSe=function r(e,t,n,u){return r.fun(e,t,n,u)},LSe=function r(e,t,n){return r.fun(e,t,n)},PSe=function r(e,t,n,u){return r.fun(e,t,n,u)},RSe=function r(e,t,n){return r.fun(e,t,n)};XB(OSe,(function(r,e,t,n){gx(Bwe(t),kkr),Bx(r,t,n[1]),gx(Bwe(t),hkr);var u=n[2];return xx(PSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ykr)})),XB(LSe,(function(r,e,t){var n=Bx(OSe,r,e);return Bx(Swe(Ekr),n,t)})),XB(PSe,(function(r,e,t,n){gx(Bwe(t),KEr),Bx(Bwe(t),ZEr,QEr);var u=n[1];if(u){lwe(t,rkr);var a=u[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,ekr)}else lwe(t,tkr);gx(Bwe(t),nkr),gx(Bwe(t),ukr),Bx(Bwe(t),ikr,akr);var i=n[2];gx(Bwe(t),ckr),Bx(r,t,i[1]),gx(Bwe(t),fkr);var c=i[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),okr),gx(Bwe(t),skr),gx(Bwe(t),lkr),Bx(Bwe(t),Dkr,vkr);var f=n[3];if(f){lwe(t,pkr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,HEr)}),t,o),lwe(t,bkr)}else lwe(t,Fkr);return gx(Bwe(t),mkr),gx(Bwe(t),dkr)})),XB(RSe,(function(r,e,t){var n=Bx(PSe,r,e);return Bx(Swe(YEr),n,t)}));var MSe=[0,OSe,LSe,PSe,RSe],jSe=function r(e,t,n,u){return r.fun(e,t,n,u)},USe=function r(e,t,n){return r.fun(e,t,n)};XB(jSe,(function(r,e,t,n){gx(Bwe(t),mEr),Bx(Bwe(t),EEr,dEr);var u=n[1];gx(Bwe(t),kEr),Bx(r,t,u[1]),gx(Bwe(t),hEr);var a=u[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),yEr),gx(Bwe(t),CEr),gx(Bwe(t),wEr),Bx(Bwe(t),_Er,AEr);var i=n[2];if(i){lwe(t,gEr);var c=i[1];xx(MSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,BEr)}else lwe(t,SEr);gx(Bwe(t),xEr),gx(Bwe(t),TEr),Bx(Bwe(t),NEr,IEr);var f=n[3];if(f){var o=f[1];lwe(t,OEr),gx(Bwe(t),LEr),Bx(r,t,o[1]),gx(Bwe(t),PEr);var s=o[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),REr),lwe(t,MEr)}else lwe(t,jEr);gx(Bwe(t),UEr),gx(Bwe(t),XEr),Bx(Bwe(t),JEr,GEr);var l=n[4];if(l){lwe(t,qEr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,FEr)}),t,v),lwe(t,zEr)}else lwe(t,WEr);return gx(Bwe(t),VEr),gx(Bwe(t),$Er)})),XB(USe,(function(r,e,t){var n=Bx(jSe,r,e);return Bx(Swe(bEr),n,t)}));var XSe=[0,MSe,jSe,USe],GSe=function r(e,t,n,u){return r.fun(e,t,n,u)},JSe=function r(e,t,n){return r.fun(e,t,n)},qSe=function r(e,t,n,u){return r.fun(e,t,n,u)},zSe=function r(e,t,n){return r.fun(e,t,n)};XB(GSe,(function(r,e,t,n){gx(Bwe(t),vEr),Bx(r,t,n[1]),gx(Bwe(t),DEr);var u=n[2];return xx(qSe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pEr)})),XB(JSe,(function(r,e,t){var n=Bx(GSe,r,e);return Bx(Swe(lEr),n,t)})),XB(qSe,(function(r,e,t,n){gx(Bwe(t),Zdr),Bx(Bwe(t),eEr,rEr);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),tEr),gx(Bwe(t),nEr),Bx(Bwe(t),aEr,uEr);var a=n[2];if(a){lwe(t,iEr);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,cEr)}else lwe(t,fEr);return gx(Bwe(t),oEr),gx(Bwe(t),sEr)})),XB(zSe,(function(r,e,t){var n=Bx(qSe,r,e);return Bx(Swe(Qdr),n,t)}));var WSe=[0,GSe,JSe,qSe,zSe],VSe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Se=function r(e,t,n){return r.fun(e,t,n)},YSe=function r(e,t){return r.fun(e,t)},HSe=function r(e){return r.fun(e)};XB(VSe,(function(r,e,t,n){gx(Bwe(t),Odr),Bx(Bwe(t),Pdr,Ldr);var u=n[1];gx(Bwe(t),Rdr);Sye((function(n,u){return n&&gx(Bwe(t),Ndr),xx(WSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),Mdr),gx(Bwe(t),jdr),gx(Bwe(t),Udr),Bx(Bwe(t),Gdr,Xdr),Bx(YSe,t,n[2]),gx(Bwe(t),Jdr),gx(Bwe(t),qdr),Bx(Bwe(t),Wdr,zdr);var a=n[3];if(a){lwe(t,Vdr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Idr)}),t,i),lwe(t,$dr)}else lwe(t,Ydr);return gx(Bwe(t),Hdr),gx(Bwe(t),Kdr)})),XB($Se,(function(r,e,t){var n=Bx(VSe,r,e);return Bx(Swe(Tdr),n,t)})),XB(YSe,(function(r,e){switch(e){case 0:return lwe(r,Bdr);case 1:return lwe(r,Sdr);default:return lwe(r,xdr)}})),XB(HSe,(function(r){return Bx(Swe(gdr),YSe,r)}));var KSe=[0,WSe,VSe,$Se,YSe,HSe],QSe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZSe=function r(e,t,n){return r.fun(e,t,n)};XB(QSe,(function(r,e,t,n){gx(Bwe(t),ldr),Bx(Bwe(t),Ddr,vdr);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),pdr),gx(Bwe(t),bdr),Bx(Bwe(t),mdr,Fdr);var a=n[2];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ddr),gx(Bwe(t),Edr),Bx(Bwe(t),hdr,kdr);var i=n[3];if(i){lwe(t,ydr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sdr)}),t,c),lwe(t,Cdr)}else lwe(t,wdr);return gx(Bwe(t),Adr),gx(Bwe(t),_dr)})),XB(ZSe,(function(r,e,t){var n=Bx(QSe,r,e);return Bx(Swe(odr),n,t)}));var rxe=[0,QSe,ZSe],exe=function r(e,t,n,u){return r.fun(e,t,n,u)},txe=function r(e,t,n){return r.fun(e,t,n)};XB(exe,(function(r,e,t,n){gx(Bwe(t),Vmr),Bx(Bwe(t),Ymr,$mr);var u=n[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Hmr),gx(Bwe(t),Kmr),Bx(Bwe(t),Zmr,Qmr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rdr),gx(Bwe(t),edr),Bx(Bwe(t),ndr,tdr);var i=n[3];if(i){lwe(t,udr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Wmr)}),t,c),lwe(t,adr)}else lwe(t,idr);return gx(Bwe(t),cdr),gx(Bwe(t),fdr)})),XB(txe,(function(r,e,t){var n=Bx(exe,r,e);return Bx(Swe(zmr),n,t)}));var nxe=[0,exe,txe],uxe=function r(e,t,n,u){return r.fun(e,t,n,u)},axe=function r(e,t,n){return r.fun(e,t,n)},ixe=function r(e,t,n,u){return r.fun(e,t,n,u)},cxe=function r(e,t,n){return r.fun(e,t,n)};XB(uxe,(function(r,e,t,n){gx(Bwe(t),vmr),Bx(Bwe(t),pmr,Dmr);var u=n[1];if(u){lwe(t,bmr);var a=u[1];xx(ixe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,Fmr)}else lwe(t,mmr);gx(Bwe(t),dmr),gx(Bwe(t),Emr),Bx(Bwe(t),hmr,kmr);var i=n[2];if(i){lwe(t,ymr);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Cmr)}else lwe(t,wmr);gx(Bwe(t),Amr),gx(Bwe(t),_mr),Bx(Bwe(t),Bmr,gmr);var f=n[3];if(f){lwe(t,Smr);var o=f[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,xmr)}else lwe(t,Tmr);gx(Bwe(t),Imr),gx(Bwe(t),Nmr),Bx(Bwe(t),Lmr,Omr);var s=n[4];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Pmr),gx(Bwe(t),Rmr),Bx(Bwe(t),jmr,Mmr);var l=n[5];if(l){lwe(t,Umr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lmr)}),t,v),lwe(t,Xmr)}else lwe(t,Gmr);return gx(Bwe(t),Jmr),gx(Bwe(t),qmr)})),XB(axe,(function(r,e,t){var n=Bx(uxe,r,e);return Bx(Swe(smr),n,t)})),XB(ixe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),nmr),gx(Bwe(t),umr),Bx(r,t,u[1]),gx(Bwe(t),amr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),imr),gx(Bwe(t),cmr)}gx(Bwe(t),fmr);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),omr)})),XB(cxe,(function(r,e,t){var n=Bx(ixe,r,e);return Bx(Swe(tmr),n,t)}));var fxe=[0,uxe,axe,ixe,cxe],oxe=function r(e,t,n,u){return r.fun(e,t,n,u)},sxe=function r(e,t,n){return r.fun(e,t,n)},lxe=function r(e,t,n,u){return r.fun(e,t,n,u)},vxe=function r(e,t,n){return r.fun(e,t,n)};XB(oxe,(function(r,e,t,n){gx(Bwe(t),TFr),Bx(Bwe(t),NFr,IFr);var u=n[1];xx(lxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),OFr),gx(Bwe(t),LFr),Bx(Bwe(t),RFr,PFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),MFr),gx(Bwe(t),jFr),Bx(Bwe(t),XFr,UFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),GFr),gx(Bwe(t),JFr),Bx(Bwe(t),zFr,qFr);var c=n[4];Bx(Bwe(t),WFr,c),gx(Bwe(t),VFr),gx(Bwe(t),$Fr),Bx(Bwe(t),HFr,YFr);var f=n[5];if(f){lwe(t,KFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xFr)}),t,o),lwe(t,QFr)}else lwe(t,ZFr);return gx(Bwe(t),rmr),gx(Bwe(t),emr)})),XB(sxe,(function(r,e,t){var n=Bx(oxe,r,e);return Bx(Swe(SFr),n,t)})),XB(lxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),yFr),gx(Bwe(t),CFr),Bx(r,t,u[1]),gx(Bwe(t),wFr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),AFr),gx(Bwe(t),_Fr)}gx(Bwe(t),gFr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),BFr)})),XB(vxe,(function(r,e,t){var n=Bx(lxe,r,e);return Bx(Swe(hFr),n,t)}));var Dxe=[0,oxe,sxe,lxe,vxe],pxe=function r(e,t,n,u){return r.fun(e,t,n,u)},bxe=function r(e,t,n){return r.fun(e,t,n)},Fxe=function r(e,t,n,u){return r.fun(e,t,n,u)},mxe=function r(e,t,n){return r.fun(e,t,n)};XB(pxe,(function(r,e,t,n){gx(Bwe(t),Hbr),Bx(Bwe(t),Qbr,Kbr);var u=n[1];xx(Fxe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zbr),gx(Bwe(t),rFr),Bx(Bwe(t),tFr,eFr);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),nFr),gx(Bwe(t),uFr),Bx(Bwe(t),iFr,aFr);var i=n[3];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),cFr),gx(Bwe(t),fFr),Bx(Bwe(t),sFr,oFr);var c=n[4];Bx(Bwe(t),lFr,c),gx(Bwe(t),vFr),gx(Bwe(t),DFr),Bx(Bwe(t),bFr,pFr);var f=n[5];if(f){lwe(t,FFr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ybr)}),t,o),lwe(t,mFr)}else lwe(t,dFr);return gx(Bwe(t),EFr),gx(Bwe(t),kFr)})),XB(bxe,(function(r,e,t){var n=Bx(pxe,r,e);return Bx(Swe($br),n,t)})),XB(Fxe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),Xbr),gx(Bwe(t),Gbr),Bx(r,t,u[1]),gx(Bwe(t),Jbr);var a=u[2];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),qbr),gx(Bwe(t),zbr)}gx(Bwe(t),Wbr);var i=n[1];return xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Vbr)})),XB(mxe,(function(r,e,t){var n=Bx(Fxe,r,e);return Bx(Swe(Ubr),n,t)}));var dxe=[0,pxe,bxe,Fxe,mxe],Exe=function r(e,t,n){return r.fun(e,t,n)},kxe=function r(e,t){return r.fun(e,t)},hxe=function r(e,t,n){return r.fun(e,t,n)},yxe=function r(e,t){return r.fun(e,t)};XB(Exe,(function(r,e,t){gx(Bwe(e),Rbr),Bx(r,e,t[1]),gx(Bwe(e),Mbr);var n=t[2];return Sx(hxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),jbr)})),XB(kxe,(function(r,e){var t=gx(Exe,r);return Bx(Swe(Pbr),t,e)})),XB(hxe,(function(r,e,t){gx(Bwe(e),Tbr),Bx(Bwe(e),Nbr,Ibr);var n=t[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Obr),gx(Bwe(e),Lbr)})),XB(yxe,(function(r,e){var t=gx(hxe,r);return Bx(Swe(xbr),t,e)}));var Cxe=[0,Exe,kxe,hxe,yxe],wxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Axe=function r(e,t,n){return r.fun(e,t,n)},_xe=function r(e,t,n,u){return r.fun(e,t,n,u)},gxe=function r(e,t,n){return r.fun(e,t,n)};XB(wxe,(function(r,e,t,n){gx(Bwe(t),gbr),Bx(e,t,n[1]),gx(Bwe(t),Bbr);var u=n[2];return xx(_xe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Sbr)})),XB(Axe,(function(r,e,t){var n=Bx(wxe,r,e);return Bx(Swe(_br),n,t)})),XB(_xe,(function(r,e,t,n){gx(Bwe(t),pbr),Bx(Bwe(t),Fbr,bbr);var u=n[1];xx(RAe[1],(function(r){return gx(e,r)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mbr),gx(Bwe(t),dbr),Bx(Bwe(t),kbr,Ebr);var a=n[2];return gx(Bwe(t),hbr),Bx(e,t,a[1]),gx(Bwe(t),ybr),Bx(r,t,a[2]),gx(Bwe(t),Cbr),gx(Bwe(t),wbr),gx(Bwe(t),Abr)})),XB(gxe,(function(r,e,t){var n=Bx(_xe,r,e);return Bx(Swe(Dbr),n,t)}));var Bxe=[0,wxe,Axe,_xe,gxe],Sxe=function r(e,t,n){return r.fun(e,t,n)},xxe=function r(e,t){return r.fun(e,t)};XB(Sxe,(function(r,e,t){gx(Bwe(e),Jpr),Bx(Bwe(e),zpr,qpr);var n=t[1];gx(Bwe(e),Wpr);Sye((function(t,n){return t&&gx(Bwe(e),Gpr),xx(Bxe[1],(function(e){return Bx(JAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),Vpr),gx(Bwe(e),$pr),gx(Bwe(e),Ypr),Bx(Bwe(e),Kpr,Hpr);var u=t[2];Bx(Bwe(e),Qpr,u),gx(Bwe(e),Zpr),gx(Bwe(e),rbr),Bx(Bwe(e),tbr,ebr);var a=t[3];Bx(Bwe(e),nbr,a),gx(Bwe(e),ubr),gx(Bwe(e),abr),Bx(Bwe(e),cbr,ibr);var i=t[4];if(i){lwe(e,fbr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Xpr)}),e,c),lwe(e,obr)}else lwe(e,sbr);return gx(Bwe(e),lbr),gx(Bwe(e),vbr)})),XB(xxe,(function(r,e){var t=gx(Sxe,r);return Bx(Swe(Upr),t,e)}));var Txe=[0,Sxe,xxe],Ixe=function r(e,t,n){return r.fun(e,t,n)},Nxe=function r(e,t){return r.fun(e,t)};XB(Ixe,(function(r,e,t){gx(Bwe(e),Fpr),Bx(Bwe(e),dpr,mpr);var n=t[1];gx(Bwe(e),Epr);Sye((function(t,n){return t&&gx(Bwe(e),bpr),xx(Bxe[1],(function(e){return Bx(XAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),kpr),gx(Bwe(e),hpr),gx(Bwe(e),ypr),Bx(Bwe(e),wpr,Cpr);var u=t[2];Bx(Bwe(e),Apr,u),gx(Bwe(e),_pr),gx(Bwe(e),gpr),Bx(Bwe(e),Spr,Bpr);var a=t[3];Bx(Bwe(e),xpr,a),gx(Bwe(e),Tpr),gx(Bwe(e),Ipr),Bx(Bwe(e),Opr,Npr);var i=t[4];if(i){lwe(e,Lpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ppr)}),e,c),lwe(e,Ppr)}else lwe(e,Rpr);return gx(Bwe(e),Mpr),gx(Bwe(e),jpr)})),XB(Nxe,(function(r,e){var t=gx(Ixe,r);return Bx(Swe(Dpr),t,e)}));var Oxe=[0,Ixe,Nxe],Lxe=function r(e,t,n){return r.fun(e,t,n)},Pxe=function r(e,t){return r.fun(e,t)},Rxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Mxe=function r(e,t,n){return r.fun(e,t,n)};XB(Lxe,(function(r,e,t){gx(Bwe(e),zDr),Bx(Bwe(e),VDr,WDr);var n=t[1];xx(Rxe,(function(e){return Bx(UAe[1],(function(e){return gx(r,e)}),e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),$Dr),gx(Bwe(e),YDr),Bx(Bwe(e),KDr,HDr);var u=t[2];Bx(Bwe(e),QDr,u),gx(Bwe(e),ZDr),gx(Bwe(e),rpr),Bx(Bwe(e),tpr,epr);var a=t[3];Bx(Bwe(e),npr,a),gx(Bwe(e),upr),gx(Bwe(e),apr),Bx(Bwe(e),cpr,ipr);var i=t[4];if(i){lwe(e,fpr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,qDr)}),e,c),lwe(e,opr)}else lwe(e,spr);return gx(Bwe(e),lpr),gx(Bwe(e),vpr)})),XB(Pxe,(function(r,e){var t=gx(Lxe,r);return Bx(Swe(JDr),t,e)})),XB(Rxe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),LDr),gx(Bwe(t),PDr);return Sye((function(r,n){return r&&gx(Bwe(t),ODr),Sx(Cxe[1],(function(r){return gx(e,r)}),t,n),1}),0,n[1]),gx(Bwe(t),RDr),gx(Bwe(t),MDr)}gx(Bwe(t),jDr),gx(Bwe(t),UDr);return Sye((function(n,u){return n&&gx(Bwe(t),NDr),xx(Bxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),XDr),gx(Bwe(t),GDr)})),XB(Mxe,(function(r,e,t){var n=Bx(Rxe,r,e);return Bx(Swe(IDr),n,t)}));var jxe=[0,Lxe,Pxe,Rxe,Mxe],Uxe=function r(e,t,n){return r.fun(e,t,n)},Xxe=function r(e,t){return r.fun(e,t)};XB(Uxe,(function(r,e,t){gx(Bwe(e),DDr),Bx(Bwe(e),bDr,pDr);var n=t[1];gx(Bwe(e),FDr);Sye((function(t,n){return t&&gx(Bwe(e),vDr),Sx(Cxe[1],(function(e){return gx(r,e)}),e,n),1}),0,n),gx(Bwe(e),mDr),gx(Bwe(e),dDr),gx(Bwe(e),EDr),Bx(Bwe(e),hDr,kDr);var u=t[2];Bx(Bwe(e),yDr,u),gx(Bwe(e),CDr),gx(Bwe(e),wDr),Bx(Bwe(e),_Dr,ADr);var a=t[3];if(a){lwe(e,gDr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,lDr)}),e,i),lwe(e,BDr)}else lwe(e,SDr);return gx(Bwe(e),xDr),gx(Bwe(e),TDr)})),XB(Xxe,(function(r,e){var t=gx(Uxe,r);return Bx(Swe(sDr),t,e)}));var Gxe=[0,Uxe,Xxe],Jxe=function r(e,t,n,u){return r.fun(e,t,n,u)},qxe=function r(e,t,n){return r.fun(e,t,n)},zxe=function r(e,t,n){return r.fun(e,t,n)},Wxe=function r(e,t){return r.fun(e,t)},Vxe=function r(e,t,n){return r.fun(e,t,n)},$xe=function r(e,t){return r.fun(e,t)};XB(Jxe,(function(r,e,t,n){gx(Bwe(t),$vr),Bx(Bwe(t),Hvr,Yvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Kvr),gx(Bwe(t),Qvr),Bx(Bwe(t),rDr,Zvr);var a=n[2];Sx(zxe,(function(e){return gx(r,e)}),t,a),gx(Bwe(t),eDr),gx(Bwe(t),tDr),Bx(Bwe(t),uDr,nDr);var i=n[3];if(i){lwe(t,aDr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Vvr)}),t,c),lwe(t,iDr)}else lwe(t,cDr);return gx(Bwe(t),fDr),gx(Bwe(t),oDr)})),XB(qxe,(function(r,e,t){var n=Bx(Jxe,r,e);return Bx(Swe(Wvr),n,t)})),XB(zxe,(function(r,e,t){gx(Bwe(e),Jvr),Bx(r,e,t[1]),gx(Bwe(e),qvr);var n=t[2];return Sx(Vxe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),zvr)})),XB(Wxe,(function(r,e){var t=gx(zxe,r);return Bx(Swe(Gvr),t,e)})),XB(Vxe,(function(r,e,t){switch(t[0]){case 0:gx(Bwe(e),Ovr);var n=t[1];return Sx(Txe[1],(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Lvr);case 1:gx(Bwe(e),Pvr);var u=t[1];return Sx(Oxe[1],(function(e){return gx(r,e)}),e,u),gx(Bwe(e),Rvr);case 2:gx(Bwe(e),Mvr);var a=t[1];return Sx(jxe[1],(function(e){return gx(r,e)}),e,a),gx(Bwe(e),jvr);default:gx(Bwe(e),Uvr);var i=t[1];return Sx(Gxe[1],(function(e){return gx(r,e)}),e,i),gx(Bwe(e),Xvr)}})),XB($xe,(function(r,e){var t=gx(Vxe,r);return Bx(Swe(Nvr),t,e)}));var Yxe=[0,Cxe,Bxe,Txe,Oxe,jxe,Gxe,Jxe,qxe,zxe,Wxe,Vxe,$xe],Hxe=function r(e,t,n,u){return r.fun(e,t,n,u)},Kxe=function r(e,t,n){return r.fun(e,t,n)};XB(Hxe,(function(r,e,t,n){gx(Bwe(t),evr),Bx(Bwe(t),nvr,tvr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uvr),gx(Bwe(t),avr),Bx(Bwe(t),cvr,ivr);var a=n[2];if(a){lwe(t,fvr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,ovr)}else lwe(t,svr);gx(Bwe(t),lvr),gx(Bwe(t),vvr),Bx(Bwe(t),pvr,Dvr);var c=n[3];gx(Bwe(t),bvr);Sye((function(n,u){n&&gx(Bwe(t),Klr),gx(Bwe(t),Qlr),Bx(r,t,u[1]),gx(Bwe(t),Zlr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),rvr),1}),0,c),gx(Bwe(t),Fvr),gx(Bwe(t),mvr),gx(Bwe(t),dvr),Bx(Bwe(t),kvr,Evr);var f=n[4];gx(Bwe(t),hvr),Bx(r,t,f[1]),gx(Bwe(t),yvr);var o=f[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Cvr),gx(Bwe(t),wvr),gx(Bwe(t),Avr),Bx(Bwe(t),gvr,_vr);var s=n[5];if(s){lwe(t,Bvr);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Hlr)}),t,l),lwe(t,Svr)}else lwe(t,xvr);return gx(Bwe(t),Tvr),gx(Bwe(t),Ivr)})),XB(Kxe,(function(r,e,t){var n=Bx(Hxe,r,e);return Bx(Swe(Ylr),n,t)}));var Qxe=[0,Hxe,Kxe],Zxe=function r(e,t,n,u){return r.fun(e,t,n,u)},rTe=function r(e,t,n){return r.fun(e,t,n)};XB(Zxe,(function(r,e,t,n){gx(Bwe(t),rlr),Bx(Bwe(t),tlr,elr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nlr),gx(Bwe(t),ulr),Bx(Bwe(t),ilr,alr);var a=n[2];if(a){lwe(t,clr);var i=a[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,flr)}else lwe(t,olr);gx(Bwe(t),slr),gx(Bwe(t),llr),Bx(Bwe(t),Dlr,vlr);var c=n[3];gx(Bwe(t),plr),Bx(r,t,c[1]),gx(Bwe(t),blr);var f=c[2];xx(WAe[3][6],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),Flr),gx(Bwe(t),mlr),gx(Bwe(t),dlr),Bx(Bwe(t),klr,Elr);var o=n[4];if(o){var s=o[1];lwe(t,hlr),gx(Bwe(t),ylr),Bx(r,t,s[1]),gx(Bwe(t),Clr);var l=s[2];xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),wlr),lwe(t,Alr)}else lwe(t,_lr);gx(Bwe(t),glr),gx(Bwe(t),Blr),Bx(Bwe(t),xlr,Slr);var v=n[5];gx(Bwe(t),Tlr);Sye((function(n,u){n&&gx(Bwe(t),Hsr),gx(Bwe(t),Ksr),Bx(r,t,u[1]),gx(Bwe(t),Qsr);var a=u[2];return xx(WAe[2][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Zsr),1}),0,v),gx(Bwe(t),Ilr),gx(Bwe(t),Nlr),gx(Bwe(t),Olr),Bx(Bwe(t),Plr,Llr);var D=n[6];if(D){lwe(t,Rlr);var p=D[1];xx(QAe[5][2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,Mlr)}else lwe(t,jlr);gx(Bwe(t),Ulr),gx(Bwe(t),Xlr),Bx(Bwe(t),Jlr,Glr);var b=n[7];if(b){lwe(t,qlr);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Ysr)}),t,F),lwe(t,zlr)}else lwe(t,Wlr);return gx(Bwe(t),Vlr),gx(Bwe(t),$lr)})),XB(rTe,(function(r,e,t){var n=Bx(Zxe,r,e);return Bx(Swe($sr),n,t)}));var eTe=[0,Zxe,rTe],tTe=function r(e,t,n,u){return r.fun(e,t,n,u)},nTe=function r(e,t,n){return r.fun(e,t,n)};XB(tTe,(function(r,e,t,n){gx(Bwe(t),Isr),Bx(Bwe(t),Osr,Nsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Lsr),gx(Bwe(t),Psr),Bx(Bwe(t),Msr,Rsr);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jsr),gx(Bwe(t),Usr),Bx(Bwe(t),Gsr,Xsr);var i=n[3];if(i){lwe(t,Jsr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Tsr)}),t,c),lwe(t,qsr)}else lwe(t,zsr);return gx(Bwe(t),Wsr),gx(Bwe(t),Vsr)})),XB(nTe,(function(r,e,t){var n=Bx(tTe,r,e);return Bx(Swe(xsr),n,t)}));var uTe=[0,tTe,nTe],aTe=function r(e,t,n,u){return r.fun(e,t,n,u)},iTe=function r(e,t,n){return r.fun(e,t,n)};XB(aTe,(function(r,e,t,n){gx(Bwe(t),csr),Bx(Bwe(t),osr,fsr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ssr),gx(Bwe(t),lsr),Bx(Bwe(t),Dsr,vsr);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),psr),gx(Bwe(t),bsr),Bx(Bwe(t),msr,Fsr);var i=n[3];if(i){lwe(t,dsr);var c=i[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Esr)}else lwe(t,ksr);gx(Bwe(t),hsr),gx(Bwe(t),ysr),Bx(Bwe(t),wsr,Csr);var f=n[4];if(f){lwe(t,Asr);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,isr)}),t,o),lwe(t,_sr)}else lwe(t,gsr);return gx(Bwe(t),Bsr),gx(Bwe(t),Ssr)})),XB(iTe,(function(r,e,t){var n=Bx(aTe,r,e);return Bx(Swe(asr),n,t)}));var cTe=[0,aTe,iTe],fTe=function r(e,t,n,u){return r.fun(e,t,n,u)},oTe=function r(e,t,n){return r.fun(e,t,n)},sTe=function r(e,t,n){return r.fun(e,t,n)},lTe=function r(e,t){return r.fun(e,t)},vTe=function r(e,t,n,u){return r.fun(e,t,n,u)},DTe=function r(e,t,n){return r.fun(e,t,n)};XB(fTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Qor);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Zor)}var a=n[1];gx(Bwe(t),rsr),gx(Bwe(t),esr),Bx(e,t,a[1]),gx(Bwe(t),tsr);var i=a[2];return Sx(UAe[1],(function(e){return gx(r,e)}),t,i),gx(Bwe(t),nsr),gx(Bwe(t),usr)})),XB(oTe,(function(r,e,t){var n=Bx(fTe,r,e);return Bx(Swe(Kor),n,t)})),XB(sTe,(function(r,e,t){return 0===t[0]?(gx(Bwe(e),Vor),Bx(r,e,t[1]),gx(Bwe(e),$or)):(gx(Bwe(e),Yor),Bx(r,e,t[1]),gx(Bwe(e),Hor))})),XB(lTe,(function(r,e){var t=gx(sTe,r);return Bx(Swe(Wor),t,e)})),XB(vTe,(function(r,e,t,n){gx(Bwe(t),Cor),Bx(Bwe(t),Aor,wor);var u=n[1];xx(fTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_or),gx(Bwe(t),gor),Bx(Bwe(t),Sor,Bor);var a=n[2];gx(Bwe(t),xor),Bx(r,t,a[1]),gx(Bwe(t),Tor);var i=a[2];xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Ior),gx(Bwe(t),Nor),gx(Bwe(t),Oor),Bx(Bwe(t),Por,Lor);var c=n[3];Sx(sTe,(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Ror),gx(Bwe(t),Mor),Bx(Bwe(t),Uor,jor);var f=n[4];if(f){lwe(t,Xor);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,yor)}),t,o),lwe(t,Gor)}else lwe(t,Jor);return gx(Bwe(t),qor),gx(Bwe(t),zor)})),XB(DTe,(function(r,e,t){var n=Bx(vTe,r,e);return Bx(Swe(hor),n,t)}));var pTe=[0,fTe,oTe,sTe,lTe,vTe,DTe],bTe=function r(e,t,n,u){return r.fun(e,t,n,u)},FTe=function r(e,t,n){return r.fun(e,t,n)};XB(bTe,(function(r,e,t,n){gx(Bwe(t),oor),Bx(Bwe(t),lor,sor);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vor),gx(Bwe(t),Dor),Bx(Bwe(t),bor,por);var a=n[2];if(a){lwe(t,For);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cor)}),t,i),lwe(t,mor)}else lwe(t,dor);return gx(Bwe(t),Eor),gx(Bwe(t),kor)})),XB(FTe,(function(r,e,t){var n=Bx(bTe,r,e);return Bx(Swe(ior),n,t)}));var mTe=[0,bTe,FTe],dTe=function r(e,t,n){return r.fun(e,t,n)},ETe=function r(e,t){return r.fun(e,t)},kTe=function r(e,t,n){return r.fun(e,t,n)},hTe=function r(e,t){return r.fun(e,t)};XB(dTe,(function(r,e,t){gx(Bwe(e),nor),Bx(r,e,t[1]),gx(Bwe(e),uor);var n=t[2];return Sx(kTe,(function(e){return gx(r,e)}),e,n),gx(Bwe(e),aor)})),XB(ETe,(function(r,e){var t=gx(dTe,r);return Bx(Swe(tor),t,e)})),XB(kTe,(function(r,e,t){gx(Bwe(e),qfr),Bx(Bwe(e),Wfr,zfr);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),Vfr),gx(Bwe(e),$fr),Bx(Bwe(e),Hfr,Yfr);var u=t[2];if(u){lwe(e,Kfr);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,a),lwe(e,Qfr)}else lwe(e,Zfr);return gx(Bwe(e),ror),gx(Bwe(e),eor)})),XB(hTe,(function(r,e){var t=gx(kTe,r);return Bx(Swe(Jfr),t,e)}));var yTe=[0,dTe,ETe,kTe,hTe],CTe=function r(e,t,n,u){return r.fun(e,t,n,u)},wTe=function r(e,t,n){return r.fun(e,t,n)},ATe=function r(e,t,n){return r.fun(e,t,n)},_Te=function r(e,t){return r.fun(e,t)};XB(CTe,(function(r,e,t,n){gx(Bwe(t),cfr),Bx(Bwe(t),ofr,ffr);var u=n[1];if(u){lwe(t,sfr);var a=u[1];xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,lfr)}else lwe(t,vfr);gx(Bwe(t),Dfr),gx(Bwe(t),pfr),Bx(Bwe(t),Ffr,bfr);var i=n[2];if(i){lwe(t,mfr);var c=i[1];Sx(ATe,(function(e){return gx(r,e)}),t,c),lwe(t,dfr)}else lwe(t,Efr);gx(Bwe(t),kfr),gx(Bwe(t),hfr),Bx(Bwe(t),Cfr,yfr);var f=n[3];if(f){var o=f[1];lwe(t,wfr),gx(Bwe(t),Afr),Bx(r,t,o[1]),gx(Bwe(t),_fr);var s=o[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,s),gx(Bwe(t),gfr),lwe(t,Bfr)}else lwe(t,Sfr);gx(Bwe(t),xfr),gx(Bwe(t),Tfr),Bx(Bwe(t),Nfr,Ifr),Bx(VAe[33],t,n[4]),gx(Bwe(t),Ofr),gx(Bwe(t),Lfr),Bx(Bwe(t),Rfr,Pfr);var l=n[5];if(l){lwe(t,Mfr);var v=l[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ifr)}),t,v),lwe(t,jfr)}else lwe(t,Ufr);return gx(Bwe(t),Xfr),gx(Bwe(t),Gfr)})),XB(wTe,(function(r,e,t){var n=Bx(CTe,r,e);return Bx(Swe(afr),n,t)})),XB(ATe,(function(r,e,t){if(0===t[0]){gx(Bwe(e),Ycr),gx(Bwe(e),Hcr);return Sye((function(t,n){return t&&gx(Bwe(e),$cr),Sx(yTe[1],(function(e){return gx(r,e)}),e,n),1}),0,t[1]),gx(Bwe(e),Kcr),gx(Bwe(e),Qcr)}var n=t[2];if(gx(Bwe(e),Zcr),Bx(r,e,t[1]),gx(Bwe(e),rfr),n){lwe(e,efr);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),lwe(e,tfr)}else lwe(e,nfr);return gx(Bwe(e),ufr)})),XB(_Te,(function(r,e){var t=gx(ATe,r);return Bx(Swe(Vcr),t,e)}));var gTe=[0,yTe,CTe,wTe,ATe,_Te],BTe=function r(e,t,n,u){return r.fun(e,t,n,u)},STe=function r(e,t,n){return r.fun(e,t,n)},xTe=function r(e,t,n,u){return r.fun(e,t,n,u)},TTe=function r(e,t,n){return r.fun(e,t,n)};XB(BTe,(function(r,e,t,n){gx(Bwe(t),Tcr),Bx(Bwe(t),Ncr,Icr),Bx(r,t,n[1]),gx(Bwe(t),Ocr),gx(Bwe(t),Lcr),Bx(Bwe(t),Rcr,Pcr);var u=n[2];xx(xTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Mcr),gx(Bwe(t),jcr),Bx(Bwe(t),Xcr,Ucr);var a=n[3];if(a){lwe(t,Gcr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xcr)}),t,i),lwe(t,Jcr)}else lwe(t,qcr);return gx(Bwe(t),zcr),gx(Bwe(t),Wcr)})),XB(STe,(function(r,e,t){var n=Bx(BTe,r,e);return Bx(Swe(Scr),n,t)})),XB(xTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),Acr);var u=n[1];return xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_cr)}gx(Bwe(t),gcr);var a=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Bcr)})),XB(TTe,(function(r,e,t){var n=Bx(xTe,r,e);return Bx(Swe(wcr),n,t)}));var ITe=[0,BTe,STe,xTe,TTe],NTe=function r(e,t,n,u){return r.fun(e,t,n,u)},OTe=function r(e,t,n){return r.fun(e,t,n)},LTe=function r(e,t,n,u){return r.fun(e,t,n,u)},PTe=function r(e,t,n){return r.fun(e,t,n)};XB(NTe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),Wir),gx(Bwe(t),Vir),Bx(r,t,u[1]),gx(Bwe(t),$ir);var a=u[2];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Yir),gx(Bwe(t),Hir);case 1:var i=n[1];gx(Bwe(t),Kir),gx(Bwe(t),Qir),Bx(r,t,i[1]),gx(Bwe(t),Zir);var c=i[2];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),rcr),gx(Bwe(t),ecr);case 2:var f=n[1];gx(Bwe(t),tcr),gx(Bwe(t),ncr),Bx(r,t,f[1]),gx(Bwe(t),ucr);var o=f[2];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),acr),gx(Bwe(t),icr);case 3:gx(Bwe(t),ccr);var s=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),fcr);case 4:var l=n[1];gx(Bwe(t),ocr),gx(Bwe(t),scr),Bx(r,t,l[1]),gx(Bwe(t),lcr);var v=l[2];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),vcr),gx(Bwe(t),Dcr);case 5:var D=n[1];gx(Bwe(t),pcr),gx(Bwe(t),bcr),Bx(r,t,D[1]),gx(Bwe(t),Fcr);var p=D[2];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),mcr),gx(Bwe(t),dcr);default:var b=n[1];gx(Bwe(t),Ecr),gx(Bwe(t),kcr),Bx(r,t,b[1]),gx(Bwe(t),hcr);var F=b[2];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),ycr),gx(Bwe(t),Ccr)}})),XB(OTe,(function(r,e,t){var n=Bx(NTe,r,e);return Bx(Swe(zir),n,t)})),XB(LTe,(function(r,e,t,n){gx(Bwe(t),iir),Bx(Bwe(t),fir,cir);var u=n[1];u?(lwe(t,oir),Bx(r,t,u[1]),lwe(t,sir)):lwe(t,lir),gx(Bwe(t),vir),gx(Bwe(t),Dir),Bx(Bwe(t),bir,pir);var a=n[2];if(a){lwe(t,Fir);var i=a[1];xx(NTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,mir)}else lwe(t,dir);gx(Bwe(t),Eir),gx(Bwe(t),kir),Bx(Bwe(t),yir,hir);var c=n[3];if(c){lwe(t,Cir);var f=c[1];Sx(gTe[4],(function(e){return gx(r,e)}),t,f),lwe(t,wir)}else lwe(t,Air);gx(Bwe(t),_ir),gx(Bwe(t),gir),Bx(Bwe(t),Sir,Bir);var o=n[4];if(o){var s=o[1];lwe(t,xir),gx(Bwe(t),Tir),Bx(r,t,s[1]),gx(Bwe(t),Iir);var l=s[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,l),gx(Bwe(t),Nir),lwe(t,Oir)}else lwe(t,Lir);gx(Bwe(t),Pir),gx(Bwe(t),Rir),Bx(Bwe(t),jir,Mir);var v=n[5];if(v){lwe(t,Uir);var D=v[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,air)}),t,D),lwe(t,Xir)}else lwe(t,Gir);return gx(Bwe(t),Jir),gx(Bwe(t),qir)})),XB(PTe,(function(r,e,t){var n=Bx(LTe,r,e);return Bx(Swe(uir),n,t)}));var RTe=[0,NTe,OTe,LTe,PTe],MTe=function r(e,t){return r.fun(e,t)},jTe=function r(e){return r.fun(e)},UTe=function r(e,t,n,u){return r.fun(e,t,n,u)},XTe=function r(e,t,n){return r.fun(e,t,n)},GTe=function r(e,t,n,u){return r.fun(e,t,n,u)},JTe=function r(e,t,n){return r.fun(e,t,n)},qTe=function r(e,t,n,u){return r.fun(e,t,n,u)},zTe=function r(e,t,n){return r.fun(e,t,n)};XB(MTe,(function(r,e){switch(e){case 0:return lwe(r,eir);case 1:return lwe(r,tir);default:return lwe(r,nir)}})),XB(jTe,(function(r){return Bx(Swe(rir),MTe,r)})),XB(UTe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),zar),gx(Bwe(t),War);return Sye((function(n,u){return n&&gx(Bwe(t),qar),xx(GTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,n[1]),gx(Bwe(t),Var),gx(Bwe(t),$ar)}var u=n[1];gx(Bwe(t),Yar),gx(Bwe(t),Har),Bx(r,t,u[1]),gx(Bwe(t),Kar);var a=u[2];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Qar),gx(Bwe(t),Zar)})),XB(XTe,(function(r,e,t){var n=Bx(UTe,r,e);return Bx(Swe(Jar),n,t)})),XB(GTe,(function(r,e,t,n){gx(Bwe(t),war),Bx(Bwe(t),_ar,Aar);var u=n[1];u?(lwe(t,gar),Bx(MTe,t,u[1]),lwe(t,Bar)):lwe(t,Sar),gx(Bwe(t),xar),gx(Bwe(t),Tar),Bx(Bwe(t),Nar,Iar);var a=n[2];if(a){lwe(t,Oar);var i=a[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,Lar)}else lwe(t,Par);gx(Bwe(t),Rar),gx(Bwe(t),Mar),Bx(Bwe(t),Uar,jar);var c=n[3];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),Xar),gx(Bwe(t),Gar)})),XB(JTe,(function(r,e,t){var n=Bx(GTe,r,e);return Bx(Swe(Car),n,t)})),XB(qTe,(function(r,e,t,n){gx(Bwe(t),Jur),Bx(Bwe(t),zur,qur),Bx(MTe,t,n[1]),gx(Bwe(t),Wur),gx(Bwe(t),Vur),Bx(Bwe(t),Yur,$ur);var u=n[2];gx(Bwe(t),Hur),Bx(r,t,u[1]),gx(Bwe(t),Kur);var a=u[2];Sx(UAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),Qur),gx(Bwe(t),Zur),gx(Bwe(t),rar),Bx(Bwe(t),tar,ear);var i=n[3];if(i){lwe(t,nar);var c=i[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,uar)}else lwe(t,aar);gx(Bwe(t),iar),gx(Bwe(t),car),Bx(Bwe(t),oar,far);var f=n[4];if(f){lwe(t,sar);var o=f[1];xx(UTe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),lwe(t,lar)}else lwe(t,Dar);gx(Bwe(t),par),gx(Bwe(t),bar),Bx(Bwe(t),mar,Far);var s=n[5];if(s){lwe(t,dar);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,Gur)}),t,l),lwe(t,Ear)}else lwe(t,kar);return gx(Bwe(t),har),gx(Bwe(t),yar)})),XB(zTe,(function(r,e,t){var n=Bx(qTe,r,e);return Bx(Swe(Xur),n,t)}));var WTe=[0,MTe,jTe,UTe,XTe,GTe,JTe,qTe,zTe],VTe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Te=function r(e,t,n){return r.fun(e,t,n)};XB(VTe,(function(r,e,t,n){gx(Bwe(t),hur),Bx(Bwe(t),Cur,yur);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wur),gx(Bwe(t),Aur),Bx(Bwe(t),gur,_ur);var a=n[2];if(a){lwe(t,Bur);var i=a[1];Bx(Bwe(t),Sur,i),lwe(t,xur)}else lwe(t,Tur);gx(Bwe(t),Iur),gx(Bwe(t),Nur),Bx(Bwe(t),Lur,Our);var c=n[3];if(c){lwe(t,Pur);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kur)}),t,f),lwe(t,Rur)}else lwe(t,Mur);return gx(Bwe(t),jur),gx(Bwe(t),Uur)})),XB($Te,(function(r,e,t){var n=Bx(VTe,r,e);return Bx(Swe(Eur),n,t)}));var YTe=[0,VTe,$Te],HTe=function r(e,t,n){return r.fun(e,t,n)},KTe=function r(e,t){return r.fun(e,t)};XB(HTe,(function(r,e,t){gx(Bwe(e),lur),Bx(Bwe(e),Dur,vur);var n=t[1];if(n){lwe(e,pur);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,sur)}),e,u),lwe(e,bur)}else lwe(e,Fur);return gx(Bwe(e),mur),gx(Bwe(e),dur)})),XB(KTe,(function(r,e){var t=gx(HTe,r);return Bx(Swe(our),t,e)}));var QTe=[0,HTe,KTe],ZTe=function r(e,t){return r.fun(e,t)},rIe=function r(e){return r.fun(e)},eIe=function r(e,t,n,u){return r.fun(e,t,n,u)},tIe=function r(e,t,n){return r.fun(e,t,n)},nIe=function r(e,t,n,u){return r.fun(e,t,n,u)},uIe=function r(e,t,n){return r.fun(e,t,n)};XB(ZTe,(function(r,e){return lwe(r,0===e?fur:cur)})),XB(rIe,(function(r){return Bx(Swe(iur),ZTe,r)})),XB(eIe,(function(r,e,t,n){gx(Bwe(t),nur),Bx(r,t,n[1]),gx(Bwe(t),uur);var u=n[2];return xx(nIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aur)})),XB(tIe,(function(r,e,t){var n=Bx(eIe,r,e);return Bx(Swe(tur),n,t)})),XB(nIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Ptr);var u=n[1];return xx(qBe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rtr);case 1:gx(Bwe(t),Mtr);var a=n[1];return Sx(uSe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),jtr);case 2:gx(Bwe(t),Utr);var i=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Xtr);case 3:gx(Bwe(t),Gtr);var c=n[1];return Sx(cSe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),Jtr);case 4:gx(Bwe(t),qtr);var f=n[1];return Sx(sSe[1],(function(e){return gx(r,e)}),t,f),gx(Bwe(t),ztr);case 5:gx(Bwe(t),Wtr);var o=n[1];return xx(eTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),Vtr);case 6:gx(Bwe(t),$tr);var s=n[1];return xx(RTe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),Ytr);case 7:gx(Bwe(t),Htr);var l=n[1];return xx(cTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),Ktr);case 8:gx(Bwe(t),Qtr);var v=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),Ztr);case 9:gx(Bwe(t),rnr);var D=n[1];return xx(pTe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),enr);case 10:gx(Bwe(t),tnr);var p=n[1];return xx(mTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),nnr);case 11:gx(Bwe(t),unr);var b=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),anr);case 12:gx(Bwe(t),inr);var F=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),cnr);case 13:gx(Bwe(t),fnr);var m=n[1];return xx(uTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),onr);case 14:gx(Bwe(t),snr);var d=n[1];return xx(nxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),lnr);case 15:gx(Bwe(t),vnr);var E=n[1];return Sx(QTe[1],(function(e){return gx(r,e)}),t,E),gx(Bwe(t),Dnr);case 16:gx(Bwe(t),pnr);var k=n[1];return xx(Yxe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),bnr);case 17:gx(Bwe(t),Fnr);var h=n[1];return xx(ITe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,h),gx(Bwe(t),mnr);case 18:gx(Bwe(t),dnr);var y=n[1];return xx(gTe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),Enr);case 19:gx(Bwe(t),knr);var C=n[1];return xx(YTe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),hnr);case 20:gx(Bwe(t),ynr);var w=n[1];return xx(fxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),Cnr);case 21:gx(Bwe(t),wnr);var A=n[1];return xx(Dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),Anr);case 22:gx(Bwe(t),_nr);var _=n[1];return xx(dxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),gnr);case 23:gx(Bwe(t),Bnr);var g=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,g),gx(Bwe(t),Snr);case 24:gx(Bwe(t),xnr);var B=n[1];return xx(QBe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),Tnr);case 25:gx(Bwe(t),Inr);var S=n[1];return xx(WTe[7],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),Nnr);case 26:gx(Bwe(t),Onr);var x=n[1];return xx(Qxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,x),gx(Bwe(t),Lnr);case 27:gx(Bwe(t),Pnr);var T=n[1];return xx(eSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),Rnr);case 28:gx(Bwe(t),Mnr);var I=n[1];return xx(xSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),jnr);case 29:gx(Bwe(t),Unr);var N=n[1];return xx(gSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),Xnr);case 30:gx(Bwe(t),Gnr);var O=n[1];return xx(NSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),Jnr);case 31:gx(Bwe(t),qnr);var L=n[1];return xx(XSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,L),gx(Bwe(t),znr);case 32:gx(Bwe(t),Wnr);var P=n[1];return xx(FSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,P),gx(Bwe(t),Vnr);case 33:gx(Bwe(t),$nr);var R=n[1];return xx(ESe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,R),gx(Bwe(t),Ynr);case 34:gx(Bwe(t),Hnr);var M=n[1];return xx(KSe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,M),gx(Bwe(t),Knr);case 35:gx(Bwe(t),Qnr);var j=n[1];return xx(rxe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,j),gx(Bwe(t),Znr);default:gx(Bwe(t),rur);var U=n[1];return xx(DSe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,U),gx(Bwe(t),eur)}})),XB(uIe,(function(r,e,t){var n=Bx(nIe,r,e);return Bx(Swe(Ltr),n,t)})),Sx(eAe,KJr,VAe,[0,qBe,QBe,eSe,uSe,cSe,sSe,DSe,FSe,ESe,gSe,xSe,NSe,XSe,KSe,rxe,nxe,fxe,Dxe,dxe,Yxe,Qxe,eTe,uTe,cTe,pTe,mTe,gTe,ITe,RTe,WTe,YTe,QTe,ZTe,rIe,eIe,tIe,nIe,uIe]);var aIe=function r(e,t,n,u){return r.fun(e,t,n,u)},iIe=function r(e,t,n){return r.fun(e,t,n)},cIe=function r(e,t,n){return r.fun(e,t,n)},fIe=function r(e,t){return r.fun(e,t)};XB(aIe,(function(r,e,t,n){gx(Bwe(t),Itr),Bx(e,t,n[1]),gx(Bwe(t),Ntr);var u=n[2];return Sx(cIe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),Otr)})),XB(iIe,(function(r,e,t){var n=Bx(aIe,r,e);return Bx(Swe(Ttr),n,t)})),XB(cIe,(function(r,e,t){gx(Bwe(e),Ctr),Bx(Bwe(e),Atr,wtr);var n=t[1];if(n){lwe(e,_tr);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ytr)}),e,u),lwe(e,gtr)}else lwe(e,Btr);return gx(Bwe(e),Str),gx(Bwe(e),xtr)})),XB(fIe,(function(r,e){var t=gx(cIe,r);return Bx(Swe(htr),t,e)}));var oIe=[0,aIe,iIe,cIe,fIe],sIe=function r(e,t,n,u){return r.fun(e,t,n,u)},lIe=function r(e,t,n){return r.fun(e,t,n)};XB(sIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),mtr);var u=n[1];return xx(WAe[11],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dtr)}gx(Bwe(t),Etr);var a=n[1];return xx(oIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),ktr)})),XB(lIe,(function(r,e,t){var n=Bx(sIe,r,e);return Bx(Swe(Ftr),n,t)}));var vIe=[0,oIe,sIe,lIe],DIe=function r(e,t,n,u){return r.fun(e,t,n,u)},pIe=function r(e,t,n){return r.fun(e,t,n)},bIe=function r(e,t,n,u){return r.fun(e,t,n,u)},FIe=function r(e,t,n){return r.fun(e,t,n)};XB(DIe,(function(r,e,t,n){gx(Bwe(t),Dtr),Bx(r,t,n[1]),gx(Bwe(t),ptr);var u=n[2];return xx(bIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),btr)})),XB(pIe,(function(r,e,t){var n=Bx(DIe,r,e);return Bx(Swe(vtr),n,t)})),XB(bIe,(function(r,e,t,n){gx(Bwe(t),Qer),Bx(Bwe(t),rtr,Zer);var u=n[1];gx(Bwe(t),etr);Sye((function(n,u){return n&&gx(Bwe(t),Ker),xx(vIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ttr),gx(Bwe(t),ntr),gx(Bwe(t),utr),Bx(Bwe(t),itr,atr);var a=n[2];if(a){lwe(t,ctr);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),Yer);return Sye((function(t,n){return t&&gx(Bwe(e),$er),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),Her)}),t,i),lwe(t,ftr)}else lwe(t,otr);return gx(Bwe(t),str),gx(Bwe(t),ltr)})),XB(FIe,(function(r,e,t){var n=Bx(bIe,r,e);return Bx(Swe(Ver),n,t)}));var mIe=function r(e,t,n,u){return r.fun(e,t,n,u)},dIe=function r(e,t,n){return r.fun(e,t,n)},EIe=function r(e,t,n,u){return r.fun(e,t,n,u)},kIe=function r(e,t,n){return r.fun(e,t,n)},hIe=[0,DIe,pIe,bIe,FIe];XB(mIe,(function(r,e,t,n){gx(Bwe(t),qer),Bx(r,t,n[1]),gx(Bwe(t),zer);var u=n[2];return xx(EIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Wer)})),XB(dIe,(function(r,e,t){var n=Bx(mIe,r,e);return Bx(Swe(Jer),n,t)})),XB(EIe,(function(r,e,t,n){gx(Bwe(t),Ter),Bx(Bwe(t),Ner,Ier);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oer),gx(Bwe(t),Ler),Bx(Bwe(t),Rer,Per);var a=n[2];if(a){lwe(t,Mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,xer)}),t,i),lwe(t,jer)}else lwe(t,Uer);return gx(Bwe(t),Xer),gx(Bwe(t),Ger)})),XB(kIe,(function(r,e,t){var n=Bx(EIe,r,e);return Bx(Swe(Ser),n,t)}));var yIe=[0,mIe,dIe,EIe,kIe],CIe=function r(e,t,n,u){return r.fun(e,t,n,u)},wIe=function r(e,t,n){return r.fun(e,t,n)};XB(CIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Cer);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wer);case 1:gx(Bwe(t),Aer);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),_er);default:return gx(Bwe(t),ger),Bx(r,t,n[1]),gx(Bwe(t),Ber)}})),XB(wIe,(function(r,e,t){var n=Bx(CIe,r,e);return Bx(Swe(yer),n,t)}));var AIe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Ie=function r(e,t,n){return r.fun(e,t,n)};XB(AIe,(function(r,e,t,n){gx(Bwe(t),fer),Bx(Bwe(t),ser,oer);var u=n[1];gx(Bwe(t),ler);Sye((function(n,u){return n&&gx(Bwe(t),cer),xx(CIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),ver),gx(Bwe(t),Der),gx(Bwe(t),per),Bx(Bwe(t),Fer,ber);var a=n[2];if(a){lwe(t,mer);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),aer);return Sye((function(t,n){return t&&gx(Bwe(e),uer),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),ier)}),t,i),lwe(t,der)}else lwe(t,Eer);return gx(Bwe(t),ker),gx(Bwe(t),her)})),XB(_Ie,(function(r,e,t){var n=Bx(AIe,r,e);return Bx(Swe(ner),n,t)}));var gIe=[0,CIe,wIe,AIe,_Ie],BIe=function r(e,t){return r.fun(e,t)},SIe=function r(e){return r.fun(e)},xIe=function r(e,t,n){return r.fun(e,t,n)},TIe=function r(e,t){return r.fun(e,t)},IIe=function r(e,t){return r.fun(e,t)},NIe=function r(e){return r.fun(e)};XB(BIe,(function(r,e){gx(Bwe(r),Wrr),Bx(Bwe(r),$rr,Vrr);var t=e[1];Bx(Bwe(r),Yrr,t),gx(Bwe(r),Hrr),gx(Bwe(r),Krr),Bx(Bwe(r),Zrr,Qrr);var n=e[2];return Bx(Bwe(r),rer,n),gx(Bwe(r),eer),gx(Bwe(r),ter)})),XB(SIe,(function(r){return Bx(Swe(zrr),BIe,r)})),XB(xIe,(function(r,e,t){return gx(Bwe(e),Grr),Bx(r,e,t[1]),gx(Bwe(e),Jrr),Bx(IIe,e,t[2]),gx(Bwe(e),qrr)})),XB(TIe,(function(r,e){var t=gx(xIe,r);return Bx(Swe(Xrr),t,e)})),XB(IIe,(function(r,e){gx(Bwe(r),Trr),Bx(Bwe(r),Nrr,Irr),Bx(BIe,r,e[1]),gx(Bwe(r),Orr),gx(Bwe(r),Lrr),Bx(Bwe(r),Rrr,Prr);var t=e[2];return Bx(Bwe(r),Mrr,t),gx(Bwe(r),jrr),gx(Bwe(r),Urr)})),XB(NIe,(function(r){return Bx(Swe(xrr),IIe,r)}));var OIe=[0,BIe,SIe,xIe,TIe,IIe,NIe],LIe=function r(e,t,n,u){return r.fun(e,t,n,u)},PIe=function r(e,t,n){return r.fun(e,t,n)};XB(LIe,(function(r,e,t,n){gx(Bwe(t),srr),Bx(Bwe(t),vrr,lrr);var u=n[1];gx(Bwe(t),Drr);Sye((function(e,n){return e&&gx(Bwe(t),orr),Sx(OIe[3],(function(e){return gx(r,e)}),t,n),1}),0,u),gx(Bwe(t),prr),gx(Bwe(t),brr),gx(Bwe(t),Frr),Bx(Bwe(t),drr,mrr);var a=n[2];gx(Bwe(t),Err);Sye((function(n,u){return n&&gx(Bwe(t),frr),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,a),gx(Bwe(t),krr),gx(Bwe(t),hrr),gx(Bwe(t),yrr),Bx(Bwe(t),wrr,Crr);var i=n[3];if(i){lwe(t,Arr);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,crr)}),t,c),lwe(t,_rr)}else lwe(t,grr);return gx(Bwe(t),Brr),gx(Bwe(t),Srr)})),XB(PIe,(function(r,e,t){var n=Bx(LIe,r,e);return Bx(Swe(irr),n,t)}));var RIe=[0,OIe,LIe,PIe],MIe=function r(e,t,n,u){return r.fun(e,t,n,u)},jIe=function r(e,t,n){return r.fun(e,t,n)};XB(MIe,(function(r,e,t,n){gx(Bwe(t),X9),Bx(Bwe(t),J9,G9);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),q9),gx(Bwe(t),z9),Bx(Bwe(t),V9,W9);var a=n[2];gx(Bwe(t),$9),Bx(r,t,a[1]),gx(Bwe(t),Y9);var i=a[2];xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H9),gx(Bwe(t),K9),gx(Bwe(t),Q9),Bx(Bwe(t),rrr,Z9);var c=n[3];if(c){lwe(t,err);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,U9)}),t,f),lwe(t,trr)}else lwe(t,nrr);return gx(Bwe(t),urr),gx(Bwe(t),arr)})),XB(jIe,(function(r,e,t){var n=Bx(MIe,r,e);return Bx(Swe(j9),n,t)}));var UIe=[0,MIe,jIe],XIe=function r(e,t,n,u){return r.fun(e,t,n,u)},GIe=function r(e,t,n){return r.fun(e,t,n)},JIe=function r(e,t,n,u){return r.fun(e,t,n,u)},qIe=function r(e,t,n){return r.fun(e,t,n)},zIe=function r(e,t,n,u){return r.fun(e,t,n,u)},WIe=function r(e,t,n){return r.fun(e,t,n)};XB(XIe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),B9),gx(Bwe(t),S9),Bx(e,t,u[1]),gx(Bwe(t),x9);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),T9),gx(Bwe(t),I9);case 1:gx(Bwe(t),N9);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),O9);case 2:gx(Bwe(t),L9);var c=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,c),gx(Bwe(t),P9);default:gx(Bwe(t),R9);var f=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),M9)}})),XB(GIe,(function(r,e,t){var n=Bx(XIe,r,e);return Bx(Swe(g9),n,t)})),XB(JIe,(function(r,e,t,n){gx(Bwe(t),w9),Bx(r,t,n[1]),gx(Bwe(t),A9);var u=n[2];return xx(zIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_9)})),XB(qIe,(function(r,e,t){var n=Bx(JIe,r,e);return Bx(Swe(C9),n,t)})),XB(zIe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),D5),Bx(Bwe(t),b5,p5);var u=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),F5),gx(Bwe(t),m5),Bx(Bwe(t),E5,d5);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),k5),gx(Bwe(t),h5),Bx(Bwe(t),C5,y5);var i=n[3];return Bx(Bwe(t),w5,i),gx(Bwe(t),A5),gx(Bwe(t),_5);case 1:var c=n[2];gx(Bwe(t),g5),Bx(Bwe(t),S5,B5);var f=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),x5),gx(Bwe(t),T5),Bx(Bwe(t),N5,I5),gx(Bwe(t),O5),Bx(r,t,c[1]),gx(Bwe(t),L5);var o=c[2];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),P5),gx(Bwe(t),R5),gx(Bwe(t),M5);case 2:var s=n[3],l=n[2];gx(Bwe(t),j5),Bx(Bwe(t),X5,U5);var v=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),G5),gx(Bwe(t),J5),Bx(Bwe(t),z5,q5),gx(Bwe(t),W5),Bx(r,t,l[1]),gx(Bwe(t),V5);var D=l[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),$5),gx(Bwe(t),Y5),gx(Bwe(t),H5),Bx(Bwe(t),Q5,K5),s){lwe(t,Z5);var p=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,v5)}),t,p),lwe(t,r9)}else lwe(t,e9);return gx(Bwe(t),t9),gx(Bwe(t),n9);default:var b=n[3],F=n[2];gx(Bwe(t),u9),Bx(Bwe(t),i9,a9);var m=n[1];xx(XIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),c9),gx(Bwe(t),f9),Bx(Bwe(t),s9,o9),gx(Bwe(t),l9),Bx(r,t,F[1]),gx(Bwe(t),v9);var d=F[2];if(xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,d),gx(Bwe(t),D9),gx(Bwe(t),p9),gx(Bwe(t),b9),Bx(Bwe(t),m9,F9),b){lwe(t,d9);var E=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l5)}),t,E),lwe(t,E9)}else lwe(t,k9);return gx(Bwe(t),h9),gx(Bwe(t),y9)}})),XB(WIe,(function(r,e,t){var n=Bx(zIe,r,e);return Bx(Swe(s5),n,t)}));var VIe=[0,XIe,GIe,JIe,qIe,zIe,WIe],$Ie=function r(e,t,n,u){return r.fun(e,t,n,u)},YIe=function r(e,t,n){return r.fun(e,t,n)},HIe=function r(e,t,n,u){return r.fun(e,t,n,u)},KIe=function r(e,t,n){return r.fun(e,t,n)};XB($Ie,(function(r,e,t,n){gx(Bwe(t),c5),Bx(r,t,n[1]),gx(Bwe(t),f5);var u=n[2];return xx(HIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),o5)})),XB(YIe,(function(r,e,t){var n=Bx($Ie,r,e);return Bx(Swe(i5),n,t)})),XB(HIe,(function(r,e,t,n){gx(Bwe(t),$6),Bx(Bwe(t),H6,Y6);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),K6),gx(Bwe(t),Q6),Bx(Bwe(t),r5,Z6);var a=n[2];if(a){lwe(t,e5);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,V6)}),t,i),lwe(t,t5)}else lwe(t,n5);return gx(Bwe(t),u5),gx(Bwe(t),a5)})),XB(KIe,(function(r,e,t){var n=Bx(HIe,r,e);return Bx(Swe(W6),n,t)}));var QIe=[0,$Ie,YIe,HIe,KIe],ZIe=function r(e,t,n,u){return r.fun(e,t,n,u)},rNe=function r(e,t,n){return r.fun(e,t,n)},eNe=function r(e,t,n,u){return r.fun(e,t,n,u)},tNe=function r(e,t,n){return r.fun(e,t,n)};XB(ZIe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),G6);var u=n[1];return xx(VIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),J6)}gx(Bwe(t),q6);var a=n[1];return xx(QIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),z6)})),XB(rNe,(function(r,e,t){var n=Bx(ZIe,r,e);return Bx(Swe(X6),n,t)})),XB(eNe,(function(r,e,t,n){gx(Bwe(t),g6),Bx(Bwe(t),S6,B6);var u=n[1];gx(Bwe(t),x6);Sye((function(n,u){return n&&gx(Bwe(t),_6),xx(ZIe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),T6),gx(Bwe(t),I6),gx(Bwe(t),N6),Bx(Bwe(t),L6,O6);var a=n[2];if(a){lwe(t,P6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),w6);return Sye((function(t,n){return t&&gx(Bwe(e),C6),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),A6)}),t,i),lwe(t,R6)}else lwe(t,M6);return gx(Bwe(t),j6),gx(Bwe(t),U6)})),XB(tNe,(function(r,e,t){var n=Bx(eNe,r,e);return Bx(Swe(y6),n,t)}));var nNe=[0,VIe,QIe,ZIe,rNe,eNe,tNe],uNe=function r(e,t,n,u){return r.fun(e,t,n,u)},aNe=function r(e,t,n){return r.fun(e,t,n)};XB(uNe,(function(r,e,t,n){gx(Bwe(t),f6),Bx(Bwe(t),s6,o6);var u=n[1];gx(Bwe(t),l6);Sye((function(n,u){return n&&gx(Bwe(t),c6),xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),v6),gx(Bwe(t),D6),gx(Bwe(t),p6),Bx(Bwe(t),F6,b6);var a=n[2];if(a){lwe(t,m6);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i6)}),t,i),lwe(t,d6)}else lwe(t,E6);return gx(Bwe(t),k6),gx(Bwe(t),h6)})),XB(aNe,(function(r,e,t){var n=Bx(uNe,r,e);return Bx(Swe(a6),n,t)}));var iNe=[0,uNe,aNe],cNe=function r(e,t){return r.fun(e,t)},fNe=function r(e){return r.fun(e)},oNe=function r(e,t,n,u){return r.fun(e,t,n,u)},sNe=function r(e,t,n){return r.fun(e,t,n)};XB(cNe,(function(r,e){switch(e){case 0:return lwe(r,K4);case 1:return lwe(r,Q4);case 2:return lwe(r,Z4);case 3:return lwe(r,r6);case 4:return lwe(r,e6);case 5:return lwe(r,t6);case 6:return lwe(r,n6);default:return lwe(r,u6)}})),XB(fNe,(function(r){return Bx(Swe(H4),cNe,r)})),XB(oNe,(function(r,e,t,n){gx(Bwe(t),O4),Bx(Bwe(t),P4,L4),Bx(cNe,t,n[1]),gx(Bwe(t),R4),gx(Bwe(t),M4),Bx(Bwe(t),U4,j4);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),X4),gx(Bwe(t),G4),Bx(Bwe(t),q4,J4);var a=n[3];if(a){lwe(t,z4);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,N4)}),t,i),lwe(t,W4)}else lwe(t,V4);return gx(Bwe(t),$4),gx(Bwe(t),Y4)})),XB(sNe,(function(r,e,t){var n=Bx(oNe,r,e);return Bx(Swe(I4),n,t)}));var lNe=[0,cNe,fNe,oNe,sNe],vNe=function r(e,t){return r.fun(e,t)},DNe=function r(e){return r.fun(e)},pNe=function r(e,t,n,u){return r.fun(e,t,n,u)},bNe=function r(e,t,n){return r.fun(e,t,n)};XB(vNe,(function(r,e){switch(e){case 0:return lwe(r,s4);case 1:return lwe(r,l4);case 2:return lwe(r,v4);case 3:return lwe(r,D4);case 4:return lwe(r,p4);case 5:return lwe(r,b4);case 6:return lwe(r,F4);case 7:return lwe(r,m4);case 8:return lwe(r,d4);case 9:return lwe(r,E4);case 10:return lwe(r,k4);case 11:return lwe(r,h4);case 12:return lwe(r,y4);case 13:return lwe(r,C4);case 14:return lwe(r,w4);case 15:return lwe(r,A4);case 16:return lwe(r,_4);case 17:return lwe(r,g4);case 18:return lwe(r,B4);case 19:return lwe(r,S4);case 20:return lwe(r,x4);default:return lwe(r,T4)}})),XB(DNe,(function(r){return Bx(Swe(o4),vNe,r)})),XB(pNe,(function(r,e,t,n){gx(Bwe(t),J3),Bx(Bwe(t),z3,q3),Bx(vNe,t,n[1]),gx(Bwe(t),W3),gx(Bwe(t),V3),Bx(Bwe(t),Y3,$3);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),H3),gx(Bwe(t),K3),Bx(Bwe(t),Z3,Q3);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),r4),gx(Bwe(t),e4),Bx(Bwe(t),n4,t4);var i=n[4];if(i){lwe(t,u4);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,G3)}),t,c),lwe(t,a4)}else lwe(t,i4);return gx(Bwe(t),c4),gx(Bwe(t),f4)})),XB(bNe,(function(r,e,t){var n=Bx(pNe,r,e);return Bx(Swe(X3),n,t)}));var FNe=[0,vNe,DNe,pNe,bNe],mNe=function r(e,t){return r.fun(e,t)},dNe=function r(e){return r.fun(e)},ENe=function r(e,t,n,u){return r.fun(e,t,n,u)},kNe=function r(e,t,n){return r.fun(e,t,n)};XB(mNe,(function(r,e){switch(e){case 0:return lwe(r,S3);case 1:return lwe(r,x3);case 2:return lwe(r,T3);case 3:return lwe(r,I3);case 4:return lwe(r,N3);case 5:return lwe(r,O3);case 6:return lwe(r,L3);case 7:return lwe(r,P3);case 8:return lwe(r,R3);case 9:return lwe(r,M3);case 10:return lwe(r,j3);default:return lwe(r,U3)}})),XB(dNe,(function(r){return Bx(Swe(B3),mNe,r)})),XB(ENe,(function(r,e,t,n){gx(Bwe(t),a3),Bx(Bwe(t),c3,i3);var u=n[1];u?(lwe(t,f3),Bx(mNe,t,u[1]),lwe(t,o3)):lwe(t,s3),gx(Bwe(t),l3),gx(Bwe(t),v3),Bx(Bwe(t),p3,D3);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),b3),gx(Bwe(t),F3),Bx(Bwe(t),d3,m3);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),E3),gx(Bwe(t),k3),Bx(Bwe(t),y3,h3);var c=n[4];if(c){lwe(t,C3);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,u3)}),t,f),lwe(t,w3)}else lwe(t,A3);return gx(Bwe(t),_3),gx(Bwe(t),g3)})),XB(kNe,(function(r,e,t){var n=Bx(ENe,r,e);return Bx(Swe(n3),n,t)}));var hNe=[0,mNe,dNe,ENe,kNe],yNe=function r(e,t){return r.fun(e,t)},CNe=function r(e){return r.fun(e)},wNe=function r(e,t,n,u){return r.fun(e,t,n,u)},ANe=function r(e,t,n){return r.fun(e,t,n)};XB(yNe,(function(r,e){return lwe(r,0===e?t3:e3)})),XB(CNe,(function(r){return Bx(Swe(r3),yNe,r)})),XB(wNe,(function(r,e,t,n){gx(Bwe(t),N8),Bx(Bwe(t),L8,O8),Bx(yNe,t,n[1]),gx(Bwe(t),P8),gx(Bwe(t),R8),Bx(Bwe(t),j8,M8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U8),gx(Bwe(t),X8),Bx(Bwe(t),J8,G8);var a=n[3];Bx(Bwe(t),q8,a),gx(Bwe(t),z8),gx(Bwe(t),W8),Bx(Bwe(t),$8,V8);var i=n[4];if(i){lwe(t,Y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,I8)}),t,c),lwe(t,H8)}else lwe(t,K8);return gx(Bwe(t),Q8),gx(Bwe(t),Z8)})),XB(ANe,(function(r,e,t){var n=Bx(wNe,r,e);return Bx(Swe(T8),n,t)}));var _Ne=[0,yNe,CNe,wNe,ANe],gNe=function r(e,t){return r.fun(e,t)},BNe=function r(e){return r.fun(e)},SNe=function r(e,t,n,u){return r.fun(e,t,n,u)},xNe=function r(e,t,n){return r.fun(e,t,n)};XB(gNe,(function(r,e){switch(e){case 0:return lwe(r,B8);case 1:return lwe(r,S8);default:return lwe(r,x8)}})),XB(BNe,(function(r){return Bx(Swe(g8),gNe,r)})),XB(SNe,(function(r,e,t,n){gx(Bwe(t),c8),Bx(Bwe(t),o8,f8),Bx(gNe,t,n[1]),gx(Bwe(t),s8),gx(Bwe(t),l8),Bx(Bwe(t),D8,v8);var u=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p8),gx(Bwe(t),b8),Bx(Bwe(t),m8,F8);var a=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),d8),gx(Bwe(t),E8),Bx(Bwe(t),h8,k8);var i=n[4];if(i){lwe(t,y8);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,i8)}),t,c),lwe(t,C8)}else lwe(t,w8);return gx(Bwe(t),A8),gx(Bwe(t),_8)})),XB(xNe,(function(r,e,t){var n=Bx(SNe,r,e);return Bx(Swe(a8),n,t)}));var TNe=[0,gNe,BNe,SNe,xNe],INe=function r(e,t,n,u){return r.fun(e,t,n,u)},NNe=function r(e,t,n){return r.fun(e,t,n)};XB(INe,(function(r,e,t,n){gx(Bwe(t),j7),Bx(Bwe(t),X7,U7);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),G7),gx(Bwe(t),J7),Bx(Bwe(t),z7,q7);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),W7),gx(Bwe(t),V7),Bx(Bwe(t),Y7,$7);var i=n[3];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),H7),gx(Bwe(t),K7),Bx(Bwe(t),Z7,Q7);var c=n[4];if(c){lwe(t,r8);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,M7)}),t,f),lwe(t,e8)}else lwe(t,t8);return gx(Bwe(t),n8),gx(Bwe(t),u8)})),XB(NNe,(function(r,e,t){var n=Bx(INe,r,e);return Bx(Swe(R7),n,t)}));var ONe=[0,INe,NNe],LNe=function r(e,t,n,u){return r.fun(e,t,n,u)},PNe=function r(e,t,n){return r.fun(e,t,n)};XB(LNe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),N7);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O7)}gx(Bwe(t),L7);var a=n[1];return xx(yIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),P7)})),XB(PNe,(function(r,e,t){var n=Bx(LNe,r,e);return Bx(Swe(I7),n,t)}));var RNe=function r(e,t,n,u){return r.fun(e,t,n,u)},MNe=function r(e,t,n){return r.fun(e,t,n)},jNe=function r(e,t,n,u){return r.fun(e,t,n,u)},UNe=function r(e,t,n){return r.fun(e,t,n)};XB(RNe,(function(r,e,t,n){gx(Bwe(t),S7),Bx(r,t,n[1]),gx(Bwe(t),x7);var u=n[2];return xx(jNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),T7)})),XB(MNe,(function(r,e,t){var n=Bx(RNe,r,e);return Bx(Swe(B7),n,t)})),XB(jNe,(function(r,e,t,n){gx(Bwe(t),p7),Bx(Bwe(t),F7,b7);var u=n[1];gx(Bwe(t),m7);Sye((function(n,u){return n&&gx(Bwe(t),D7),xx(LNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),d7),gx(Bwe(t),E7),gx(Bwe(t),k7),Bx(Bwe(t),y7,h7);var a=n[2];if(a){lwe(t,C7);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),l7);return Sye((function(t,n){return t&&gx(Bwe(e),s7),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),v7)}),t,i),lwe(t,w7)}else lwe(t,A7);return gx(Bwe(t),_7),gx(Bwe(t),g7)})),XB(UNe,(function(r,e,t){var n=Bx(jNe,r,e);return Bx(Swe(o7),n,t)}));var XNe=[0,RNe,MNe,jNe,UNe],GNe=function r(e,t,n,u){return r.fun(e,t,n,u)},JNe=function r(e,t,n){return r.fun(e,t,n)};XB(GNe,(function(r,e,t,n){gx(Bwe(t),R2),Bx(Bwe(t),j2,M2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U2),gx(Bwe(t),X2),Bx(Bwe(t),J2,G2);var a=n[2];if(a){lwe(t,q2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,z2)}else lwe(t,W2);gx(Bwe(t),V2),gx(Bwe(t),$2),Bx(Bwe(t),H2,Y2);var c=n[3];if(c){lwe(t,K2);var f=c[1];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,Q2)}else lwe(t,Z2);gx(Bwe(t),r7),gx(Bwe(t),e7),Bx(Bwe(t),n7,t7);var o=n[4];if(o){lwe(t,u7);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,P2)}),t,s),lwe(t,a7)}else lwe(t,i7);return gx(Bwe(t),c7),gx(Bwe(t),f7)})),XB(JNe,(function(r,e,t){var n=Bx(GNe,r,e);return Bx(Swe(L2),n,t)}));var qNe=[0,GNe,JNe],zNe=function r(e,t,n,u){return r.fun(e,t,n,u)},WNe=function r(e,t,n){return r.fun(e,t,n)};XB(zNe,(function(r,e,t,n){gx(Bwe(t),v2),Bx(Bwe(t),p2,D2);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),b2),gx(Bwe(t),F2),Bx(Bwe(t),d2,m2);var a=n[2];if(a){lwe(t,E2);var i=a[1];xx($Ae[2][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,k2)}else lwe(t,h2);gx(Bwe(t),y2),gx(Bwe(t),C2),Bx(Bwe(t),A2,w2);var c=n[3];xx(XNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),_2),gx(Bwe(t),g2),Bx(Bwe(t),S2,B2);var f=n[4];if(f){lwe(t,x2);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,l2)}),t,o),lwe(t,T2)}else lwe(t,I2);return gx(Bwe(t),N2),gx(Bwe(t),O2)})),XB(WNe,(function(r,e,t){var n=Bx(zNe,r,e);return Bx(Swe(s2),n,t)}));var VNe=[0,zNe,WNe],$Ne=function r(e,t,n,u){return r.fun(e,t,n,u)},YNe=function r(e,t,n){return r.fun(e,t,n)};XB($Ne,(function(r,e,t,n){gx(Bwe(t),r2),Bx(Bwe(t),t2,e2);var u=n[1];xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),n2),gx(Bwe(t),u2),Bx(Bwe(t),i2,a2);var a=n[2];return Bx(Bwe(t),c2,a),gx(Bwe(t),f2),gx(Bwe(t),o2)})),XB(YNe,(function(r,e,t){var n=Bx($Ne,r,e);return Bx(Swe(Z1),n,t)}));var HNe=[0,$Ne,YNe],KNe=function r(e,t,n,u){return r.fun(e,t,n,u)},QNe=function r(e,t,n){return r.fun(e,t,n)},ZNe=function r(e,t,n,u){return r.fun(e,t,n,u)},rOe=function r(e,t,n){return r.fun(e,t,n)};XB(KNe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),V1);var u=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$1);case 1:gx(Bwe(t),Y1);var a=n[1];return Sx(MAe[1],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),H1);default:gx(Bwe(t),K1);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Q1)}})),XB(QNe,(function(r,e,t){var n=Bx(KNe,r,e);return Bx(Swe(W1),n,t)})),XB(ZNe,(function(r,e,t,n){gx(Bwe(t),x1),Bx(Bwe(t),I1,T1);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),N1),gx(Bwe(t),O1),Bx(Bwe(t),P1,L1);var a=n[2];xx(KNe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),R1),gx(Bwe(t),M1),Bx(Bwe(t),U1,j1);var i=n[3];if(i){lwe(t,X1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,S1)}),t,c),lwe(t,G1)}else lwe(t,J1);return gx(Bwe(t),q1),gx(Bwe(t),z1)})),XB(rOe,(function(r,e,t){var n=Bx(ZNe,r,e);return Bx(Swe(B1),n,t)}));var eOe=[0,KNe,QNe,ZNe,rOe],tOe=function r(e,t,n,u){return r.fun(e,t,n,u)},nOe=function r(e,t,n){return r.fun(e,t,n)};XB(tOe,(function(r,e,t,n){gx(Bwe(t),d1),Bx(Bwe(t),k1,E1);var u=n[1];xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),h1),gx(Bwe(t),y1),Bx(Bwe(t),w1,C1);var a=n[2];return Bx(Bwe(t),A1,a),gx(Bwe(t),_1),gx(Bwe(t),g1)})),XB(nOe,(function(r,e,t){var n=Bx(tOe,r,e);return Bx(Swe(m1),n,t)}));var uOe=[0,tOe,nOe],aOe=function r(e,t,n,u){return r.fun(e,t,n,u)},iOe=function r(e,t,n){return r.fun(e,t,n)};XB(aOe,(function(r,e,t,n){gx(Bwe(t),K0),Bx(Bwe(t),Z0,Q0);var u=n[1];if(u){lwe(t,r1);var a=u[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,e1)}else lwe(t,t1);gx(Bwe(t),n1),gx(Bwe(t),u1),Bx(Bwe(t),i1,a1);var i=n[2];if(i){lwe(t,c1);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,H0)}),t,c),lwe(t,f1)}else lwe(t,o1);gx(Bwe(t),s1),gx(Bwe(t),l1),Bx(Bwe(t),D1,v1);var f=n[3];return Bx(Bwe(t),p1,f),gx(Bwe(t),b1),gx(Bwe(t),F1)})),XB(iOe,(function(r,e,t){var n=Bx(aOe,r,e);return Bx(Swe(Y0),n,t)}));var cOe=[0,aOe,iOe],fOe=function r(e,t,n,u){return r.fun(e,t,n,u)},oOe=function r(e,t,n){return r.fun(e,t,n)},sOe=function r(e,t,n,u){return r.fun(e,t,n,u)},lOe=function r(e,t,n){return r.fun(e,t,n)};XB(fOe,(function(r,e,t,n){gx(Bwe(t),W0),Bx(r,t,n[1]),gx(Bwe(t),V0);var u=n[2];return xx(sOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$0)})),XB(oOe,(function(r,e,t){var n=Bx(fOe,r,e);return Bx(Swe(z0),n,t)})),XB(sOe,(function(r,e,t,n){gx(Bwe(t),T0),Bx(Bwe(t),N0,I0);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),O0),gx(Bwe(t),L0),Bx(Bwe(t),R0,P0);var a=n[2];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),M0),gx(Bwe(t),j0),Bx(Bwe(t),X0,U0);var i=n[3];return Bx(Bwe(t),G0,i),gx(Bwe(t),J0),gx(Bwe(t),q0)})),XB(lOe,(function(r,e,t){var n=Bx(sOe,r,e);return Bx(Swe(x0),n,t)}));var vOe=[0,fOe,oOe,sOe,lOe],DOe=function r(e,t,n,u){return r.fun(e,t,n,u)},pOe=function r(e,t,n){return r.fun(e,t,n)};XB(DOe,(function(r,e,t,n){gx(Bwe(t),F0),Bx(Bwe(t),d0,m0);var u=n[1];gx(Bwe(t),E0);Sye((function(n,u){return n&&gx(Bwe(t),b0),xx(vOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),k0),gx(Bwe(t),h0),gx(Bwe(t),y0),Bx(Bwe(t),w0,C0);var a=n[2];if(a){lwe(t,A0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,_0)}else lwe(t,g0);return gx(Bwe(t),B0),gx(Bwe(t),S0)})),XB(pOe,(function(r,e,t){var n=Bx(DOe,r,e);return Bx(Swe(p0),n,t)}));var bOe=[0,vOe,DOe,pOe],FOe=function r(e,t,n,u){return r.fun(e,t,n,u)},mOe=function r(e,t,n){return r.fun(e,t,n)};XB(FOe,(function(r,e,t,n){gx(Bwe(t),r0),Bx(Bwe(t),t0,e0);var u=n[1];gx(Bwe(t),n0);Sye((function(n,u){return n&&gx(Bwe(t),ZZ),xx(bOe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),u0),gx(Bwe(t),a0),gx(Bwe(t),i0),Bx(Bwe(t),f0,c0);var a=n[2];if(a){lwe(t,o0);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,s0)}else lwe(t,l0);return gx(Bwe(t),v0),gx(Bwe(t),D0)})),XB(mOe,(function(r,e,t){var n=Bx(FOe,r,e);return Bx(Swe(QZ),n,t)}));var dOe=[0,FOe,mOe],EOe=function r(e,t,n,u){return r.fun(e,t,n,u)},kOe=function r(e,t,n){return r.fun(e,t,n)};XB(EOe,(function(r,e,t,n){gx(Bwe(t),PZ),Bx(Bwe(t),MZ,RZ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),jZ),gx(Bwe(t),UZ),Bx(Bwe(t),GZ,XZ);var a=n[2];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),JZ),gx(Bwe(t),qZ),Bx(Bwe(t),WZ,zZ);var i=n[3];if(i){lwe(t,VZ);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,LZ)}),t,c),lwe(t,$Z)}else lwe(t,YZ);return gx(Bwe(t),HZ),gx(Bwe(t),KZ)})),XB(kOe,(function(r,e,t){var n=Bx(EOe,r,e);return Bx(Swe(OZ),n,t)}));var hOe=[0,EOe,kOe],yOe=function r(e,t,n){return r.fun(e,t,n)},COe=function r(e,t){return r.fun(e,t)};XB(yOe,(function(r,e,t){gx(Bwe(e),dZ),Bx(Bwe(e),kZ,EZ);var n=t[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,n),gx(Bwe(e),hZ),gx(Bwe(e),yZ),Bx(Bwe(e),wZ,CZ);var u=t[2];xx(RAe[1],(function(e){return gx(r,e)}),(function(e){return gx(r,e)}),e,u),gx(Bwe(e),AZ),gx(Bwe(e),_Z),Bx(Bwe(e),BZ,gZ);var a=t[3];if(a){lwe(e,SZ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,mZ)}),e,i),lwe(e,xZ)}else lwe(e,TZ);return gx(Bwe(e),IZ),gx(Bwe(e),NZ)})),XB(COe,(function(r,e){var t=gx(yOe,r);return Bx(Swe(FZ),t,e)}));var wOe=[0,yOe,COe],AOe=function r(e,t,n){return r.fun(e,t,n)},_Oe=function r(e,t){return r.fun(e,t)};XB(AOe,(function(r,e,t){gx(Bwe(e),fZ),Bx(Bwe(e),sZ,oZ);var n=t[1];if(n){lwe(e,lZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,cZ)}),e,u),lwe(e,vZ)}else lwe(e,DZ);return gx(Bwe(e),pZ),gx(Bwe(e),bZ)})),XB(_Oe,(function(r,e){var t=gx(AOe,r);return Bx(Swe(iZ),t,e)}));var gOe=[0,AOe,_Oe],BOe=function r(e,t,n){return r.fun(e,t,n)},SOe=function r(e,t){return r.fun(e,t)};XB(BOe,(function(r,e,t){gx(Bwe(e),QQ),Bx(Bwe(e),rZ,ZQ);var n=t[1];if(n){lwe(e,eZ);var u=n[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KQ)}),e,u),lwe(e,tZ)}else lwe(e,nZ);return gx(Bwe(e),uZ),gx(Bwe(e),aZ)})),XB(SOe,(function(r,e){var t=gx(BOe,r);return Bx(Swe(HQ),t,e)}));var xOe=[0,BOe,SOe],TOe=function r(e,t,n,u){return r.fun(e,t,n,u)},IOe=function r(e,t,n){return r.fun(e,t,n)};XB(TOe,(function(r,e,t,n){gx(Bwe(t),MQ),Bx(Bwe(t),UQ,jQ);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XQ),gx(Bwe(t),GQ),Bx(Bwe(t),qQ,JQ);var a=n[2];if(a){lwe(t,zQ);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RQ)}),t,i),lwe(t,WQ)}else lwe(t,VQ);return gx(Bwe(t),$Q),gx(Bwe(t),YQ)})),XB(IOe,(function(r,e,t){var n=Bx(TOe,r,e);return Bx(Swe(PQ),n,t)}));var NOe=[0,TOe,IOe],OOe=function r(e,t,n,u){return r.fun(e,t,n,u)},LOe=function r(e,t,n){return r.fun(e,t,n)},POe=function r(e,t,n,u){return r.fun(e,t,n,u)},ROe=function r(e,t,n){return r.fun(e,t,n)};XB(OOe,(function(r,e,t,n){gx(Bwe(t),NQ),Bx(e,t,n[1]),gx(Bwe(t),OQ);var u=n[2];return xx(POe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LQ)})),XB(LOe,(function(r,e,t){var n=Bx(OOe,r,e);return Bx(Swe(IQ),n,t)})),XB(POe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),wK);var u=n[1];return xx(gIe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),AK);case 1:gx(Bwe(t),_K);var a=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),gK);case 2:gx(Bwe(t),BK);var i=n[1];return xx(hNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),SK);case 3:gx(Bwe(t),xK);var c=n[1];return xx(FNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),TK);case 4:gx(Bwe(t),IK);var f=n[1];return xx(VNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),gx(Bwe(t),NK);case 5:gx(Bwe(t),OK);var o=n[1];return xx(QAe[8],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,o),gx(Bwe(t),LK);case 6:gx(Bwe(t),PK);var s=n[1];return xx(bOe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),gx(Bwe(t),RK);case 7:gx(Bwe(t),MK);var l=n[1];return xx(ONe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),gx(Bwe(t),jK);case 8:gx(Bwe(t),UK);var v=n[1];return xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),XK);case 9:gx(Bwe(t),GK);var D=n[1];return xx(dOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,D),gx(Bwe(t),JK);case 10:gx(Bwe(t),qK);var p=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),gx(Bwe(t),zK);case 11:gx(Bwe(t),WK);var b=n[1];return xx(NOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,b),gx(Bwe(t),VK);case 12:gx(Bwe(t),$K);var F=n[1];return xx(YAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,F),gx(Bwe(t),YK);case 13:gx(Bwe(t),HK);var m=n[1];return xx(YAe[19],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,m),gx(Bwe(t),KK);case 14:gx(Bwe(t),QK);var d=n[1];return Sx(jAe[2],(function(e){return gx(r,e)}),t,d),gx(Bwe(t),ZK);case 15:gx(Bwe(t),rQ);var E=n[1];return xx(TNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,E),gx(Bwe(t),eQ);case 16:gx(Bwe(t),tQ);var k=n[1];return xx(eOe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,k),gx(Bwe(t),nQ);case 17:gx(Bwe(t),uQ);var h=n[1];return Sx(wOe[1],(function(e){return gx(r,e)}),t,h),gx(Bwe(t),aQ);case 18:gx(Bwe(t),iQ);var y=n[1];return xx(qNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,y),gx(Bwe(t),cQ);case 19:gx(Bwe(t),fQ);var C=n[1];return xx(nNe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,C),gx(Bwe(t),oQ);case 20:gx(Bwe(t),sQ);var w=n[1];return xx(HNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,w),gx(Bwe(t),lQ);case 21:gx(Bwe(t),vQ);var A=n[1];return xx(uOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,A),gx(Bwe(t),DQ);case 22:gx(Bwe(t),pQ);var _=n[1];return xx(iNe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,_),gx(Bwe(t),bQ);case 23:gx(Bwe(t),FQ);var g=n[1];return Sx(xOe[1],(function(e){return gx(r,e)}),t,g),gx(Bwe(t),mQ);case 24:gx(Bwe(t),dQ);var B=n[1];return xx(UIe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,B),gx(Bwe(t),EQ);case 25:gx(Bwe(t),kQ);var S=n[1];return xx(RIe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,S),gx(Bwe(t),hQ);case 26:gx(Bwe(t),yQ);var x=n[1];return Sx(gOe[1],(function(e){return gx(r,e)}),t,x),gx(Bwe(t),CQ);case 27:gx(Bwe(t),wQ);var T=n[1];return xx(hOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,T),gx(Bwe(t),AQ);case 28:gx(Bwe(t),_Q);var I=n[1];return xx(lNe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,I),gx(Bwe(t),gQ);case 29:gx(Bwe(t),BQ);var N=n[1];return xx(_Ne[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,N),gx(Bwe(t),SQ);default:gx(Bwe(t),xQ);var O=n[1];return xx(cOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,O),gx(Bwe(t),TQ)}})),XB(ROe,(function(r,e,t){var n=Bx(POe,r,e);return Bx(Swe(CK),n,t)})),Sx(eAe,QJr,$Ae,[0,vIe,hIe,yIe,gIe,RIe,UIe,nNe,iNe,lNe,FNe,hNe,_Ne,TNe,ONe,LNe,PNe,XNe,qNe,VNe,HNe,eOe,uOe,cOe,bOe,dOe,hOe,wOe,gOe,xOe,NOe,OOe,LOe,POe,ROe]);var MOe=function r(e,t,n,u){return r.fun(e,t,n,u)},jOe=function r(e,t,n){return r.fun(e,t,n)},UOe=function r(e,t,n){return r.fun(e,t,n)},XOe=function r(e,t){return r.fun(e,t)};XB(MOe,(function(r,e,t,n){gx(Bwe(t),kK),Bx(e,t,n[1]),gx(Bwe(t),hK);var u=n[2];return Sx(UOe,(function(e){return gx(r,e)}),t,u),gx(Bwe(t),yK)})),XB(jOe,(function(r,e,t){var n=Bx(MOe,r,e);return Bx(Swe(EK),n,t)})),XB(UOe,(function(r,e,t){gx(Bwe(e),iK),Bx(Bwe(e),fK,cK);var n=t[1];Bx(Bwe(e),oK,n),gx(Bwe(e),sK),gx(Bwe(e),lK),Bx(Bwe(e),DK,vK);var u=t[2];if(u){lwe(e,pK);var a=u[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aK)}),e,a),lwe(e,bK)}else lwe(e,FK);return gx(Bwe(e),mK),gx(Bwe(e),dK)})),XB(XOe,(function(r,e){var t=gx(UOe,r);return Bx(Swe(uK),t,e)}));var GOe=[0,MOe,jOe,UOe,XOe],JOe=function r(e,t,n,u){return r.fun(e,t,n,u)},qOe=function r(e,t,n){return r.fun(e,t,n)},zOe=function r(e,t,n,u){return r.fun(e,t,n,u)},WOe=function r(e,t,n){return r.fun(e,t,n)};XB(JOe,(function(r,e,t,n){gx(Bwe(t),eK),Bx(r,t,n[1]),gx(Bwe(t),tK);var u=n[2];return xx(zOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nK)})),XB(qOe,(function(r,e,t){var n=Bx(JOe,r,e);return Bx(Swe(rK),n,t)})),XB(zOe,(function(r,e,t,n){gx(Bwe(t),zH),Bx(Bwe(t),VH,WH);var u=n[1];xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),$H),gx(Bwe(t),YH),Bx(Bwe(t),KH,HH);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),QH),gx(Bwe(t),ZH)})),XB(WOe,(function(r,e,t){var n=Bx(zOe,r,e);return Bx(Swe(qH),n,t)}));var VOe=[0,JOe,qOe,zOe,WOe],$Oe=function r(e,t,n,u){return r.fun(e,t,n,u)},YOe=function r(e,t,n){return r.fun(e,t,n)},HOe=function r(e,t,n,u){return r.fun(e,t,n,u)},KOe=function r(e,t,n){return r.fun(e,t,n)};XB($Oe,(function(r,e,t,n){gx(Bwe(t),IH),Bx(Bwe(t),OH,NH);var u=n[1];xx(HOe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LH),gx(Bwe(t),PH),Bx(Bwe(t),MH,RH);var a=n[2];if(a){lwe(t,jH);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),xH);return Sye((function(t,n){return t&&gx(Bwe(e),SH),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),TH)}),t,i),lwe(t,UH)}else lwe(t,XH);return gx(Bwe(t),GH),gx(Bwe(t),JH)})),XB(YOe,(function(r,e,t){var n=Bx($Oe,r,e);return Bx(Swe(BH),n,t)})),XB(HOe,(function(r,e,t,n){if(n){gx(Bwe(t),AH);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),_H)}return lwe(t,gH)})),XB(KOe,(function(r,e,t){var n=Bx(HOe,r,e);return Bx(Swe(wH),n,t)}));var QOe=[0,$Oe,YOe,HOe,KOe],ZOe=function(r,e){gx(Bwe(r),vH),Bx(Bwe(r),pH,DH);var t=e[1];Bx(Bwe(r),bH,t),gx(Bwe(r),FH),gx(Bwe(r),mH),Bx(Bwe(r),EH,dH);var n=e[2];return Bx(Bwe(r),kH,n),gx(Bwe(r),hH),gx(Bwe(r),yH)},rLe=[0,ZOe,function(r){return Bx(Swe(CH),ZOe,r)}],eLe=function r(e,t,n,u){return r.fun(e,t,n,u)},tLe=function r(e,t,n){return r.fun(e,t,n)},nLe=function r(e,t,n,u){return r.fun(e,t,n,u)},uLe=function r(e,t,n){return r.fun(e,t,n)},aLe=function r(e,t,n,u){return r.fun(e,t,n,u)},iLe=function r(e,t,n){return r.fun(e,t,n)},cLe=function r(e,t,n,u){return r.fun(e,t,n,u)},fLe=function r(e,t,n){return r.fun(e,t,n)};XB(eLe,(function(r,e,t,n){gx(Bwe(t),oH),Bx(r,t,n[1]),gx(Bwe(t),sH);var u=n[2];return xx(cLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lH)})),XB(tLe,(function(r,e,t){var n=Bx(eLe,r,e);return Bx(Swe(fH),n,t)})),XB(nLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),uH);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),aH)}gx(Bwe(t),iH);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),cH)})),XB(uLe,(function(r,e,t){var n=Bx(nLe,r,e);return Bx(Swe(nH),n,t)})),XB(aLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),KY),Bx(e,t,n[1]),gx(Bwe(t),QY);var u=n[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),ZY)}gx(Bwe(t),rH),Bx(e,t,n[1]),gx(Bwe(t),eH);var a=n[2];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tH)})),XB(iLe,(function(r,e,t){var n=Bx(aLe,r,e);return Bx(Swe(HY),n,t)})),XB(cLe,(function(r,e,t,n){gx(Bwe(t),MY),Bx(Bwe(t),UY,jY);var u=n[1];xx(nLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XY),gx(Bwe(t),GY),Bx(Bwe(t),qY,JY);var a=n[2];if(a){lwe(t,zY);var i=a[1];xx(aLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,WY)}else lwe(t,VY);return gx(Bwe(t),$Y),gx(Bwe(t),YY)})),XB(fLe,(function(r,e,t){var n=Bx(cLe,r,e);return Bx(Swe(RY),n,t)}));var oLe=[0,eLe,tLe,nLe,uLe,aLe,iLe,cLe,fLe],sLe=function r(e,t,n,u){return r.fun(e,t,n,u)},lLe=function r(e,t,n){return r.fun(e,t,n)},vLe=function r(e,t,n,u){return r.fun(e,t,n,u)},DLe=function r(e,t,n){return r.fun(e,t,n)};XB(sLe,(function(r,e,t,n){gx(Bwe(t),OY),Bx(r,t,n[1]),gx(Bwe(t),LY);var u=n[2];return xx(vLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),PY)})),XB(lLe,(function(r,e,t){var n=Bx(sLe,r,e);return Bx(Swe(NY),n,t)})),XB(vLe,(function(r,e,t,n){gx(Bwe(t),hY),Bx(Bwe(t),CY,yY);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),wY),gx(Bwe(t),AY),Bx(Bwe(t),gY,_Y);var a=n[2];if(a){lwe(t,BY);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,kY)}),t,i),lwe(t,SY)}else lwe(t,xY);return gx(Bwe(t),TY),gx(Bwe(t),IY)})),XB(DLe,(function(r,e,t){var n=Bx(vLe,r,e);return Bx(Swe(EY),n,t)}));var pLe=[0,sLe,lLe,vLe,DLe],bLe=function r(e,t,n,u){return r.fun(e,t,n,u)},FLe=function r(e,t,n){return r.fun(e,t,n)},mLe=function r(e,t,n,u){return r.fun(e,t,n,u)},dLe=function r(e,t,n){return r.fun(e,t,n)},ELe=function r(e,t,n,u){return r.fun(e,t,n,u)},kLe=function r(e,t,n){return r.fun(e,t,n)};XB(bLe,(function(r,e,t,n){gx(Bwe(t),FY),Bx(r,t,n[1]),gx(Bwe(t),mY);var u=n[2];return xx(ELe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),dY)})),XB(FLe,(function(r,e,t){var n=Bx(bLe,r,e);return Bx(Swe(bY),n,t)})),XB(mLe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),lY);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vY)}gx(Bwe(t),DY);var a=n[1];return xx(bLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pY)})),XB(dLe,(function(r,e,t){var n=Bx(mLe,r,e);return Bx(Swe(sY),n,t)})),XB(ELe,(function(r,e,t,n){gx(Bwe(t),eY),Bx(Bwe(t),nY,tY);var u=n[1];xx(mLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uY),gx(Bwe(t),aY),Bx(Bwe(t),cY,iY);var a=n[2];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fY),gx(Bwe(t),oY)})),XB(kLe,(function(r,e,t){var n=Bx(ELe,r,e);return Bx(Swe(rY),n,t)}));var hLe=[0,bLe,FLe,mLe,dLe,ELe,kLe],yLe=function r(e,t,n,u){return r.fun(e,t,n,u)},CLe=function r(e,t,n){return r.fun(e,t,n)};XB(yLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),$$);var u=n[1];return xx(GOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Y$);case 1:gx(Bwe(t),H$);var a=n[1];return xx(VOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),K$);default:gx(Bwe(t),Q$);var i=n[1];return xx(hLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Z$)}})),XB(CLe,(function(r,e,t){var n=Bx(yLe,r,e);return Bx(Swe(V$),n,t)}));var wLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ALe=function r(e,t,n){return r.fun(e,t,n)},_Le=function r(e,t,n,u){return r.fun(e,t,n,u)},gLe=function r(e,t,n){return r.fun(e,t,n)},BLe=function r(e,t,n,u){return r.fun(e,t,n,u)},SLe=function r(e,t,n){return r.fun(e,t,n)};XB(wLe,(function(r,e,t,n){gx(Bwe(t),q$),Bx(r,t,n[1]),gx(Bwe(t),z$);var u=n[2];return xx(BLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),W$)})),XB(ALe,(function(r,e,t){var n=Bx(wLe,r,e);return Bx(Swe(J$),n,t)})),XB(_Le,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),j$);var u=n[1];return xx(oLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),U$)}gx(Bwe(t),X$);var a=n[1];return xx(pLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),G$)})),XB(gLe,(function(r,e,t){var n=Bx(_Le,r,e);return Bx(Swe(M$),n,t)})),XB(BLe,(function(r,e,t,n){gx(Bwe(t),y$),Bx(Bwe(t),w$,C$);var u=n[1];xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),A$),gx(Bwe(t),_$),Bx(Bwe(t),B$,g$);var a=n[2];Bx(Bwe(t),S$,a),gx(Bwe(t),x$),gx(Bwe(t),T$),Bx(Bwe(t),N$,I$);var i=n[3];gx(Bwe(t),O$);return Sye((function(n,u){return n&&gx(Bwe(t),h$),xx(_Le,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),L$),gx(Bwe(t),P$),gx(Bwe(t),R$)})),XB(SLe,(function(r,e,t){var n=Bx(BLe,r,e);return Bx(Swe(k$),n,t)}));var xLe=[0,wLe,ALe,_Le,gLe,BLe,SLe],TLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ILe=function r(e,t,n){return r.fun(e,t,n)},NLe=function r(e,t,n,u){return r.fun(e,t,n,u)},OLe=function r(e,t,n){return r.fun(e,t,n)};XB(TLe,(function(r,e,t,n){gx(Bwe(t),m$),Bx(r,t,n[1]),gx(Bwe(t),d$);var u=n[2];return xx(NLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),E$)})),XB(ILe,(function(r,e,t){var n=Bx(TLe,r,e);return Bx(Swe(F$),n,t)})),XB(NLe,(function(r,e,t,n){gx(Bwe(t),l$),Bx(Bwe(t),D$,v$);var u=n[1];return xx(yLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),p$),gx(Bwe(t),b$)})),XB(OLe,(function(r,e,t){var n=Bx(NLe,r,e);return Bx(Swe(s$),n,t)}));var LLe=[0,TLe,ILe,NLe,OLe],PLe=function r(e,t,n,u){return r.fun(e,t,n,u)},RLe=function r(e,t,n){return r.fun(e,t,n)};XB(PLe,(function(r,e,t,n){gx(Bwe(t),QV),Bx(Bwe(t),r$,ZV);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),e$),gx(Bwe(t),t$),Bx(Bwe(t),u$,n$);var a=n[2];if(a){lwe(t,a$);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,KV)}),t,i),lwe(t,i$)}else lwe(t,c$);return gx(Bwe(t),f$),gx(Bwe(t),o$)})),XB(RLe,(function(r,e,t){var n=Bx(PLe,r,e);return Bx(Swe(HV),n,t)}));var MLe=[0,PLe,RLe],jLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ULe=function r(e,t,n){return r.fun(e,t,n)},XLe=function r(e,t,n,u){return r.fun(e,t,n,u)},GLe=function r(e,t,n){return r.fun(e,t,n)},JLe=function r(e,t,n,u){return r.fun(e,t,n,u)},qLe=function r(e,t,n){return r.fun(e,t,n)},zLe=function r(e,t,n,u){return r.fun(e,t,n,u)},WLe=function r(e,t,n){return r.fun(e,t,n)};XB(jLe,(function(r,e,t,n){gx(Bwe(t),VV),Bx(r,t,n[1]),gx(Bwe(t),$V);var u=n[2];return xx(XLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),YV)})),XB(ULe,(function(r,e,t){var n=Bx(jLe,r,e);return Bx(Swe(WV),n,t)})),XB(XLe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PV);var u=n[1];return xx(JLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RV);case 1:gx(Bwe(t),MV);var a=n[1];return xx(zLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jV);case 2:gx(Bwe(t),UV);var i=n[1];return xx(QOe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XV);case 3:gx(Bwe(t),GV);var c=n[1];return xx(MLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JV);default:return gx(Bwe(t),qV),Bx(rLe[1],t,n[1]),gx(Bwe(t),zV)}})),XB(GLe,(function(r,e,t){var n=Bx(XLe,r,e);return Bx(Swe(LV),n,t)})),XB(JLe,(function(r,e,t,n){gx(Bwe(t),cV),Bx(Bwe(t),oV,fV);var u=n[1];xx(xLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),sV),gx(Bwe(t),lV),Bx(Bwe(t),DV,vV);var a=n[2];if(a){lwe(t,pV);var i=a[1];xx(LLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,bV)}else lwe(t,FV);gx(Bwe(t),mV),gx(Bwe(t),dV),Bx(Bwe(t),kV,EV);var c=n[3];gx(Bwe(t),hV),Bx(r,t,c[1]),gx(Bwe(t),yV),gx(Bwe(t),CV);Sye((function(n,u){return n&&gx(Bwe(t),iV),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,c[2]),gx(Bwe(t),wV),gx(Bwe(t),AV),gx(Bwe(t),_V),gx(Bwe(t),gV),Bx(Bwe(t),SV,BV);var f=n[4];if(f){lwe(t,xV);var o=f[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,aV)}),t,o),lwe(t,TV)}else lwe(t,IV);return gx(Bwe(t),NV),gx(Bwe(t),OV)})),XB(qLe,(function(r,e,t){var n=Bx(JLe,r,e);return Bx(Swe(uV),n,t)})),XB(zLe,(function(r,e,t,n){gx(Bwe(t),NW),Bx(Bwe(t),LW,OW),Bx(r,t,n[1]),gx(Bwe(t),PW),gx(Bwe(t),RW),Bx(Bwe(t),jW,MW),Bx(r,t,n[2]),gx(Bwe(t),UW),gx(Bwe(t),XW),Bx(Bwe(t),JW,GW);var u=n[3];gx(Bwe(t),qW),Bx(r,t,u[1]),gx(Bwe(t),zW),gx(Bwe(t),WW);Sye((function(n,u){return n&&gx(Bwe(t),IW),xx(jLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u[2]),gx(Bwe(t),VW),gx(Bwe(t),$W),gx(Bwe(t),YW),gx(Bwe(t),HW),Bx(Bwe(t),QW,KW);var a=n[4];if(a){lwe(t,ZW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,TW)}),t,i),lwe(t,rV)}else lwe(t,eV);return gx(Bwe(t),tV),gx(Bwe(t),nV)})),XB(WLe,(function(r,e,t){var n=Bx(zLe,r,e);return Bx(Swe(xW),n,t)})),Sx(eAe,ZJr,YAe,[0,GOe,VOe,QOe,rLe,oLe,pLe,hLe,yLe,CLe,xLe,LLe,MLe,jLe,ULe,XLe,GLe,JLe,qLe,zLe,WLe]);var VLe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Le=function r(e,t,n){return r.fun(e,t,n)},YLe=function r(e,t,n,u){return r.fun(e,t,n,u)},HLe=function r(e,t,n){return r.fun(e,t,n)};XB(VLe,(function(r,e,t,n){gx(Bwe(t),gW),Bx(r,t,n[1]),gx(Bwe(t),BW);var u=n[2];return xx(YLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),SW)})),XB($Le,(function(r,e,t){var n=Bx(VLe,r,e);return Bx(Swe(_W),n,t)})),XB(YLe,(function(r,e,t,n){gx(Bwe(t),pW),Bx(Bwe(t),FW,bW);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),mW),gx(Bwe(t),dW),Bx(Bwe(t),kW,EW);var a=n[2];if(a){lwe(t,hW);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DW)}),t,i),lwe(t,yW)}else lwe(t,CW);return gx(Bwe(t),wW),gx(Bwe(t),AW)})),XB(HLe,(function(r,e,t){var n=Bx(YLe,r,e);return Bx(Swe(vW),n,t)}));var KLe=[0,VLe,$Le,YLe,HLe],QLe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZLe=function r(e,t,n){return r.fun(e,t,n)},rPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ePe=function r(e,t,n){return r.fun(e,t,n)},tPe=function r(e,t,n,u){return r.fun(e,t,n,u)},nPe=function r(e,t,n){return r.fun(e,t,n)};XB(QLe,(function(r,e,t,n){switch(n[0]){case 0:var u=n[1];gx(Bwe(t),nW),gx(Bwe(t),uW),Bx(r,t,u[1]),gx(Bwe(t),aW);var a=u[2];return Sx(jAe[2],(function(e){return gx(r,e)}),t,a),gx(Bwe(t),iW),gx(Bwe(t),cW);case 1:gx(Bwe(t),fW);var i=n[1];return xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),oW);default:gx(Bwe(t),sW);var c=n[1];return xx(zAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),lW)}})),XB(ZLe,(function(r,e,t){var n=Bx(QLe,r,e);return Bx(Swe(tW),n,t)})),XB(rPe,(function(r,e,t,n){gx(Bwe(t),Zz),Bx(r,t,n[1]),gx(Bwe(t),rW);var u=n[2];return xx(tPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),eW)})),XB(ePe,(function(r,e,t){var n=Bx(rPe,r,e);return Bx(Swe(Qz),n,t)})),XB(tPe,(function(r,e,t,n){gx(Bwe(t),Tz),Bx(Bwe(t),Nz,Iz);var u=n[1];xx(QLe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oz),gx(Bwe(t),Lz),Bx(Bwe(t),Rz,Pz);var a=n[2];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Mz),gx(Bwe(t),jz),Bx(Bwe(t),Xz,Uz);var i=n[3];if(i){lwe(t,Gz);var c=i[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),lwe(t,Jz)}else lwe(t,qz);gx(Bwe(t),zz),gx(Bwe(t),Wz),Bx(Bwe(t),$z,Vz);var f=n[4];return Bx(Bwe(t),Yz,f),gx(Bwe(t),Hz),gx(Bwe(t),Kz)})),XB(nPe,(function(r,e,t){var n=Bx(tPe,r,e);return Bx(Swe(xz),n,t)}));var uPe=[0,QLe,ZLe,rPe,ePe,tPe,nPe],aPe=function r(e,t,n,u){return r.fun(e,t,n,u)},iPe=function r(e,t,n){return r.fun(e,t,n)},cPe=function r(e,t,n,u){return r.fun(e,t,n,u)},fPe=function r(e,t,n){return r.fun(e,t,n)};XB(aPe,(function(r,e,t,n){if(0===n[0]){gx(Bwe(t),_z);var u=n[1];return xx(uPe[3],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gz)}gx(Bwe(t),Bz);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Sz)})),XB(iPe,(function(r,e,t){var n=Bx(aPe,r,e);return Bx(Swe(Az),n,t)})),XB(cPe,(function(r,e,t,n){gx(Bwe(t),cz),Bx(Bwe(t),oz,fz);var u=n[1];gx(Bwe(t),sz);Sye((function(n,u){return n&&gx(Bwe(t),iz),xx(aPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),lz),gx(Bwe(t),vz),gx(Bwe(t),Dz),Bx(Bwe(t),bz,pz);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Fz),gx(Bwe(t),mz),Bx(Bwe(t),Ez,dz);var i=n[3];if(i){lwe(t,kz);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),uz);return Sye((function(t,n){return t&&gx(Bwe(e),nz),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),az)}),t,c),lwe(t,hz)}else lwe(t,yz);return gx(Bwe(t),Cz),gx(Bwe(t),wz)})),XB(fPe,(function(r,e,t){var n=Bx(cPe,r,e);return Bx(Swe(tz),n,t)}));var oPe=[0,uPe,aPe,iPe,cPe,fPe],sPe=function r(e,t,n,u){return r.fun(e,t,n,u)},lPe=function r(e,t,n){return r.fun(e,t,n)},vPe=function r(e,t,n,u){return r.fun(e,t,n,u)},DPe=function r(e,t,n){return r.fun(e,t,n)};XB(sPe,(function(r,e,t,n){gx(Bwe(t),Zq),Bx(r,t,n[1]),gx(Bwe(t),rz);var u=n[2];return xx(vPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),ez)})),XB(lPe,(function(r,e,t){var n=Bx(sPe,r,e);return Bx(Swe(Qq),n,t)})),XB(vPe,(function(r,e,t,n){gx(Bwe(t),Uq),Bx(Bwe(t),Gq,Xq);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Jq),gx(Bwe(t),qq),Bx(Bwe(t),Wq,zq);var a=n[2];if(a){lwe(t,Vq);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,$q)}else lwe(t,Yq);return gx(Bwe(t),Hq),gx(Bwe(t),Kq)})),XB(DPe,(function(r,e,t){var n=Bx(vPe,r,e);return Bx(Swe(jq),n,t)}));var pPe=[0,sPe,lPe,vPe,DPe],bPe=function r(e,t,n,u){return r.fun(e,t,n,u)},FPe=function r(e,t,n){return r.fun(e,t,n)},mPe=function r(e,t,n,u){return r.fun(e,t,n,u)},dPe=function r(e,t,n){return r.fun(e,t,n)};XB(bPe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),Nq);var u=n[1];return xx(pPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Oq);case 1:gx(Bwe(t),Lq);var a=n[1];return xx(KLe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Pq);default:return gx(Bwe(t),Rq),Bx(r,t,n[1]),gx(Bwe(t),Mq)}})),XB(FPe,(function(r,e,t){var n=Bx(bPe,r,e);return Bx(Swe(Iq),n,t)})),XB(mPe,(function(r,e,t,n){gx(Bwe(t),pq),Bx(Bwe(t),Fq,bq);var u=n[1];gx(Bwe(t),mq);Sye((function(n,u){return n&&gx(Bwe(t),Dq),xx(bPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),dq),gx(Bwe(t),Eq),gx(Bwe(t),kq),Bx(Bwe(t),yq,hq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),Cq),gx(Bwe(t),wq),Bx(Bwe(t),_q,Aq);var i=n[3];if(i){lwe(t,gq);var c=i[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),lq);return Sye((function(t,n){return t&&gx(Bwe(e),sq),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),vq)}),t,c),lwe(t,Bq)}else lwe(t,Sq);return gx(Bwe(t),xq),gx(Bwe(t),Tq)})),XB(dPe,(function(r,e,t){var n=Bx(mPe,r,e);return Bx(Swe(oq),n,t)}));var EPe=[0,pPe,bPe,FPe,mPe,dPe],kPe=function r(e,t,n,u){return r.fun(e,t,n,u)},hPe=function r(e,t,n){return r.fun(e,t,n)};XB(kPe,(function(r,e,t,n){gx(Bwe(t),YJ),Bx(Bwe(t),KJ,HJ);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),QJ),gx(Bwe(t),ZJ),Bx(Bwe(t),eq,rq);var a=n[2];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tq),gx(Bwe(t),nq),Bx(Bwe(t),aq,uq);var i=n[3];return Bx(Bwe(t),iq,i),gx(Bwe(t),cq),gx(Bwe(t),fq)})),XB(hPe,(function(r,e,t){var n=Bx(kPe,r,e);return Bx(Swe($J),n,t)}));var yPe=[0,kPe,hPe],CPe=function r(e,t,n,u){return r.fun(e,t,n,u)},wPe=function r(e,t,n){return r.fun(e,t,n)},APe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Pe=function r(e,t,n){return r.fun(e,t,n)};XB(CPe,(function(r,e,t,n){gx(Bwe(t),zJ),Bx(e,t,n[1]),gx(Bwe(t),WJ);var u=n[2];return xx(APe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),VJ)})),XB(wPe,(function(r,e,t){var n=Bx(CPe,r,e);return Bx(Swe(qJ),n,t)})),XB(APe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),PJ);var u=n[1];return xx(oPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),RJ);case 1:gx(Bwe(t),MJ);var a=n[1];return xx(EPe[4],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),jJ);case 2:gx(Bwe(t),UJ);var i=n[1];return xx(yPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),XJ);default:gx(Bwe(t),GJ);var c=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),JJ)}})),XB(_Pe,(function(r,e,t){var n=Bx(APe,r,e);return Bx(Swe(LJ),n,t)})),Sx(eAe,rqr,HAe,[0,KLe,oPe,EPe,yPe,CPe,wPe,APe,_Pe]);var gPe=function r(e,t,n){return r.fun(e,t,n)},BPe=function r(e,t){return r.fun(e,t)},SPe=function r(e,t){return r.fun(e,t)},xPe=function r(e){return r.fun(e)},TPe=function r(e,t){return r.fun(e,t)},IPe=function r(e){return r.fun(e)};XB(gPe,(function(r,e,t){return gx(Bwe(e),IJ),Bx(r,e,t[1]),gx(Bwe(e),NJ),Bx(TPe,e,t[2]),gx(Bwe(e),OJ)})),XB(BPe,(function(r,e){var t=gx(gPe,r);return Bx(Swe(TJ),t,e)})),XB(SPe,(function(r,e){return lwe(r,0===e?xJ:SJ)})),XB(xPe,(function(r){return Bx(Swe(BJ),SPe,r)})),XB(TPe,(function(r,e){gx(Bwe(r),DJ),Bx(Bwe(r),bJ,pJ),Bx(SPe,r,e[1]),gx(Bwe(r),FJ),gx(Bwe(r),mJ),Bx(Bwe(r),EJ,dJ);var t=e[2];Bx(Bwe(r),kJ,t),gx(Bwe(r),hJ),gx(Bwe(r),yJ),Bx(Bwe(r),wJ,CJ);var n=e[3];return Bx(Bwe(r),AJ,n),gx(Bwe(r),_J),gx(Bwe(r),gJ)})),XB(IPe,(function(r){return Bx(Swe(vJ),TPe,r)})),Sx(eAe,eqr,KAe,[0,gPe,BPe,SPe,xPe,TPe,IPe]);var NPe=function r(e,t,n,u){return r.fun(e,t,n,u)},OPe=function r(e,t,n){return r.fun(e,t,n)},LPe=function r(e,t){return r.fun(e,t)},PPe=function r(e){return r.fun(e)},RPe=function r(e,t,n,u){return r.fun(e,t,n,u)},MPe=function r(e,t,n){return r.fun(e,t,n)};XB(NPe,(function(r,e,t,n){gx(Bwe(t),oJ),Bx(e,t,n[1]),gx(Bwe(t),sJ);var u=n[2];return xx(RPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),lJ)})),XB(OPe,(function(r,e,t){var n=Bx(NPe,r,e);return Bx(Swe(fJ),n,t)})),XB(LPe,(function(r,e){switch(e){case 0:return lwe(r,uJ);case 1:return lwe(r,aJ);case 2:return lwe(r,iJ);default:return lwe(r,cJ)}})),XB(PPe,(function(r){return Bx(Swe(nJ),LPe,r)})),XB(RPe,(function(r,e,t,n){gx(Bwe(t),CG),Bx(Bwe(t),AG,wG),Bx(LPe,t,n[1]),gx(Bwe(t),_G),gx(Bwe(t),gG),Bx(Bwe(t),SG,BG);var u=n[2];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xG),gx(Bwe(t),TG),Bx(Bwe(t),NG,IG);var a=n[3];gx(Bwe(t),OG),Bx(r,t,a[1]),gx(Bwe(t),LG);var i=a[2];xx(ZAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),PG),gx(Bwe(t),RG),gx(Bwe(t),MG),Bx(Bwe(t),UG,jG);var c=n[4];Bx(Bwe(t),XG,c),gx(Bwe(t),GG),gx(Bwe(t),JG),Bx(Bwe(t),zG,qG);var f=n[5];gx(Bwe(t),WG);Sye((function(n,u){return n&&gx(Bwe(t),yG),xx(QAe[7][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,f),gx(Bwe(t),VG),gx(Bwe(t),$G),gx(Bwe(t),YG),Bx(Bwe(t),KG,HG);var o=n[6];if(o){lwe(t,QG);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,hG)}),t,s),lwe(t,ZG)}else lwe(t,rJ);return gx(Bwe(t),eJ),gx(Bwe(t),tJ)})),XB(MPe,(function(r,e,t){var n=Bx(RPe,r,e);return Bx(Swe(kG),n,t)}));var jPe=[0,NPe,OPe,LPe,PPe,RPe,MPe],UPe=function r(e,t,n,u){return r.fun(e,t,n,u)},XPe=function r(e,t,n){return r.fun(e,t,n)},GPe=function r(e,t,n,u){return r.fun(e,t,n,u)},JPe=function r(e,t,n){return r.fun(e,t,n)},qPe=function r(e,t,n,u){return r.fun(e,t,n,u)},zPe=function r(e,t,n){return r.fun(e,t,n)};XB(UPe,(function(r,e,t,n){gx(Bwe(t),mG),Bx(e,t,n[1]),gx(Bwe(t),dG);var u=n[2];return xx(GPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),EG)})),XB(XPe,(function(r,e,t){var n=Bx(UPe,r,e);return Bx(Swe(FG),n,t)})),XB(GPe,(function(r,e,t,n){gx(Bwe(t),MX),Bx(Bwe(t),UX,jX);var u=n[1];xx($Ae[7][1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),XX),gx(Bwe(t),GX),Bx(Bwe(t),qX,JX);var a=n[2];xx(qPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),zX),gx(Bwe(t),WX),Bx(Bwe(t),$X,VX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),YX),gx(Bwe(t),HX),Bx(Bwe(t),QX,KX);var c=n[4];Bx(Bwe(t),ZX,c),gx(Bwe(t),rG),gx(Bwe(t),eG),Bx(Bwe(t),nG,tG);var f=n[5];if(f){lwe(t,uG);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,aG)}else lwe(t,iG);gx(Bwe(t),cG),gx(Bwe(t),fG),Bx(Bwe(t),sG,oG);var s=n[6];if(s){lwe(t,lG);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,RX)}),t,l),lwe(t,vG)}else lwe(t,DG);return gx(Bwe(t),pG),gx(Bwe(t),bG)})),XB(JPe,(function(r,e,t){var n=Bx(GPe,r,e);return Bx(Swe(PX),n,t)})),XB(qPe,(function(r,e,t,n){if("number"==typeof n)return lwe(t,0===n?NX:IX);gx(Bwe(t),OX);var u=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),LX)})),XB(zPe,(function(r,e,t){var n=Bx(qPe,r,e);return Bx(Swe(TX),n,t)}));var WPe=[0,UPe,XPe,GPe,JPe,qPe,zPe],VPe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Pe=function r(e,t,n){return r.fun(e,t,n)},YPe=function r(e,t,n,u){return r.fun(e,t,n,u)},HPe=function r(e,t,n){return r.fun(e,t,n)};XB(VPe,(function(r,e,t,n){gx(Bwe(t),BX),Bx(e,t,n[1]),gx(Bwe(t),SX);var u=n[2];return xx(YPe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),xX)})),XB($Pe,(function(r,e,t){var n=Bx(VPe,r,e);return Bx(Swe(gX),n,t)})),XB(YPe,(function(r,e,t,n){gx(Bwe(t),YU),Bx(Bwe(t),KU,HU);var u=n[1];Sx(MAe[1],(function(e){return gx(r,e)}),t,u),gx(Bwe(t),QU),gx(Bwe(t),ZU),Bx(Bwe(t),eX,rX);var a=n[2];xx(QAe[2][5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),tX),gx(Bwe(t),nX),Bx(Bwe(t),aX,uX);var i=n[3];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),iX),gx(Bwe(t),cX),Bx(Bwe(t),oX,fX);var c=n[4];Bx(Bwe(t),sX,c),gx(Bwe(t),lX),gx(Bwe(t),vX),Bx(Bwe(t),pX,DX);var f=n[5];if(f){lwe(t,bX);var o=f[1];Sx(qAe[1],(function(e){return gx(r,e)}),t,o),lwe(t,FX)}else lwe(t,mX);gx(Bwe(t),dX),gx(Bwe(t),EX),Bx(Bwe(t),hX,kX);var s=n[6];if(s){lwe(t,yX);var l=s[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,$U)}),t,l),lwe(t,CX)}else lwe(t,wX);return gx(Bwe(t),AX),gx(Bwe(t),_X)})),XB(HPe,(function(r,e,t){var n=Bx(YPe,r,e);return Bx(Swe(VU),n,t)}));var KPe=[0,VPe,$Pe,YPe,HPe],QPe=function r(e,t,n,u){return r.fun(e,t,n,u)},ZPe=function r(e,t,n){return r.fun(e,t,n)},rRe=function r(e,t,n,u){return r.fun(e,t,n,u)},eRe=function r(e,t,n){return r.fun(e,t,n)};XB(QPe,(function(r,e,t,n){gx(Bwe(t),qU),Bx(r,t,n[1]),gx(Bwe(t),zU);var u=n[2];return xx(rRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),WU)})),XB(ZPe,(function(r,e,t){var n=Bx(QPe,r,e);return Bx(Swe(JU),n,t)})),XB(rRe,(function(r,e,t,n){gx(Bwe(t),wU),Bx(Bwe(t),_U,AU);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),gU),gx(Bwe(t),BU),Bx(Bwe(t),xU,SU);var a=n[2];if(a){lwe(t,TU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,IU)}else lwe(t,NU);gx(Bwe(t),OU),gx(Bwe(t),LU),Bx(Bwe(t),RU,PU);var c=n[3];if(c){lwe(t,MU);var f=c[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,CU)}),t,f),lwe(t,jU)}else lwe(t,UU);return gx(Bwe(t),XU),gx(Bwe(t),GU)})),XB(eRe,(function(r,e,t){var n=Bx(rRe,r,e);return Bx(Swe(yU),n,t)}));var tRe=[0,QPe,ZPe,rRe,eRe],nRe=function r(e,t,n,u){return r.fun(e,t,n,u)},uRe=function r(e,t,n){return r.fun(e,t,n)},aRe=function r(e,t,n,u){return r.fun(e,t,n,u)},iRe=function r(e,t,n){return r.fun(e,t,n)};XB(nRe,(function(r,e,t,n){gx(Bwe(t),EU),Bx(r,t,n[1]),gx(Bwe(t),kU);var u=n[2];return xx(aRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),hU)})),XB(uRe,(function(r,e,t){var n=Bx(nRe,r,e);return Bx(Swe(dU),n,t)})),XB(aRe,(function(r,e,t,n){gx(Bwe(t),iU),Bx(Bwe(t),fU,cU);var u=n[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oU),gx(Bwe(t),sU),Bx(Bwe(t),vU,lU);var a=n[2];if(a){lwe(t,DU);var i=a[1];xx(WAe[21][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,pU)}else lwe(t,bU);return gx(Bwe(t),FU),gx(Bwe(t),mU)})),XB(iRe,(function(r,e,t){var n=Bx(aRe,r,e);return Bx(Swe(aU),n,t)}));var cRe=[0,nRe,uRe,aRe,iRe],fRe=function r(e,t,n,u){return r.fun(e,t,n,u)},oRe=function r(e,t,n){return r.fun(e,t,n)},sRe=function r(e,t,n,u){return r.fun(e,t,n,u)},lRe=function r(e,t,n){return r.fun(e,t,n)};XB(fRe,(function(r,e,t,n){gx(Bwe(t),tU),Bx(r,t,n[1]),gx(Bwe(t),nU);var u=n[2];return xx(sRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),uU)})),XB(oRe,(function(r,e,t){var n=Bx(fRe,r,e);return Bx(Swe(eU),n,t)})),XB(sRe,(function(r,e,t,n){gx(Bwe(t),Xj),Bx(Bwe(t),Jj,Gj);var u=n[1];gx(Bwe(t),qj);Sye((function(n,u){return n&&gx(Bwe(t),Uj),xx(cRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),zj),gx(Bwe(t),Wj),gx(Bwe(t),Vj),Bx(Bwe(t),Yj,$j);var a=n[2];if(a){lwe(t,Hj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,jj)}),t,i),lwe(t,Kj)}else lwe(t,Qj);return gx(Bwe(t),Zj),gx(Bwe(t),rU)})),XB(lRe,(function(r,e,t){var n=Bx(sRe,r,e);return Bx(Swe(Mj),n,t)}));var vRe=[0,cRe,fRe,oRe,sRe,lRe],DRe=function r(e,t,n,u){return r.fun(e,t,n,u)},pRe=function r(e,t,n){return r.fun(e,t,n)},bRe=function r(e,t,n,u){return r.fun(e,t,n,u)},FRe=function r(e,t,n){return r.fun(e,t,n)},mRe=function r(e,t,n,u){return r.fun(e,t,n,u)},dRe=function r(e,t,n){return r.fun(e,t,n)};XB(DRe,(function(r,e,t,n){gx(Bwe(t),Lj),Bx(r,t,n[1]),gx(Bwe(t),Pj);var u=n[2];return xx(bRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),Rj)})),XB(pRe,(function(r,e,t){var n=Bx(DRe,r,e);return Bx(Swe(Oj),n,t)})),XB(bRe,(function(r,e,t,n){gx(Bwe(t),kj),Bx(Bwe(t),yj,hj);var u=n[1];gx(Bwe(t),Cj);Sye((function(n,u){return n&&gx(Bwe(t),Ej),xx(mRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),wj),gx(Bwe(t),Aj),gx(Bwe(t),_j),Bx(Bwe(t),Bj,gj);var a=n[2];if(a){lwe(t,Sj);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,dj)}),t,i),lwe(t,xj)}else lwe(t,Tj);return gx(Bwe(t),Ij),gx(Bwe(t),Nj)})),XB(FRe,(function(r,e,t){var n=Bx(bRe,r,e);return Bx(Swe(mj),n,t)})),XB(mRe,(function(r,e,t,n){switch(n[0]){case 0:gx(Bwe(t),lj);var u=n[1];return xx(jPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),vj);case 1:gx(Bwe(t),Dj);var a=n[1];return xx(WPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),pj);default:gx(Bwe(t),bj);var i=n[1];return xx(KPe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),Fj)}})),XB(dRe,(function(r,e,t){var n=Bx(mRe,r,e);return Bx(Swe(sj),n,t)}));var ERe=function r(e,t,n,u){return r.fun(e,t,n,u)},kRe=function r(e,t,n){return r.fun(e,t,n)},hRe=function r(e,t,n,u){return r.fun(e,t,n,u)},yRe=function r(e,t,n){return r.fun(e,t,n)},CRe=[0,DRe,pRe,bRe,FRe,mRe,dRe];XB(ERe,(function(r,e,t,n){gx(Bwe(t),cj),Bx(r,t,n[1]),gx(Bwe(t),fj);var u=n[2];return xx(hRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),oj)})),XB(kRe,(function(r,e,t){var n=Bx(ERe,r,e);return Bx(Swe(ij),n,t)})),XB(hRe,(function(r,e,t,n){gx(Bwe(t),$M),Bx(Bwe(t),HM,YM);var u=n[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KM),gx(Bwe(t),QM),Bx(Bwe(t),rj,ZM);var a=n[2];if(a){lwe(t,ej);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,VM)}),t,i),lwe(t,tj)}else lwe(t,nj);return gx(Bwe(t),uj),gx(Bwe(t),aj)})),XB(yRe,(function(r,e,t){var n=Bx(hRe,r,e);return Bx(Swe(WM),n,t)}));var wRe=[0,ERe,kRe,hRe,yRe],ARe=function r(e,t,n,u){return r.fun(e,t,n,u)},_Re=function r(e,t,n){return r.fun(e,t,n)};XB(ARe,(function(r,e,t,n){gx(Bwe(t),rM),Bx(Bwe(t),tM,eM);var u=n[1];if(u){lwe(t,nM);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,uM)}else lwe(t,aM);gx(Bwe(t),iM),gx(Bwe(t),cM),Bx(Bwe(t),oM,fM);var i=n[2];xx(QAe[6][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),sM),gx(Bwe(t),lM),Bx(Bwe(t),DM,vM);var c=n[3];if(c){lwe(t,pM);var f=c[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,bM)}else lwe(t,FM);gx(Bwe(t),mM),gx(Bwe(t),dM),Bx(Bwe(t),kM,EM);var o=n[4];if(o){lwe(t,hM);var s=o[1];xx(tRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,s),lwe(t,yM)}else lwe(t,CM);gx(Bwe(t),wM),gx(Bwe(t),AM),Bx(Bwe(t),gM,_M);var l=n[5];if(l){lwe(t,BM);var v=l[1];xx(vRe[2],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),lwe(t,SM)}else lwe(t,xM);gx(Bwe(t),TM),gx(Bwe(t),IM),Bx(Bwe(t),OM,NM);var D=n[6];gx(Bwe(t),LM);Sye((function(n,u){return n&&gx(Bwe(t),ZR),xx(wRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,D),gx(Bwe(t),PM),gx(Bwe(t),RM),gx(Bwe(t),MM),Bx(Bwe(t),UM,jM);var p=n[7];if(p){lwe(t,XM);var b=p[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,QR)}),t,b),lwe(t,GM)}else lwe(t,JM);return gx(Bwe(t),qM),gx(Bwe(t),zM)})),XB(_Re,(function(r,e,t){var n=Bx(ARe,r,e);return Bx(Swe(KR),n,t)})),Sx(eAe,tqr,QAe,[0,jPe,WPe,KPe,tRe,vRe,CRe,wRe,ARe,_Re]);var gRe=function r(e,t,n,u){return r.fun(e,t,n,u)},BRe=function r(e,t,n){return r.fun(e,t,n)},SRe=function r(e,t,n,u){return r.fun(e,t,n,u)},xRe=function r(e,t,n){return r.fun(e,t,n)};XB(gRe,(function(r,e,t,n){gx(Bwe(t),$R),Bx(r,t,n[1]),gx(Bwe(t),YR);var u=n[2];return xx(SRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),HR)})),XB(BRe,(function(r,e,t){var n=Bx(gRe,r,e);return Bx(Swe(VR),n,t)})),XB(SRe,(function(r,e,t,n){gx(Bwe(t),LR),Bx(Bwe(t),RR,PR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),MR),gx(Bwe(t),jR),Bx(Bwe(t),XR,UR);var a=n[2];if(a){lwe(t,GR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,OR)}),t,i),lwe(t,JR)}else lwe(t,qR);return gx(Bwe(t),zR),gx(Bwe(t),WR)})),XB(xRe,(function(r,e,t){var n=Bx(SRe,r,e);return Bx(Swe(NR),n,t)}));var TRe=[0,gRe,BRe,SRe,xRe],IRe=function r(e,t,n,u){return r.fun(e,t,n,u)},NRe=function r(e,t,n){return r.fun(e,t,n)},ORe=function r(e,t,n,u){return r.fun(e,t,n,u)},LRe=function r(e,t,n){return r.fun(e,t,n)};XB(IRe,(function(r,e,t,n){gx(Bwe(t),xR),Bx(r,t,n[1]),gx(Bwe(t),TR);var u=n[2];return xx(ORe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),IR)})),XB(NRe,(function(r,e,t){var n=Bx(IRe,r,e);return Bx(Swe(SR),n,t)})),XB(ORe,(function(r,e,t,n){gx(Bwe(t),mR),Bx(Bwe(t),ER,dR);var u=n[1];xx(HAe[5],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),kR),gx(Bwe(t),hR),Bx(Bwe(t),CR,yR);var a=n[2];if(a){lwe(t,wR);var i=a[1];xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),lwe(t,AR)}else lwe(t,_R);return gx(Bwe(t),gR),gx(Bwe(t),BR)})),XB(LRe,(function(r,e,t){var n=Bx(ORe,r,e);return Bx(Swe(FR),n,t)}));var PRe=[0,IRe,NRe,ORe,LRe],RRe=function r(e,t,n,u){return r.fun(e,t,n,u)},MRe=function r(e,t,n){return r.fun(e,t,n)},jRe=function r(e,t,n,u){return r.fun(e,t,n,u)},URe=function r(e,t,n){return r.fun(e,t,n)};XB(RRe,(function(r,e,t,n){gx(Bwe(t),DR),Bx(r,t,n[1]),gx(Bwe(t),pR);var u=n[2];return xx(jRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),bR)})),XB(MRe,(function(r,e,t){var n=Bx(RRe,r,e);return Bx(Swe(vR),n,t)})),XB(jRe,(function(r,e,t,n){gx(Bwe(t),rR),Bx(Bwe(t),tR,eR);var u=n[1];xx(WAe[15],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nR),gx(Bwe(t),uR),Bx(Bwe(t),iR,aR);var a=n[2];if(a){lwe(t,cR);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,ZP)}),t,i),lwe(t,fR)}else lwe(t,oR);return gx(Bwe(t),sR),gx(Bwe(t),lR)})),XB(URe,(function(r,e,t){var n=Bx(jRe,r,e);return Bx(Swe(QP),n,t)}));var XRe=[0,RRe,MRe,jRe,URe],GRe=function r(e,t,n,u){return r.fun(e,t,n,u)},JRe=function r(e,t,n){return r.fun(e,t,n)},qRe=function r(e,t,n,u){return r.fun(e,t,n,u)},zRe=function r(e,t,n){return r.fun(e,t,n)};XB(GRe,(function(r,e,t,n){gx(Bwe(t),YP),Bx(r,t,n[1]),gx(Bwe(t),HP);var u=n[2];return xx(qRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),KP)})),XB(JRe,(function(r,e,t){var n=Bx(GRe,r,e);return Bx(Swe($P),n,t)})),XB(qRe,(function(r,e,t,n){gx(Bwe(t),kP),Bx(Bwe(t),yP,hP);var u=n[1];if(u){lwe(t,CP);var a=u[1];xx(XRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,wP)}else lwe(t,AP);gx(Bwe(t),_P),gx(Bwe(t),gP),Bx(Bwe(t),SP,BP);var i=n[2];gx(Bwe(t),xP);Sye((function(n,u){return n&&gx(Bwe(t),EP),xx(PRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,i),gx(Bwe(t),TP),gx(Bwe(t),IP),gx(Bwe(t),NP),Bx(Bwe(t),LP,OP);var c=n[3];if(c){lwe(t,PP);var f=c[1];xx(TRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,f),lwe(t,RP)}else lwe(t,MP);gx(Bwe(t),jP),gx(Bwe(t),UP),Bx(Bwe(t),GP,XP);var o=n[4];if(o){lwe(t,JP);var s=o[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(e,t){gx(Bwe(e),mP);return Sye((function(t,n){return t&&gx(Bwe(e),FP),Sx(KAe[1],(function(e){return gx(r,e)}),e,n),1}),0,t),gx(Bwe(e),dP)}),t,s),lwe(t,qP)}else lwe(t,zP);return gx(Bwe(t),WP),gx(Bwe(t),VP)})),XB(zRe,(function(r,e,t){var n=Bx(qRe,r,e);return Bx(Swe(bP),n,t)}));var WRe=[0,GRe,JRe,qRe,zRe],VRe=function r(e,t,n,u){return r.fun(e,t,n,u)},$Re=function r(e,t,n){return r.fun(e,t,n)},YRe=function r(e,t,n,u){return r.fun(e,t,n,u)},HRe=function r(e,t,n){return r.fun(e,t,n)};XB(VRe,(function(r,e,t,n){gx(Bwe(t),pL),Bx(Bwe(t),FL,bL);var u=n[1];if(u){lwe(t,mL);var a=u[1];xx(RAe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),lwe(t,dL)}else lwe(t,EL);gx(Bwe(t),kL),gx(Bwe(t),hL),Bx(Bwe(t),CL,yL);var i=n[2];xx(WRe[1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),wL),gx(Bwe(t),AL),Bx(Bwe(t),gL,_L);var c=n[3];xx(YRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,c),gx(Bwe(t),BL),gx(Bwe(t),SL),Bx(Bwe(t),TL,xL);var f=n[4];Bx(Bwe(t),IL,f),gx(Bwe(t),NL),gx(Bwe(t),OL),Bx(Bwe(t),PL,LL);var o=n[5];Bx(Bwe(t),RL,o),gx(Bwe(t),ML),gx(Bwe(t),jL),Bx(Bwe(t),XL,UL);var s=n[6];if(s){lwe(t,GL);var l=s[1];xx(WAe[22][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,l),lwe(t,JL)}else lwe(t,qL);gx(Bwe(t),zL),gx(Bwe(t),WL),Bx(Bwe(t),$L,VL);var v=n[7];xx(WAe[17],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,v),gx(Bwe(t),YL),gx(Bwe(t),HL),Bx(Bwe(t),QL,KL);var D=n[8];if(D){lwe(t,ZL);var p=D[1];xx(WAe[20][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,p),lwe(t,rP)}else lwe(t,eP);gx(Bwe(t),tP),gx(Bwe(t),nP),Bx(Bwe(t),aP,uP);var b=n[9];if(b){lwe(t,iP);var F=b[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,DL)}),t,F),lwe(t,cP)}else lwe(t,fP);return gx(Bwe(t),oP),gx(Bwe(t),sP),Bx(Bwe(t),vP,lP),Bx(r,t,n[10]),gx(Bwe(t),DP),gx(Bwe(t),pP)})),XB($Re,(function(r,e,t){var n=Bx(VRe,r,e);return Bx(Swe(vL),n,t)})),XB(YRe,(function(r,e,t,n){if(0===n[0]){var u=n[1];gx(Bwe(t),aL),gx(Bwe(t),iL),Bx(r,t,u[1]),gx(Bwe(t),cL);var a=u[2];return xx(VAe[1][1],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,a),gx(Bwe(t),fL),gx(Bwe(t),oL)}gx(Bwe(t),sL);var i=n[1];return xx($Ae[31],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,i),gx(Bwe(t),lL)})),XB(HRe,(function(r,e,t){var n=Bx(YRe,r,e);return Bx(Swe(uL),n,t)})),Sx(eAe,nqr,ZAe,[0,TRe,PRe,XRe,WRe,VRe,$Re,YRe,HRe]);var KRe=function r(e,t,n,u){return r.fun(e,t,n,u)},QRe=function r(e,t,n){return r.fun(e,t,n)},ZRe=function r(e,t,n,u){return r.fun(e,t,n,u)},rMe=function r(e,t,n){return r.fun(e,t,n)};XB(KRe,(function(r,e,t,n){gx(Bwe(t),eL),Bx(r,t,n[1]),gx(Bwe(t),tL);var u=n[2];return xx(ZRe,(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),gx(Bwe(t),nL)})),XB(QRe,(function(r,e,t){var n=Bx(KRe,r,e);return Bx(Swe(rL),n,t)})),XB(ZRe,(function(r,e,t,n){gx(Bwe(t),OO),Bx(Bwe(t),PO,LO);var u=n[1];gx(Bwe(t),RO);Sye((function(n,u){return n&&gx(Bwe(t),NO),xx(VAe[35],(function(e){return gx(r,e)}),(function(r){return gx(e,r)}),t,u),1}),0,u),gx(Bwe(t),MO),gx(Bwe(t),jO),gx(Bwe(t),UO),Bx(Bwe(t),GO,XO);var a=n[2];if(a){lwe(t,JO);var i=a[1];xx(PAe[1],(function(e){return gx(r,e)}),(function(r,e){return lwe(r,IO)}),t,i),lwe(t,qO)}else lwe(t,zO);gx(Bwe(t),WO),gx(Bwe(t),VO),Bx(Bwe(t),YO,$O);var c=n[3];gx(Bwe(t),HO);return Sye((function(e,n){return e&&gx(Bwe(t),TO),Sx(KAe[1],(function(e){return gx(r,e)}),t,n),1}),0,c),gx(Bwe(t),KO),gx(Bwe(t),QO),gx(Bwe(t),ZO)})),XB(rMe,(function(r,e,t){var n=Bx(ZRe,r,e);return Bx(Swe(xO),n,t)})),Sx(eAe,uqr,t_e,[0,KRe,QRe,ZRe,rMe]);var eMe=function(r,e){if(e){var t=e[1],n=gx(r,t);return t===n?e:[0,n]}return e},tMe=function(r,e,t,n,u){var a=Bx(r,e,t);return t===a?n:gx(u,a)},nMe=function(r,e,t,n){var u=gx(r,e);return e===u?t:gx(n,u)},uMe=function(r,e){var t=e[1];return tMe(r,t,e[2],e,(function(r){return[0,t,r]}))},aMe=function(r,e){var t=Sye((function(e,t){var n=gx(r,t),u=e[2]||(n!==t?1:0);return[0,[0,n,e[1]],u]}),Dqr,e);return t[2]?wye(t[1]):e},iMe=Hwe(bqr,(function(r){var e=qwe(r,pqr),t=e[1],n=e[2],u=e[3],a=e[4],i=e[5],c=e[6],f=e[7],o=e[8],s=e[9],v=e[10],D=e[11],p=e[12],b=e[13],F=e[14],m=e[15],d=e[16],E=e[17],k=e[18],h=e[19],y=e[20],C=e[21],w=e[22],A=e[23],_=e[24],B=e[25],x=e[26],T=e[27],I=e[28],N=e[29],O=e[30],L=e[31],P=e[32],R=e[33],M=e[34],j=e[35],U=e[36],X=e[37],G=e[38],J=e[39],q=e[40],z=e[42],W=e[43],V=e[44],$=e[45],Y=e[46],H=e[47],K=e[48],Q=e[49],Z=e[50],rr=e[51],er=e[52],tr=e[53],nr=e[54],ur=e[55],ar=e[56],ir=e[58],cr=e[59],fr=e[60],or=e[61],sr=e[62],lr=e[63],vr=e[64],Dr=e[65],pr=e[66],br=e[67],Fr=e[68],mr=e[69],dr=e[70],Er=e[71],kr=e[72],hr=e[73],yr=e[74],Cr=e[75],wr=e[76],Ar=e[77],_r=e[78],gr=e[79],Br=e[80],Sr=e[81],xr=e[82],Tr=e[83],Ir=e[84],Nr=e[85],Or=e[86],Lr=e[87],Pr=e[88],Rr=e[89],Mr=e[90],jr=e[91],Ur=e[92],Xr=e[93],Gr=e[94],qr=e[95],zr=e[96],Wr=e[97],Vr=e[98],$r=e[99],Yr=e[Fu],Hr=e[CE],Kr=e[EE],Qr=e[$l],Zr=e[sE],re=e[tg],ee=e[Ma],te=e[Uu],ne=e[Bb],ue=e[ak],ae=e[Ve],ie=e[Jr],ce=e[Be],fe=e[eu],oe=e[vi],se=e[sA],le=e[cm],ve=e[wt],De=e[Zd],pe=e[cE],be=e[S_],Fe=e[h_],me=e[g],de=e[xp],Ee=e[jF],ke=e[gd],he=e[TF],ye=e[zy],Ce=e[S],we=e[129],Ae=e[130],_e=e[131],ge=e[132],Se=e[133],xe=e[134],Te=e[135],Ie=e[136],Ne=e[137],Oe=e[138],Le=e[139],Pe=e[140],Re=e[141],Me=e[142],je=e[143],Ue=e[144],Xe=e[145],Ge=e[146],Je=e[147],qe=e[148],ze=e[149],We=e[150],$e=e[151],Ye=e[152],He=e[153],Ke=e[154],Qe=e[155],Ze=e[156],rt=e[157],et=e[158],tt=e[159],nt=e[160],ut=e[161],at=e[162],it=e[163],ct=e[164],ft=e[165],ot=e[166],st=e[167],lt=e[168],vt=e[169],Dt=e[170],pt=e[171],bt=e[172],Ft=e[173],mt=e[174],dt=e[175],Et=e[176],kt=e[177],ht=e[178],yt=e[179],Ct=e[180],At=e[181],_t=e[182],gt=e[183],Bt=e[184],St=e[185],xt=e[186],Tt=e[187],It=e[188],Nt=e[189],Ot=e[190],Lt=e[191],Pt=e[l],Rt=e[193],Mt=e[194],jt=e[195],Ut=e[196],Xt=e[197],Gt=e[198],Jt=e[199],qt=e[200],zt=e[201],Wt=e[202],Vt=e[203],$t=e[204],Yt=e[205],Ht=e[206],Kt=e[207],Qt=e[208],Zt=e[209],rn=e[210],en=e[211],tn=e[212],nn=e[41],un=e[57];return rAe(r,[0,nn,function(r,e){var t=e[2],n=t[3],u=t[2],a=t[1],i=Bx(r[1][w+1],r,a),c=Bx(r[1][I+1],r,u),f=aMe(gx(r[1][At+1],r),n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,f]]},U,function(r,e){var t=e[2],a=e[1];switch(t[0]){case 0:var i=t[1];return tMe(gx(r[1][Vt+1],r),a,i,e,(function(r){return[0,a,[0,r]]}));case 1:var c=t[1];return tMe(gx(r[1][zt+1],r),a,c,e,(function(r){return[0,a,[1,r]]}));case 2:var o=t[1];return tMe(gx(r[1][Rt+1],r),a,o,e,(function(r){return[0,a,[2,r]]}));case 3:var s=t[1];return tMe(gx(r[1][kt+1],r),a,s,e,(function(r){return[0,a,[3,r]]}));case 4:var l=t[1];return tMe(gx(r[1][Et+1],r),a,l,e,(function(r){return[0,a,[4,r]]}));case 5:var v=t[1];return tMe(gx(r[1][dt+1],r),a,v,e,(function(r){return[0,a,[5,r]]}));case 6:var D=t[1];return tMe(gx(r[1][mt+1],r),a,D,e,(function(r){return[0,a,[6,r]]}));case 7:var p=t[1];return tMe(gx(r[1][bt+1],r),a,p,e,(function(r){return[0,a,[7,r]]}));case 8:var b=t[1];return tMe(gx(r[1][pt+1],r),a,b,e,(function(r){return[0,a,[8,r]]}));case 9:var F=t[1];return tMe(gx(r[1][Dt+1],r),a,F,e,(function(r){return[0,a,[9,r]]}));case 10:var m=t[1];return tMe(gx(r[1][vt+1],r),a,m,e,(function(r){return[0,a,[10,r]]}));case 11:var d=t[1];return tMe(gx(r[1][lt+1],r),a,d,e,(function(r){return[0,a,[11,r]]}));case 12:return e;case 13:var E=t[1];return tMe(gx(r[1][st+1],r),a,E,e,(function(r){return[0,a,[13,r]]}));case 14:var h=t[1];return tMe(gx(r[1][ot+1],r),a,h,e,(function(r){return[0,a,[14,r]]}));case 15:var y=t[1];return tMe(gx(r[1][ft+1],r),a,y,e,(function(r){return[0,a,[15,r]]}));case 16:var w=t[1];return tMe(gx(r[1][at+1],r),a,w,e,(function(r){return[0,a,[16,r]]}));case 17:var _=t[1];return tMe(gx(r[1][Qe+1],r),a,_,e,(function(r){return[0,a,[17,r]]}));case 18:var g=t[1];return tMe(gx(r[1][He+1],r),a,g,e,(function(r){return[0,a,[18,r]]}));case 19:var B=t[1];return tMe(gx(r[1][qe+1],r),a,B,e,(function(r){return[0,a,[19,r]]}));case 20:var S=t[1];return tMe(gx(r[1][Re+1],r),a,S,e,(function(r){return[0,a,[20,r]]}));case 21:var x=t[1];return tMe(gx(r[1][Ge+1],r),a,x,e,(function(r){return[0,a,[21,r]]}));case 22:var T=t[1];return tMe(gx(r[1][je+1],r),a,T,e,(function(r){return[0,a,[22,r]]}));case 23:var I=t[1];return tMe(gx(r[1][Ie+1],r),a,I,e,(function(r){return[0,a,[23,r]]}));case 24:var N=t[1];return tMe(gx(r[1][De+1],r),a,N,e,(function(r){return[0,a,[24,r]]}));case 25:var O=t[1];return tMe(gx(r[1][le+1],r),a,O,e,(function(r){return[0,a,[25,r]]}));case 26:var P=t[1];return tMe(gx(r[1][ae+1],r),a,P,e,(function(r){return[0,a,[26,r]]}));case 27:var R=t[1];return tMe(gx(r[1][Mr+1],r),a,R,e,(function(r){return[0,a,[27,r]]}));case 28:var M=t[1];return tMe(gx(r[1][q+1],r),a,M,e,(function(r){return[0,a,[28,r]]}));case 29:var j=t[1];return tMe(gx(r[1][L+1],r),a,j,e,(function(r){return[0,a,[29,r]]}));case 30:var U=t[1];return tMe(gx(r[1][A+1],r),a,U,e,(function(r){return[0,a,[30,r]]}));case 31:var X=t[1];return tMe(gx(r[1][C+1],r),a,X,e,(function(r){return[0,a,[31,r]]}));case 32:var G=t[1];return tMe(gx(r[1][k+1],r),a,G,e,(function(r){return[0,a,[32,r]]}));case 33:var J=t[1];return tMe(gx(r[1][pr+1],r),a,J,e,(function(r){return[0,a,[33,r]]}));case 34:var z=t[1];return tMe(gx(r[1][f+1],r),a,z,e,(function(r){return[0,a,[34,r]]}));case 35:var W=t[1];return tMe(gx(r[1][u+1],r),a,W,e,(function(r){return[0,a,[35,r]]}));default:var V=t[1];return tMe(gx(r[1][n+1],r),a,V,e,(function(r){return[0,a,[36,r]]}))}},At,function(r,e){return e},I,8,eMe,N,N,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][At+1],r),n),a=aMe(gx(r[1][At+1],r),t);return n===u&&t===a?e:[0,u,a,e[3]]},We,function(r,e){var n=e[2],u=e[1];switch(n[0]){case 0:var a=n[1];return tMe(gx(r[1][tn+1],r),u,a,e,(function(r){return[0,u,[0,r]]}));case 1:var i=n[1];return tMe(gx(r[1][Zt+1],r),u,i,e,(function(r){return[0,u,[1,r]]}));case 2:var c=n[1];return tMe(gx(r[1][Qt+1],r),u,c,e,(function(r){return[0,u,[2,r]]}));case 3:var f=n[1];return tMe(gx(r[1][Yt+1],r),u,f,e,(function(r){return[0,u,[3,r]]}));case 4:var s=n[1];return tMe(gx(r[1][qt+1],r),u,s,e,(function(r){return[0,u,[4,r]]}));case 5:var l=n[1];return tMe(gx(r[1][Rt+1],r),u,l,e,(function(r){return[0,u,[5,r]]}));case 6:var D=n[1];return tMe(gx(r[1][Ct+1],r),u,D,e,(function(r){return[0,u,[6,r]]}));case 7:var p=n[1];return tMe(gx(r[1][ht+1],r),u,p,e,(function(r){return[0,u,[7,r]]}));case 8:var b=n[1];return tMe(gx(r[1][Te+1],r),u,b,e,(function(r){return[0,u,[8,r]]}));case 9:var m=n[1];return tMe(gx(r[1][Ee+1],r),u,m,e,(function(r){return[0,u,[9,r]]}));case 10:var d=n[1];return nMe(gx(r[1][Fe+1],r),d,e,(function(r){return[0,u,[10,r]]}));case 11:var E=n[1];return nMe(Bx(r[1][ve+1],r,u),E,e,(function(r){return[0,u,[11,r]]}));case 12:var k=n[1];return tMe(gx(r[1][Kr+1],r),u,k,e,(function(r){return[0,u,[12,r]]}));case 13:var h=n[1];return tMe(gx(r[1][Yr+1],r),u,h,e,(function(r){return[0,u,[13,r]]}));case 14:var y=n[1];return tMe(gx(r[1][Rr+1],r),u,y,e,(function(r){return[0,u,[14,r]]}));case 15:var C=n[1];return tMe(gx(r[1][Pr+1],r),u,C,e,(function(r){return[0,u,[15,r]]}));case 16:var w=n[1];return tMe(gx(r[1][Lr+1],r),u,w,e,(function(r){return[0,u,[16,r]]}));case 17:var A=n[1];return tMe(gx(r[1][xr+1],r),u,A,e,(function(r){return[0,u,[17,r]]}));case 18:var g=n[1];return tMe(gx(r[1][Sr+1],r),u,g,e,(function(r){return[0,u,[18,r]]}));case 19:var B=n[1];return tMe(gx(r[1][_r+1],r),u,B,e,(function(r){return[0,u,[19,r]]}));case 20:var S=n[1];return nMe(Bx(r[1][Dr+1],r,u),S,e,(function(r){return[0,u,[20,r]]}));case 21:var I=n[1];return tMe(gx(r[1][vr+1],r),u,I,e,(function(r){return[0,u,[21,r]]}));case 22:var N=n[1];return tMe(gx(r[1][J+1],r),u,N,e,(function(r){return[0,u,[22,r]]}));case 23:var O=n[1];return tMe(gx(r[1][P+1],r),u,O,e,(function(r){return[0,u,[23,r]]}));case 24:var L=n[1];return tMe(gx(r[1][T+1],r),u,L,e,(function(r){return[0,u,[24,r]]}));case 25:var R=n[1];return tMe(gx(r[1][x+1],r),u,R,e,(function(r){return[0,u,[25,r]]}));case 26:var M=n[1];return tMe(gx(r[1][_+1],r),u,M,e,(function(r){return[0,u,[26,r]]}));case 27:var j=n[1];return tMe(gx(r[1][F+1],r),u,j,e,(function(r){return[0,u,[27,r]]}));case 28:var U=n[1];return tMe(gx(r[1][v+1],r),u,U,e,(function(r){return[0,u,[28,r]]}));case 29:var X=n[1];return tMe(gx(r[1][o+1],r),u,X,e,(function(r){return[0,u,[29,r]]}));default:var G=n[1];return tMe(gx(r[1][t+1],r),u,G,e,(function(r){return[0,u,[30,r]]}))}},tn,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][en+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},en,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}));default:return e}},Zt,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][Kt+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Yt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][M+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},zt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},qt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=Bx(r[1][Jt+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Jt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][ze+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Dr,function(r,e,t){var n=t[1],u=Sx(r[1][qt+1],r,e,n);return n===u?t:[0,u,t[2]]},Xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Gt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Gt,function(r,e){if(0===e[0]){var t=e[1],n=Bx(r[1][h+1],r,t);return n===t?e:[0,n]}var u=e[1],a=u[2][1],i=Bx(r[1][I+1],r,a);return a===i?e:[1,[0,u[1],[0,i]]]},Ut,function(r,e){return uMe(gx(r[1][Vt+1],r),e)},jt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][Mt+1],r),a),c=Bx(r[1][Ut+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[2],f=t[1],o=eMe(gx(r[1][It+1],r),f),s=Bx(r[1][Pt+1],r,c),l=gx(r[1][Nt+1],r),v=eMe((function(r){return uMe(l,r)}),i),D=eMe(gx(r[1][Tt+1],r),a),p=aMe(gx(r[1][Lt+1],r),u),b=Bx(r[1][I+1],r,n);return f===o&&c===s&&i===v&&a===D&&u===p&&DS(n,b)?t:[0,o,s,t[3],v,D,p,b]},Nt,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},It,function(r,e){return Sx(r[1][ur+1],r,aqr,e)},Pt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][Ot+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Lt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ot,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][St+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1],i=a[1],c=a[2];return tMe(gx(r[1][gt+1],r),i,c,e,(function(r){return[1,[0,i,r]]}));default:var f=e[1],o=f[1],s=f[2];return tMe(gx(r[1][Bt+1],r),o,s,e,(function(r){return[2,[0,o,r]]}))}},Tt,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][xt+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},xt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][m+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},St,function(r,e,t){var n=t[6],u=t[5],a=t[3],i=t[2],c=Bx(r[1][yr+1],r,i),f=uMe(gx(r[1][Te+1],r),a),o=aMe(gx(r[1][Lt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,t[1],c,f,t[4],o,s]},gt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][yr+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},_t,function(r,e){if("number"==typeof e)return e;var t=e[1],n=Bx(r[1][We+1],r,t);return t===n?e:[0,n]},Bt,function(r,e,t){var n=t[6],u=t[5],i=t[3],c=t[2],f=t[1],o=Bx(r[1][z+1],r,f),s=Bx(r[1][_t+1],r,c),l=Bx(r[1][d+1],r,i),v=Bx(r[1][a+1],r,u),D=Bx(r[1][I+1],r,n);return f===o&&c===s&&l===i&&v===u&&D===n?t:[0,o,s,l,t[4],v,D]},Ct,function(r,e,t){return t},ht,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][We+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&DS(n,s)?t:[0,c,f,o,s]},kt,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][jr+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Et,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},dt,function(r,e,t){var n=t[7],u=t[6],a=t[5],i=t[4],c=t[3],f=t[2],o=t[1],s=Bx(r[1][It+1],r,o),l=eMe(gx(r[1][p+1],r),f),v=uMe(gx(r[1][br+1],r),c),D=gx(r[1][me+1],r),b=eMe((function(r){return uMe(D,r)}),i),F=gx(r[1][me+1],r),m=aMe((function(r){return uMe(F,r)}),a),d=eMe(gx(r[1][Tt+1],r),u),E=Bx(r[1][I+1],r,n);return s===o&&l===f&&v===c&&b===i&&m===a&&d===u&&E===n?t:[0,s,l,v,b,m,d,E]},mt,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][Ft+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],c,i,t[4],f]},Ft,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[2],u=t[1],a=Sx(r[1][st+1],r,u,n);return a===n?e:[0,[0,u,a]];case 1:var i=e[1],c=i[2],f=i[1],o=Sx(r[1][bt+1],r,f,c);return o===c?e:[1,[0,f,o]];case 2:var s=e[1],l=s[2],v=s[1],D=Sx(r[1][dt+1],r,v,l);return D===l?e:[2,[0,v,D]];case 3:var p=e[1],b=Bx(r[1][h+1],r,p);return b===p?e:[3,b];case 4:var F=e[1],m=F[2],d=F[1],E=Sx(r[1][k+1],r,d,m);return E===m?e:[4,[0,d,E]];case 5:var y=e[1],C=y[2],w=y[1],A=Sx(r[1][pr+1],r,w,C);return A===C?e:[5,[0,w,A]];default:var _=e[1],g=_[2],B=_[1],S=Sx(r[1][ie+1],r,B,g);return S===g?e:[6,[0,B,S]]}},bt,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][xe+1],r,i),f=Bx(r[1][E+1],r,a),o=eMe(gx(r[1][V+1],r),u),s=Bx(r[1][I+1],r,n);return c===i&&f===a&&o===u&&s===n?t:[0,c,f,o,s]},pt,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},Dt,function(r,e,t){var n=t[4],u=t[2],a=uMe(gx(r[1][Vt+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&DS(n,i)?t:[0,t[1],a,t[3],i]},vt,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},lt,function(r,e,t){return Sx(r[1][k+1],r,e,t)},st,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][ur+1],r,iqr,a),c=Bx(r[1][d+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},ot,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][U+1],r,a),c=Bx(r[1][W+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},ft,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},at,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=u[2],f=u[1];switch(c[0]){case 0:var o=c[1],s=nMe(gx(r[1][ct+1],r),o,u,(function(r){return[0,f,[0,r]]}));break;case 1:var l=c[1];s=nMe(gx(r[1][nt+1],r),l,u,(function(r){return[0,f,[1,r]]}));break;case 2:var v=c[1];s=nMe(gx(r[1][et+1],r),v,u,(function(r){return[0,f,[2,r]]}));break;default:var D=c[1];s=nMe(gx(r[1][Ze+1],r),D,u,(function(r){return[0,f,[3,r]]}))}var p=Bx(r[1][I+1],r,n);return a===i&&u===s&&n===p?t:[0,i,s,p]},ct,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][it+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},nt,function(r,e){var t=e[4],n=e[1],u=aMe(gx(r[1][tt+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],e[3],a]},et,function(r,e){var t=e[4],n=e[1];if(0===n[0])var u=n[1],a=[0,aMe(gx(r[1][ut+1],r),u)];else{var i=n[1];a=[1,aMe(gx(r[1][rt+1],r),i)]}var c=Bx(r[1][I+1],r,t);return n===a&&t===c?e:[0,a,e[2],e[3],c]},Ze,function(r,e){var t=e[3],n=e[1],u=aMe(gx(r[1][ut+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},ut,function(r,e){var t=e[2][1],n=Bx(r[1][Fe+1],r,t);return DS(t,n)?e:[0,e[1],[0,n]]},it,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},tt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},rt,function(r,e){var t=e[2],n=t[1],u=Bx(r[1][Fe+1],r,n);return DS(n,u)?e:[0,e[1],[0,u,t[2]]]},Qe,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][Ke+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?t:[0,t[1],a,i]},Ke,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][U+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][We+1],r),n,e,(function(r){return[1,r]}))},He,function(r,e,t){var n=t[5],u=t[2],a=t[1],i=eMe(gx(r[1][$e+1],r),u),c=eMe(gx(r[1][U+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,c,i,t[3],t[4],f]},Ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=eMe(gx(r[1][Fe+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},$e,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][Ye+1],r),t);return t===n?e:[0,n]}var u=e[2],a=eMe(gx(r[1][Fe+1],r),u);return u===a?e:[1,e[1],a]},qe,function(r,e,t){var n=t[3],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,t[2],i]},ze,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][We+1],r),t,e,(function(r){return[0,r]}))}var n=e[1];return nMe(gx(r[1][G+1],r),n,e,(function(r){return[1,r]}))},Ge,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Xe+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Xe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Je+1],r),a,e,(function(r){return[1,r]}))},je,function(r,e,t){var n=t[5],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Me+1],r,i),f=Bx(r[1][We+1],r,a),o=Bx(r[1][U+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,t[4],s]},Me,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][Ue+1],r),a,e,(function(r){return[1,r]}))},Re,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=eMe(gx(r[1][Pe+1],r),c),o=eMe(gx(r[1][W+1],r),i),s=eMe(gx(r[1][We+1],r),a),l=Bx(r[1][U+1],r,u),v=Bx(r[1][I+1],r,n);return c===f&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},Pe,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][f+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},_e,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,n),i=eMe(gx(r[1][Fe+1],r),u);return a===n&&i===u?e:[0,e[1],[0,i,a,t[3]]]},Ce,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][_e+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},he,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},ke,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=a[2],c=i[4],f=i[3],o=i[2],s=i[1],l=t[1],v=eMe(gx(r[1][he+1],r),s),D=aMe(gx(r[1][_e+1],r),o),b=eMe(gx(r[1][Ce+1],r),f),F=Bx(r[1][h+1],r,u),m=eMe(gx(r[1][p+1],r),l),d=Bx(r[1][I+1],r,n),E=Bx(r[1][I+1],r,c);return D===o&&b===f&&F===u&&m===l&&d===n&&E===c&&v===s?t:[0,m,[0,a[1],[0,v,D,b,E]],F,d]},jr,function(r,e){return Bx(r[1][Fe+1],r,e)},mr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][h+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][ke+1],r),u,a,e,(function(r){return[1,[0,u,r]]}));default:var i=e[1],c=i[1],f=i[2];return tMe(gx(r[1][ke+1],r),c,f,e,(function(r){return[2,[0,c,r]]}))}},dr,function(r,e){var t=e[2],n=t[8],u=t[7],i=t[2],c=t[1],f=Bx(r[1][yr+1],r,c),o=Bx(r[1][mr+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,t[3],t[4],t[5],t[6],s,l]]},Fr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][h+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?e:[0,e[1],[0,a,i]]},wr,function(r,e){var t=e[2],n=t[6],u=t[5],i=t[3],c=t[2],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=Bx(r[1][a+1],r,u),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,t[1],f,o,t[4],s,l]]},Cr,function(r,e){var t=e[2],n=t[6],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][h+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?e:[0,e[1],[0,i,c,t[3],t[4],t[5],f]]},Ar,function(r,e){var t=e[2],n=t[3],u=t[1],a=u[2],i=u[1],c=Sx(r[1][ke+1],r,i,a),f=Bx(r[1][I+1],r,n);return a===c&&n===f?e:[0,e[1],[0,[0,i,c],t[2],f]]},br,function(r,e,t){var n=t[4],u=t[3],a=aMe((function(e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][dr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Fr+1],r),n,e,(function(r){return[1,r]}));case 2:var u=e[1];return nMe(gx(r[1][wr+1],r),u,e,(function(r){return[2,r]}));case 3:var a=e[1];return nMe(gx(r[1][Ar+1],r),a,e,(function(r){return[3,r]}));default:var i=e[1];return nMe(gx(r[1][Cr+1],r),i,e,(function(r){return[4,r]}))}}),u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,t[1],t[2],a,i]},ue,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=gx(r[1][me+1],r),c=aMe((function(r){return uMe(i,r)}),u),f=uMe(gx(r[1][br+1],r),a),o=Bx(r[1][I+1],r,n);return c===u&&f===a&&n===o?t:[0,f,c,o]},de,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][Fe+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[2],a=u[2],i=u[1],c=Bx(r[1][de+1],r,i),f=Bx(r[1][Fe+1],r,a);return c===i&&f===a?e:[1,[0,n[1],[0,c,f]]]},a,function(r,e){if(e){var t=e[1],n=t[2],u=n[2],a=Bx(r[1][I+1],r,u);if(u===a)return e;var i=[0,[0,t[1],[0,n[1],a]]]}else i=e;return i},m,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][h+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},p,function(r,e){var t=e[2],n=t[2],u=t[1],a=aMe(gx(r[1][b+1],r),u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},b,function(r,e){var t=e[2],n=t[4],u=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][a+1],r,u),l=eMe(gx(r[1][h+1],r),n);return f===c&&o===i&&s===u&&l===n?e:[0,e[1],[0,f,o,s,l]]},me,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][de+1],r,a),c=eMe(gx(r[1][m+1],r),u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},R,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},gr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Ht,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Wt,function(r,e,t){var n=t[2],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],u]},Br,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},D,function(r,e){var t=e[3],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,e[2],a]},y,function(r,e){var t=e[2],n=e[1],u=aMe(gx(r[1][h+1],r),n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},rn,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][h+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},s,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},ne,function(r,e,t){var n=t[2],u=t[1],a=u[3],i=u[2],c=u[1],f=Bx(r[1][h+1],r,c),o=Bx(r[1][h+1],r,i),s=aMe(gx(r[1][h+1],r),a),l=Bx(r[1][I+1],r,n);return f===c&&o===i&&s===a&&l===n?t:[0,[0,f,o,s],l]},h,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return nMe(gx(r[1][I+1],r),u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return nMe(gx(r[1][I+1],r),a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return nMe(gx(r[1][I+1],r),i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][I+1],r),c,e,(function(r){return[0,n,[3,r]]}));case 4:var f=t[1];return nMe(gx(r[1][I+1],r),f,e,(function(r){return[0,n,[4,r]]}));case 5:var o=t[1];return nMe(gx(r[1][I+1],r),o,e,(function(r){return[0,n,[5,r]]}));case 6:var l=t[1];return nMe(gx(r[1][I+1],r),l,e,(function(r){return[0,n,[6,r]]}));case 7:var v=t[1];return nMe(gx(r[1][I+1],r),v,e,(function(r){return[0,n,[7,r]]}));case 8:var p=t[1];return nMe(gx(r[1][I+1],r),p,e,(function(r){return[0,n,[8,r]]}));case 9:var b=t[1];return nMe(gx(r[1][I+1],r),b,e,(function(r){return[0,n,[9,r]]}));case 10:var F=t[1];return nMe(gx(r[1][I+1],r),F,e,(function(r){return[0,n,[10,r]]}));case 11:var m=t[1];return nMe(gx(r[1][Br+1],r),m,e,(function(r){return[0,n,[11,r]]}));case 12:var d=t[1];return tMe(gx(r[1][ke+1],r),n,d,e,(function(r){return[0,n,[12,r]]}));case 13:var E=t[1];return tMe(gx(r[1][br+1],r),n,E,e,(function(r){return[0,n,[13,r]]}));case 14:var k=t[1];return tMe(gx(r[1][ue+1],r),n,k,e,(function(r){return[0,n,[14,r]]}));case 15:var h=t[1];return nMe(gx(r[1][rn+1],r),h,e,(function(r){return[0,n,[15,r]]}));case 16:var C=t[1];return tMe(gx(r[1][me+1],r),n,C,e,(function(r){return[0,n,[16,r]]}));case 17:var w=t[1];return tMe(gx(r[1][s+1],r),n,w,e,(function(r){return[0,n,[17,r]]}));case 18:var A=t[1];return tMe(gx(r[1][ne+1],r),n,A,e,(function(r){return[0,n,[18,r]]}));case 19:var _=t[1];return nMe(gx(r[1][D+1],r),_,e,(function(r){return[0,n,[19,r]]}));case 20:var g=t[1];return nMe(gx(r[1][y+1],r),g,e,(function(r){return[0,n,[20,r]]}));case 21:var B=t[1];return tMe(gx(r[1][R+1],r),n,B,e,(function(r){return[0,n,[21,r]]}));case 22:var S=t[1];return tMe(gx(r[1][gr+1],r),n,S,e,(function(r){return[0,n,[22,r]]}));case 23:var x=t[1];return tMe(gx(r[1][Ht+1],r),n,x,e,(function(r){return[0,n,[23,r]]}));default:var T=t[1];return tMe(gx(r[1][Wt+1],r),n,T,e,(function(r){return[0,n,[24,r]]}))}},E,function(r,e){var t=e[1],n=e[2];return nMe(gx(r[1][h+1],r),n,e,(function(r){return[0,t,r]}))},d,function(r,e){if(0===e[0])return e;var t=e[1],n=Bx(r[1][E+1],r,t);return n===t?e:[1,n]},Ie,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Te,function(r,e,t){return Sx(r[1][Le+1],r,e,t)},Le,function(r,e,t){var n=t[9],u=t[8],a=t[7],i=t[6],c=t[3],f=t[2],o=t[1],s=eMe(gx(r[1][xe+1],r),o),l=Bx(r[1][Ae+1],r,f),v=Bx(r[1][d+1],r,a),D=Bx(r[1][Ne+1],r,c),b=eMe(gx(r[1][V+1],r),i),F=eMe(gx(r[1][p+1],r),u),m=Bx(r[1][I+1],r,n);return o===s&&f===l&&c===D&&DS(i,b)&&a===v&&u===F&&n===m?t:[0,s,l,D,t[4],t[5],b,v,F,m,t[10]]},Ae,function(r,e){var t=e[2],n=t[4],u=t[3],a=t[2],i=t[1],c=aMe(gx(r[1][Se+1],r),a),f=eMe(gx(r[1][we+1],r),u),o=eMe(gx(r[1][ye+1],r),i),s=Bx(r[1][I+1],r,n);return a===c&&u===f&&n===s&&i===o?e:[0,e[1],[0,o,c,f,s]]},ye,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][E+1],r,u),i=Bx(r[1][I+1],r,n);return a===u&&i===n?e:[0,e[1],[0,a,i]]},Se,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][ge+1],r,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Ne,function(r,e){if(0===e[0]){var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Oe+1],r),n,u,e,(function(r){return[0,[0,n,r]]}))}var a=e[1];return nMe(gx(r[1][We+1],r),a,e,(function(r){return[1,r]}))},Oe,function(r,e,t){return Sx(r[1][Vt+1],r,e,t)},xe,function(r,e){return Sx(r[1][ur+1],r,cqr,e)},Ee,function(r,e,t){return t},Fe,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},ie,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][It+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=gx(r[1][me+1],r),l=aMe((function(r){return uMe(s,r)}),a),v=uMe(gx(r[1][br+1],r),u),D=Bx(r[1][I+1],r,n);return f===c&&o===i&&l===a&&v===u&&D===n?t:[0,f,o,l,v,D]},ae,function(r,e,t){return Sx(r[1][ie+1],r,e,t)},z,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][Fe+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},yt,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},ve,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},pe,function(r,e,t){return Bx(r[1][U+1],r,t)},be,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][U+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},De,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][W+1],r,i),f=Sx(r[1][pe+1],r,0!==u?1:0,a),o=gx(r[1][be+1],r),s=eMe((function(r){return uMe(o,r)}),u),l=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===s&&n===l?t:[0,c,f,s,l]},le,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=eMe(gx(r[1][ce+1],r),u),c=eMe(gx(r[1][se+1],r),a),f=Bx(r[1][I+1],r,n);return u===i&&a===c&&n===f?t:[0,t[1],t[2],c,i,f]},ce,function(r,e){if(0===e[0]){var t=e[1],n=aMe(gx(r[1][oe+1],r),t);return t===n?e:[0,n]}var u=e[1],a=u[1],i=u[2];return tMe(gx(r[1][fe+1],r),a,i,e,(function(r){return[1,[0,a,r]]}))},oe,function(r,e){var t=e[3],n=e[2],u=Bx(r[1][Fe+1],r,t);if(n)var a=n[1],i=nMe(Bx(r[1][ur+1],r,fqr),a,n,(function(r){return[0,r]}));else i=n;return n===i&&t===u?e:[0,e[1],i,u]},se,function(r,e){return Sx(r[1][ur+1],r,oqr,e)},fe,function(r,e,t){return Sx(r[1][ur+1],r,sqr,t)},Kr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Gr+1],r,i),f=eMe(gx(r[1][Qr+1],r),a),o=Bx(r[1][Zr+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},Yr,function(r,e,t){var n=t[4],u=t[3],a=Bx(r[1][Zr+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],t[2],a,i]},Gr,function(r,e){var t=e[2],n=t[3],u=t[1],a=Bx(r[1][Wr+1],r,u),i=aMe(gx(r[1][qr+1],r),n);return u===a&&n===i?e:[0,e[1],[0,a,t[2],i]]},Qr,function(r,e){var t=e[2][1],n=Bx(r[1][Wr+1],r,t);return t===n?e:[0,e[1],[0,n]]},qr,function(r,e){if(0===e[0]){var t=e[1];return nMe(gx(r[1][te+1],r),t,e,(function(r){return[0,r]}))}var n=e[1],u=n[1],a=n[2];return tMe(gx(r[1][Xr+1],r),u,a,e,(function(r){return[1,[0,u,r]]}))},Xr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},te,function(r,e){var t=e[2],n=t[2],u=eMe(gx(r[1][ee+1],r),n);return n===u?e:[0,e[1],[0,t[1],u]]},ee,function(r,e){if(0===e[0])return e;var t=e[1],n=e[2];return tMe(gx(r[1][Hr+1],r),t,n,e,(function(r){return[1,t,r]}))},Zr,function(r,e){var t=e[2],n=aMe(gx(r[1][re+1],r),t);return t===n?e:[0,e[1],n]},re,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[1];return tMe(gx(r[1][Kr+1],r),n,u,e,(function(r){return[0,n,[0,r]]}));case 1:var a=t[1];return tMe(gx(r[1][Yr+1],r),n,a,e,(function(r){return[0,n,[1,r]]}));case 2:var i=t[1];return tMe(gx(r[1][Hr+1],r),n,i,e,(function(r){return[0,n,[2,r]]}));case 3:var c=t[1];return nMe(gx(r[1][Ur+1],r),c,e,(function(r){return[0,n,[3,r]]}));default:return e}},Hr,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][I+1],r,n);if(u){var i=u[1],c=Bx(r[1][We+1],r,i);return i===c&&n===a?t:[0,[0,c],a]}return n===a?t:[0,0,a]},Ur,function(r,e){var t=e[2],n=e[1],u=Bx(r[1][We+1],r,n),a=Bx(r[1][I+1],r,t);return n===u&&t===a?e:[0,u,a]},Wr,function(r,e){switch(e[0]){case 0:var t=[0,Bx(r[1][$r+1],r,e[1])];break;case 1:t=[1,Bx(r[1][zr+1],r,e[1])];break;default:t=[2,Bx(r[1][Vr+1],r,e[1])]}return DS(e,t)?e:t},zr,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][$r+1],r,u),i=Bx(r[1][$r+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},Vr,function(r,e){var t=e[2],n=t[2],u=t[1];if(0===u[0])var a=u[1],i=Bx(r[1][$r+1],r,a),c=i===a?u:[0,i];else{var f=u[1],o=Bx(r[1][Vr+1],r,f);c=o===f?u:[1,o]}var s=Bx(r[1][$r+1],r,n);return u===c&&n===s?e:[0,e[1],[0,c,s]]},$r,function(r,e){var t=e[2],n=t[2],u=Bx(r[1][I+1],r,n);return n===u?e:[0,e[1],[0,t[1],u]]},Mr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][jr+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Rr,function(r,e,t){var n=t[3],u=Bx(r[1][I+1],r,n);return n===u?t:[0,t[1],t[2],u]},Pr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=Bx(r[1][We+1],r,a),c=Bx(r[1][We+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,t[1],i,c,f]},Lr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][Nr+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},vr,function(r,e,t){var n=t[1],u=Sx(r[1][Lr+1],r,e,n);return n===u?t:[0,u,t[2]]},Nr,function(r,e){switch(e[0]){case 0:var t=e[1];return nMe(gx(r[1][Tr+1],r),t,e,(function(r){return[0,r]}));case 1:var n=e[1];return nMe(gx(r[1][Or+1],r),n,e,(function(r){return[1,r]}));default:var u=e[1];return nMe(gx(r[1][Ir+1],r),u,e,(function(r){return[2,r]}))}},Tr,function(r,e){return Bx(r[1][Fe+1],r,e)},Or,function(r,e){return Bx(r[1][z+1],r,e)},Ir,function(r,e){return Bx(r[1][We+1],r,e)},xr,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][Fe+1],r,a),c=Bx(r[1][Fe+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},Sr,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][We+1],r,i),f=eMe(gx(r[1][Xt+1],r),a),o=eMe(gx(r[1][Jt+1],r),u),s=Bx(r[1][I+1],r,n);return i===c&&a===f&&u===o&&n===s?t:[0,c,f,o,s]},_r,function(r,e,t){var n=t[2],u=t[1],a=aMe((function(e){if(0===e[0]){var t=e[1],n=Bx(r[1][Er+1],r,t);return t===n?e:[0,n]}var u=e[1],a=Bx(r[1][X+1],r,u);return u===a?e:[1,a]}),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},Er,function(r,e){var t=e[2],n=e[1];switch(t[0]){case 0:var u=t[2],a=t[1],i=Bx(r[1][yr+1],r,a),c=Bx(r[1][We+1],r,u);return a===i&&u===c?e:[0,n,[0,i,c,t[3]]];case 1:var f=t[2],o=t[1],s=Bx(r[1][yr+1],r,o),l=uMe(gx(r[1][Te+1],r),f);return o===s&&f===l?e:[0,n,[1,s,l]];case 2:var v=t[3],D=t[2],p=t[1],b=Bx(r[1][yr+1],r,p),F=uMe(gx(r[1][Te+1],r),D),m=Bx(r[1][I+1],r,v);return p===b&&D===F&&v===m?e:[0,n,[2,b,F,m]];default:var d=t[3],E=t[2],k=t[1],h=Bx(r[1][yr+1],r,k),y=uMe(gx(r[1][Te+1],r),E),C=Bx(r[1][I+1],r,d);return k===h&&E===y&&d===C?e:[0,n,[3,h,y,C]]}},yr,function(r,e){switch(e[0]){case 0:var t=e[1],n=t[1],u=t[2];return tMe(gx(r[1][Rr+1],r),n,u,e,(function(r){return[0,[0,n,r]]}));case 1:var a=e[1];return nMe(gx(r[1][kr+1],r),a,e,(function(r){return[1,r]}));case 2:var i=e[1];return nMe(gx(r[1][z+1],r),i,e,(function(r){return[2,r]}));default:var c=e[1];return nMe(gx(r[1][hr+1],r),c,e,(function(r){return[3,r]}))}},kr,function(r,e){return Bx(r[1][Fe+1],r,e)},hr,function(r,e){return Bx(r[1][yt+1],r,e)},pr,function(r,e,t){var n=t[5],u=t[4],a=t[3],i=t[2],c=t[1],f=Bx(r[1][Fe+1],r,c),o=eMe(gx(r[1][p+1],r),i),s=eMe(gx(r[1][h+1],r),a),l=eMe(gx(r[1][h+1],r),u),v=Bx(r[1][I+1],r,n);return c===f&&a===s&&i===o&&a===s&&u===l&&n===v?t:[0,f,o,s,l,v]},ge,function(r,e){return Sx(r[1][$t+1],r,0,e)},i,function(r,e,t){return Sx(r[1][$t+1],r,[0,e],t)},Mt,function(r,e){return Sx(r[1][$t+1],r,lqr,e)},Je,function(r,e){return Bx(r[1][Kt+1],r,e)},Ue,function(r,e){return Bx(r[1][Kt+1],r,e)},$t,function(r,e,t){var n=e?e[1]:e;return Sx(r[1][lr+1],r,[0,n],t)},Kt,function(r,e){return Sx(r[1][lr+1],r,0,e)},lr,function(r,e,t){var n=t[2];switch(n[0]){case 0:var u=n[1],a=u[3],i=u[2],c=u[1],f=aMe(Bx(r[1][tr+1],r,e),c),o=Bx(r[1][d+1],r,i),s=Bx(r[1][I+1],r,a);if(f===c)if(o===i)if(s===a)var l=n,v=1;else v=0;else v=0;else v=0;if(!v)l=[0,[0,f,o,s]];var D=l;break;case 1:var p=n[1],b=p[3],F=p[2],m=p[1],E=aMe(Bx(r[1][sr+1],r,e),m),k=Bx(r[1][d+1],r,F),h=Bx(r[1][I+1],r,b);if(b===h)if(E===m)if(k===F)var y=n,C=1;else C=0;else C=0;else C=0;if(!C)y=[1,[0,E,k,h]];D=y;break;case 2:var w=n[1],A=w[2],_=w[1],g=Sx(r[1][ur+1],r,e,_),B=Bx(r[1][d+1],r,A);if(_===g)if(A===B)var S=n,x=1;else x=0;else x=0;if(!x)S=[2,[0,g,B,w[3]]];D=S;break;default:var T=n[1];D=nMe(gx(r[1][ar+1],r),T,n,(function(r){return[3,r]}))}return n===D?t:[0,t[1],D]},ur,function(r,e,t){return Bx(r[1][Fe+1],r,t)},nr,function(r,e,t,n){return Sx(r[1][Rr+1],r,t,n)},tr,function(r,e,t){if(0===t[0]){var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][er+1],r,e),a,t,(function(r){return[0,[0,u,r]]}))}var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][Y+1],r,e),f,t,(function(r){return[1,[0,c,r]]}))},er,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Sx(r[1][Q+1],r,e,a),c=Sx(r[1][H+1],r,e,u),f=eMe(gx(r[1][We+1],r),n);return i===a&&c===u&&f===n?t:[0,i,c,f,0]},Q,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return tMe(Bx(r[1][K+1],r,e),u,a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1];return nMe(Bx(r[1][Z+1],r,e),i,t,(function(r){return[1,r]}));default:var c=t[1];return nMe(Bx(r[1][rr+1],r,e),c,t,(function(r){return[2,r]}))}},K,function(r,e,t,n){return xx(r[1][nr+1],r,e,t,n)},Z,function(r,e,t){return Sx(r[1][ur+1],r,e,t)},rr,function(r,e,t){return Bx(r[1][yt+1],r,t)},Y,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][$+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},H,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},$,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},sr,function(r,e,t){switch(t[0]){case 0:var n=t[1],u=n[1],a=n[2];return nMe(Bx(r[1][or+1],r,e),a,t,(function(r){return[0,[0,u,r]]}));case 1:var i=t[1],c=i[1],f=i[2];return nMe(Bx(r[1][cr+1],r,e),f,t,(function(r){return[1,[0,c,r]]}));default:return t}},or,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][fr+1],r,e,u),i=eMe(gx(r[1][We+1],r),n);return u===a&&n===i?t:[0,a,i]},fr,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},cr,function(r,e,t){var n=t[2],u=t[1],a=Sx(r[1][ir+1],r,e,u),i=Bx(r[1][I+1],r,n);return a===u&&n===i?t:[0,a,i]},ir,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},un,function(r,e,t){return Sx(r[1][lr+1],r,e,t)},ar,function(r,e){return Bx(r[1][We+1],r,e)},V,function(r,e){var t=e[2],n=t[2],u=t[1];if(u)var a=u[1],i=nMe(gx(r[1][We+1],r),a,u,(function(r){return[0,r]}));else i=u;var c=Bx(r[1][I+1],r,n);return u===i&&n===c?e:[0,e[1],[0,i,c]]},W,function(r,e){return Bx(r[1][We+1],r,e)},we,function(r,e){var t=e[2],n=t[2],u=t[1],a=Sx(r[1][$t+1],r,0,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},q,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},J,function(r,e,t){var n=t[2],u=t[1],a=aMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},w,function(r,e){return Bx(r[1][M+1],r,e)},M,function(r,e){var t=gx(r[1][j+1],r),n=Sye((function(r,e){var n=r[1],u=gx(t,e);if(u){if(u[2])return[0,Cye(u,n),1];var a=u[1];return[0,[0,a,n],r[2]||(e!==a?1:0)]}return[0,n,1]}),vqr,e);return n[2]?wye(n[1]):e},j,function(r,e){return[0,Bx(r[1][U+1],r,e),0]},G,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},X,function(r,e){var t=e[2],n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?e:[0,e[1],[0,a,i]]},P,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},L,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=gx(r[1][O+1],r),f=aMe((function(r){return uMe(c,r)}),u),o=Bx(r[1][I+1],r,n);return a===i&&u===f&&n===o?t:[0,i,f,o]},O,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=eMe(gx(r[1][We+1],r),a),c=Bx(r[1][M+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},T,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=uMe(gx(r[1][x+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},x,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(gx(r[1][B+1],r),a),c=aMe(gx(r[1][We+1],r),u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},B,function(r,e){return e},_,function(r,e,t){var n=t[1],u=Bx(r[1][I+1],r,n);return n===u?t:[0,u]},A,function(r,e,t){var n=t[2],u=t[1],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,a,i]},C,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=uMe(gx(r[1][Vt+1],r),i);if(a)var f=a[1],o=f[1],s=f[2],l=tMe(gx(r[1][jt+1],r),o,s,a,(function(r){return[0,[0,o,r]]}));else l=a;if(u)var v=u[1],D=v[1],p=v[2],b=tMe(gx(r[1][Vt+1],r),D,p,u,(function(r){return[0,[0,D,r]]}));else b=u;var F=Bx(r[1][I+1],r,n);return i===c&&a===l&&u===b&&n===F?t:[0,c,l,b,F]},F,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][E+1],r,u),f=Bx(r[1][I+1],r,n);return i===a&&c===u&&f===n?t:[0,i,c,f]},v,function(r,e,t){var n=t[3],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,i]},o,function(r,e,t){var n=t[4],u=t[2],a=Bx(r[1][We+1],r,u),i=Bx(r[1][I+1],r,n);return u===a&&n===i?t:[0,t[1],a,t[3],i]},f,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=aMe(Bx(r[1][c+1],r,u),a),f=Bx(r[1][I+1],r,n);return a===i&&DS(n,f)?t:[0,i,u,f]},c,function(r,e,t){var n=t[2],u=n[2],a=n[1],c=Sx(r[1][i+1],r,e,a),f=eMe(gx(r[1][We+1],r),u);return a===c&&u===f?t:[0,t[1],[0,c,f]]},u,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][W+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},n,function(r,e,t){var n=t[3],u=t[2],a=t[1],i=Bx(r[1][We+1],r,a),c=Bx(r[1][U+1],r,u),f=Bx(r[1][I+1],r,n);return a===i&&u===c&&n===f?t:[0,i,c,f]},k,function(r,e,t){var n=t[4],u=t[3],a=t[2],i=t[1],c=Bx(r[1][Fe+1],r,i),f=eMe(gx(r[1][p+1],r),a),o=Bx(r[1][h+1],r,u),s=Bx(r[1][I+1],r,n);return i===c&&u===o&&a===f&&n===s?t:[0,c,f,o,s]},t,function(r,e,t){var n=t[2],u=t[1],a=eMe(gx(r[1][We+1],r),u),i=Bx(r[1][I+1],r,n);return DS(n,i)&&u===a?t:[0,a,i,t[3]]}]),function(e,t){return Kwe(t,r)}})),cMe=function(r){return"number"==typeof r?Sqr:r[1]},fMe=function(r){if("number"==typeof r)return 1;switch(r[0]){case 0:return 2;case 3:return 4;default:return 3}},oMe=function(r,e){gx(Bwe(r),xqr),Bx(Bwe(r),Iqr,Tqr);var t=e[1];Bx(Bwe(r),Nqr,t),gx(Bwe(r),Oqr),gx(Bwe(r),Lqr),Bx(Bwe(r),Rqr,Pqr);var n=e[2];return Bx(Bwe(r),Mqr,n),gx(Bwe(r),jqr),gx(Bwe(r),Uqr)},sMe=function r(e,t){return r.fun(e,t)};XB(sMe,(function(r,e){gx(Bwe(r),Gqr),Bx(Bwe(r),qqr,Jqr);var t=e[1];if(t){lwe(r,zqr);var n=t[1];if("number"==typeof n)lwe(r,Fqr);else switch(n[0]){case 0:gx(Bwe(r),mqr);var u=n[1];Bx(Bwe(r),dqr,u),gx(Bwe(r),Eqr);break;case 1:gx(Bwe(r),kqr);var a=n[1];Bx(Bwe(r),hqr,a),gx(Bwe(r),yqr);break;case 2:gx(Bwe(r),Cqr);var i=n[1];Bx(Bwe(r),wqr,i),gx(Bwe(r),Aqr);break;default:gx(Bwe(r),_qr);var c=n[1];Bx(Bwe(r),gqr,c),gx(Bwe(r),Bqr)}lwe(r,Wqr)}else lwe(r,Vqr);return gx(Bwe(r),$qr),gx(Bwe(r),Yqr),Bx(Bwe(r),Kqr,Hqr),oMe(r,e[2]),gx(Bwe(r),Qqr),gx(Bwe(r),Zqr),Bx(Bwe(r),ezr,rzr),oMe(r,e[3]),gx(Bwe(r),tzr),gx(Bwe(r),nzr)})),XB((function r(e){return r.fun(e)}),(function(r){return Bx(Swe(Xqr),sMe,r)}));var lMe=function(r,e){return[0,r[1],r[2],e[3]]},vMe=function(r,e){var t=r[1]-e[1]|0;return 0===t?r[2]-e[2]|0:t},DMe=function r(e,t,n){return r.fun(e,t,n)};XB(DMe,(function(r,e,t){var n=t[2];switch(n[0]){case 0:return Sye((function(e,t){var n=0===t[0]?t[1][2][2]:t[1][2][1];return Sx(DMe,r,e,n)}),e,n[1][1]);case 1:return Sye((function(e,t){return 2===t[0]?e:Sx(DMe,r,e,t[1][2][1])}),e,n[1][1]);case 2:var u=n[1];return Sx(r,e,u[1],u[2]);default:return e}}));var pMe=function(r){return r[2][1]},bMe=function(r,e){return[0,e[1],[0,e[2],r]]},FMe=function(r,e,t){return[0,r?r[1]:r,e?e[1]:e,t]},mMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u?[0,FMe([0,n],[0,u],0)]:u},dMe=function(r,e,t){var n=r?r[1]:r,u=e?e[1]:e;return n||u||t?[0,FMe([0,n],[0,u],t)]:t},EMe=function(r,e){if(r){if(e){var t=e[1],n=r[1],u=[0,fye(n[2],t[2])];return mMe([0,fye(t[1],n[1])],u)}var a=r}else a=e;return a},kMe=function(r,e){if(e){if(r){var t=e[1],n=r[1],u=n[3],a=[0,fye(n[2],t[2])];return dMe([0,fye(t[1],n[1])],a,u)}var i=e[1];return dMe([0,i[1]],[0,i[2]],0)}return r},hMe=function r(e,t){return r.fun(e,t)};XB(hMe,(function(r,e){if("number"==typeof r){var t=r;if(55<=t)switch(t){case 55:if("number"==typeof e&&55===e)return 0;break;case 56:if("number"==typeof e&&56===e)return 0;break;case 57:if("number"==typeof e&&57===e)return 0;break;case 58:if("number"==typeof e&&58===e)return 0;break;case 59:if("number"==typeof e&&59===e)return 0;break;case 60:if("number"==typeof e&&60===e)return 0;break;case 61:if("number"==typeof e&&61===e)return 0;break;case 62:if("number"==typeof e&&62===e)return 0;break;case 63:if("number"==typeof e&&63===e)return 0;break;case 64:if("number"==typeof e&&64===e)return 0;break;case 65:if("number"==typeof e&&65===e)return 0;break;case 66:if("number"==typeof e&&66===e)return 0;break;case 67:if("number"==typeof e&&67===e)return 0;break;case 68:if("number"==typeof e&&68===e)return 0;break;case 69:if("number"==typeof e&&69===e)return 0;break;case 70:if("number"==typeof e&&70===e)return 0;break;case 71:if("number"==typeof e&&71===e)return 0;break;case 72:if("number"==typeof e&&72===e)return 0;break;case 73:if("number"==typeof e&&73===e)return 0;break;case 74:if("number"==typeof e&&74===e)return 0;break;case 75:if("number"==typeof e&&75===e)return 0;break;case 76:if("number"==typeof e&&76===e)return 0;break;case 77:if("number"==typeof e&&77===e)return 0;break;case 78:if("number"==typeof e&&78===e)return 0;break;case 79:if("number"==typeof e&&79===e)return 0;break;case 80:if("number"==typeof e&&80===e)return 0;break;case 81:if("number"==typeof e&&81===e)return 0;break;case 82:if("number"==typeof e&&82===e)return 0;break;case 83:if("number"==typeof e&&83===e)return 0;break;case 84:if("number"==typeof e&&84===e)return 0;break;case 85:if("number"==typeof e&&85===e)return 0;break;case 86:if("number"==typeof e&&86===e)return 0;break;case 87:if("number"==typeof e&&87===e)return 0;break;case 88:if("number"==typeof e&&88===e)return 0;break;case 89:if("number"==typeof e&&89===e)return 0;break;case 90:if("number"==typeof e&&90===e)return 0;break;case 91:if("number"==typeof e&&91===e)return 0;break;case 92:if("number"==typeof e&&92===e)return 0;break;case 93:if("number"==typeof e&&93===e)return 0;break;case 94:if("number"==typeof e&&94===e)return 0;break;case 95:if("number"==typeof e&&95===e)return 0;break;case 96:if("number"==typeof e&&96===e)return 0;break;case 97:if("number"==typeof e&&97===e)return 0;break;case 98:if("number"==typeof e&&98===e)return 0;break;case 99:if("number"==typeof e&&99===e)return 0;break;case 100:if("number"==typeof e&&Fu===e)return 0;break;case 101:if("number"==typeof e&&CE===e)return 0;break;case 102:if("number"==typeof e&&EE===e)return 0;break;case 103:if("number"==typeof e&&$l===e)return 0;break;case 104:if("number"==typeof e&&sE===e)return 0;break;case 105:if("number"==typeof e&&tg===e)return 0;break;case 106:if("number"==typeof e&&Ma===e)return 0;break;case 107:if("number"==typeof e&&Uu===e)return 0;break;case 108:if("number"==typeof e&&Bb===e)return 0;break;default:if("number"==typeof e&&ak<=e)return 0}else switch(t){case 0:if("number"==typeof e&&0===e)return 0;break;case 1:if("number"==typeof e&&1===e)return 0;break;case 2:if("number"==typeof e&&2===e)return 0;break;case 3:if("number"==typeof e&&3===e)return 0;break;case 4:if("number"==typeof e&&4===e)return 0;break;case 5:if("number"==typeof e&&5===e)return 0;break;case 6:if("number"==typeof e&&6===e)return 0;break;case 7:if("number"==typeof e&&7===e)return 0;break;case 8:if("number"==typeof e&&8===e)return 0;break;case 9:if("number"==typeof e&&9===e)return 0;break;case 10:if("number"==typeof e&&10===e)return 0;break;case 11:if("number"==typeof e&&11===e)return 0;break;case 12:if("number"==typeof e&&12===e)return 0;break;case 13:if("number"==typeof e&&13===e)return 0;break;case 14:if("number"==typeof e&&14===e)return 0;break;case 15:if("number"==typeof e&&15===e)return 0;break;case 16:if("number"==typeof e&&16===e)return 0;break;case 17:if("number"==typeof e&&17===e)return 0;break;case 18:if("number"==typeof e&&18===e)return 0;break;case 19:if("number"==typeof e&&19===e)return 0;break;case 20:if("number"==typeof e&&20===e)return 0;break;case 21:if("number"==typeof e&&21===e)return 0;break;case 22:if("number"==typeof e&&22===e)return 0;break;case 23:if("number"==typeof e&&23===e)return 0;break;case 24:if("number"==typeof e&&24===e)return 0;break;case 25:if("number"==typeof e&&25===e)return 0;break;case 26:if("number"==typeof e&&26===e)return 0;break;case 27:if("number"==typeof e&&27===e)return 0;break;case 28:if("number"==typeof e&&28===e)return 0;break;case 29:if("number"==typeof e&&29===e)return 0;break;case 30:if("number"==typeof e&&30===e)return 0;break;case 31:if("number"==typeof e&&31===e)return 0;break;case 32:if("number"==typeof e&&32===e)return 0;break;case 33:if("number"==typeof e&&33===e)return 0;break;case 34:if("number"==typeof e&&34===e)return 0;break;case 35:if("number"==typeof e&&35===e)return 0;break;case 36:if("number"==typeof e&&36===e)return 0;break;case 37:if("number"==typeof e&&37===e)return 0;break;case 38:if("number"==typeof e&&38===e)return 0;break;case 39:if("number"==typeof e&&39===e)return 0;break;case 40:if("number"==typeof e&&40===e)return 0;break;case 41:if("number"==typeof e&&41===e)return 0;break;case 42:if("number"==typeof e&&42===e)return 0;break;case 43:if("number"==typeof e&&43===e)return 0;break;case 44:if("number"==typeof e&&44===e)return 0;break;case 45:if("number"==typeof e&&45===e)return 0;break;case 46:if("number"==typeof e&&46===e)return 0;break;case 47:if("number"==typeof e&&47===e)return 0;break;case 48:if("number"==typeof e&&48===e)return 0;break;case 49:if("number"==typeof e&&49===e)return 0;break;case 50:if("number"==typeof e&&50===e)return 0;break;case 51:if("number"==typeof e&&51===e)return 0;break;case 52:if("number"==typeof e&&52===e)return 0;break;case 53:if("number"==typeof e&&53===e)return 0;break;default:if("number"==typeof e&&54===e)return 0}}else switch(r[0]){case 0:if("number"!=typeof e&&0===e[0])return oS(r[1],e[1]);break;case 1:if("number"!=typeof e&&1===e[0]){var n=oS(r[1],e[1]);return 0===n?oS(r[2],e[2]):n}break;case 2:if("number"!=typeof e&&2===e[0]){var u=oS(r[1],e[1]);return 0===u?oS(r[2],e[2]):u}break;case 3:if("number"!=typeof e&&3===e[0])return oS(r[1],e[1]);break;case 4:if("number"!=typeof e&&4===e[0]){var a=e[2],i=r[2],c=oS(r[1],e[1]);return 0===c?i?a?oS(i[1],a[1]):1:a?-1:0:c}break;case 5:if("number"!=typeof e&&5===e[0])return oS(r[1],e[1]);break;case 6:if("number"!=typeof e&&6===e[0]){var f=e[2],o=r[2],s=oS(r[1],e[1]);if(0===s){if(o)if(f){var l=f[1],v=o[1];switch(v){case 0:if(0===l)var D=0,p=1;else p=0;break;case 1:if(1===l)D=0,p=1;else p=0;break;case 2:if(2===l)D=0,p=1;else p=0;break;default:if(3<=l)D=0,p=1;else p=0}if(!p){var b=function(r){switch(r){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},F=b(l);D=fS(b(v),F)}var m=D}else m=1;else m=f?-1:0;return 0===m?oS(r[3],e[3]):m}return s}break;case 7:if("number"!=typeof e&&7===e[0]){var d=oS(r[1],e[1]);return 0===d?oS(r[2],e[2]):d}break;case 8:if("number"!=typeof e&&8===e[0])return fS(r[1],e[1]);break;case 9:if("number"!=typeof e&&9===e[0]){var E=oS(r[1],e[1]);return 0===E?oS(r[2],e[2]):E}break;case 10:if("number"!=typeof e&&10===e[0])return oS(r[1],e[1]);break;case 11:if("number"!=typeof e&&11===e[0])return oS(r[1],e[1]);break;case 12:if("number"!=typeof e&&12===e[0]){var k=oS(r[1],e[1]);return 0===k?oS(r[2],e[2]):k}break;case 13:if("number"!=typeof e&&13===e[0]){var h=oS(r[1],e[1]);return 0===h?oS(r[2],e[2]):h}break;case 14:if("number"!=typeof e&&14===e[0])return oS(r[1],e[1]);break;case 15:if("number"!=typeof e&&15===e[0])return oS(r[1],e[1]);break;case 16:if("number"!=typeof e&&16===e[0]){var y=oS(r[1],e[1]);return 0===y?oS(r[2],e[2]):y}break;case 17:if("number"!=typeof e&&17===e[0])return oS(r[1],e[1]);break;case 18:if("number"!=typeof e&&18===e[0])return fS(r[1],e[1]);break;case 19:if("number"!=typeof e&&19===e[0])return oS(r[1],e[1]);break;case 20:if("number"!=typeof e&&20===e[0])return oS(r[1],e[1]);break;case 21:if("number"!=typeof e&&21===e[0]){var C=oS(r[1],e[1]);if(0===C){var w=fS(r[2],e[2]);return 0===w?fS(r[3],e[3]):w}return C}break;case 22:if("number"!=typeof e&&22===e[0])return oS(r[1],e[1]);break;default:if("number"!=typeof e&&23===e[0])return oS(r[1],e[1])}function A(r){if("number"==typeof r){var e=r;if(55<=e)switch(e){case 55:return 73;case 56:return 74;case 57:return 75;case 58:return 77;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 83;case 65:return 84;case 66:return 85;case 67:return 86;case 68:return 87;case 69:return 88;case 70:return 89;case 71:return 90;case 72:return 92;case 73:return 93;case 74:return 94;case 75:return 95;case 76:return 96;case 77:return 97;case 78:return 98;case 79:return 99;case 80:return Fu;case 81:return CE;case 82:return EE;case 83:return $l;case 84:return sE;case 85:return tg;case 86:return Bb;case 87:return ak;case 88:return Jr;case 89:return Be;case 90:return eu;case 91:return vi;case 92:return sA;case 93:return cm;case 94:return wt;case 95:return Zd;case 96:return cE;case 97:return S_;case 98:return h_;case 99:return g;case 100:return xp;case 101:return jF;case 102:return TF;case 103:return zy;case 104:return S;case 105:return 129;case 106:return 130;case 107:return 131;case 108:return 132;default:return 133}switch(e){case 0:return 5;case 1:return 9;case 2:return 16;case 3:return 17;case 4:return 18;case 5:return 19;case 6:return 20;case 7:return 21;case 8:return 22;case 9:return 23;case 10:return 24;case 11:return 25;case 12:return 26;case 13:return 27;case 14:return 28;case 15:return 29;case 16:return 30;case 17:return 31;case 18:return 32;case 19:return 33;case 20:return 34;case 21:return 35;case 22:return 36;case 23:return 37;case 24:return 38;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 50;case 34:return 51;case 35:return 52;case 36:return 53;case 37:return 54;case 38:return 55;case 39:return 56;case 40:return 57;case 41:return 58;case 42:return 59;case 43:return 60;case 44:return 61;case 45:return 62;case 46:return 63;case 47:return 64;case 48:return 65;case 49:return 66;case 50:return 67;case 51:return 68;case 52:return 69;case 53:return 70;default:return 71}}else switch(r[0]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 6;case 6:return 7;case 7:return 8;case 8:return 10;case 9:return 11;case 10:return 12;case 11:return 13;case 12:return 14;case 13:return 15;case 14:return 39;case 15:return 48;case 16:return 49;case 17:return 72;case 18:return 76;case 19:return 91;case 20:return Ma;case 21:return Uu;case 22:return Ve;default:return gd}}var _=A(e);return fS(A(r),_)}));var yMe=[bc,M$r,yS()],CMe=function(r){return[0,r[1],r[2].slice(),r[3],r[4],r[5],r[6],r[7]]},wMe=function(r){return r[3][1]},AMe=function(r,e){return r!==e[4]?[0,e[1],e[2],e[3],r,e[5],e[6],e[7]]:e},_Me=function(r){if("number"==typeof r){var e=r;if(60<=e)switch(e){case 60:return yQr;case 61:return CQr;case 62:return wQr;case 63:return AQr;case 64:return _Qr;case 65:return gQr;case 66:return BQr;case 67:return SQr;case 68:return xQr;case 69:return TQr;case 70:return IQr;case 71:return NQr;case 72:return OQr;case 73:return LQr;case 74:return PQr;case 75:return RQr;case 76:return MQr;case 77:return jQr;case 78:return UQr;case 79:return XQr;case 80:return GQr;case 81:return JQr;case 82:return qQr;case 83:return zQr;case 84:return WQr;case 85:return VQr;case 86:return $Qr;case 87:return YQr;case 88:return HQr;case 89:return KQr;case 90:return QQr;case 91:return ZQr;case 92:return rZr;case 93:return eZr;case 94:return tZr;case 95:return nZr;case 96:return uZr;case 97:return aZr;case 98:return iZr;case 99:return cZr;case 100:return fZr;case 101:return oZr;case 102:return sZr;case 103:return lZr;case 104:return vZr;case 105:return DZr;case 106:return pZr;case 107:return bZr;case 108:return FZr;case 109:return mZr;case 110:return dZr;case 111:return EZr;case 112:return kZr;case 113:return hZr;case 114:return yZr;case 115:return CZr;case 116:return wZr;case 117:return AZr;default:return _Zr}switch(e){case 0:return FKr;case 1:return mKr;case 2:return dKr;case 3:return EKr;case 4:return kKr;case 5:return hKr;case 6:return yKr;case 7:return CKr;case 8:return wKr;case 9:return AKr;case 10:return _Kr;case 11:return gKr;case 12:return BKr;case 13:return SKr;case 14:return xKr;case 15:return TKr;case 16:return IKr;case 17:return NKr;case 18:return OKr;case 19:return LKr;case 20:return PKr;case 21:return RKr;case 22:return MKr;case 23:return jKr;case 24:return UKr;case 25:return XKr;case 26:return GKr;case 27:return JKr;case 28:return qKr;case 29:return zKr;case 30:return WKr;case 31:return VKr;case 32:return $Kr;case 33:return YKr;case 34:return HKr;case 35:return KKr;case 36:return QKr;case 37:return ZKr;case 38:return rQr;case 39:return eQr;case 40:return tQr;case 41:return nQr;case 42:return uQr;case 43:return aQr;case 44:return iQr;case 45:return cQr;case 46:return fQr;case 47:return oQr;case 48:return sQr;case 49:return lQr;case 50:return vQr;case 51:return DQr;case 52:return pQr;case 53:return bQr;case 54:return FQr;case 55:return mQr;case 56:return dQr;case 57:return EQr;case 58:return kQr;default:return hQr}}else switch(r[0]){case 0:return gZr;case 1:return BZr;case 2:return SZr;case 3:return xZr;case 4:return TZr;case 5:return IZr;case 6:return NZr;case 7:return OZr;case 8:return LZr;case 9:return PZr;case 10:return RZr;default:return MZr}},gMe=function(r){if("number"==typeof r){var e=r;if(60<=e)switch(e){case 60:return cHr;case 61:return fHr;case 62:return oHr;case 63:return sHr;case 64:return lHr;case 65:return vHr;case 66:return DHr;case 67:return pHr;case 68:return bHr;case 69:return FHr;case 70:return mHr;case 71:return dHr;case 72:return EHr;case 73:return kHr;case 74:return hHr;case 75:return yHr;case 76:return CHr;case 77:return wHr;case 78:return AHr;case 79:return _Hr;case 80:return gHr;case 81:return BHr;case 82:return SHr;case 83:return xHr;case 84:return THr;case 85:return IHr;case 86:return NHr;case 87:return OHr;case 88:return LHr;case 89:return PHr;case 90:return RHr;case 91:return MHr;case 92:return jHr;case 93:return UHr;case 94:return XHr;case 95:return GHr;case 96:return JHr;case 97:return qHr;case 98:return zHr;case 99:return WHr;case 100:return VHr;case 101:return $Hr;case 102:return YHr;case 103:return HHr;case 104:return KHr;case 105:return QHr;case 106:return ZHr;case 107:return rKr;case 108:return eKr;case 109:return tKr;case 110:return nKr;case 111:return uKr;case 112:return aKr;case 113:return iKr;case 114:return cKr;case 115:return fKr;case 116:return oKr;case 117:return sKr;default:return lKr}switch(e){case 0:return eYr;case 1:return tYr;case 2:return nYr;case 3:return uYr;case 4:return aYr;case 5:return iYr;case 6:return cYr;case 7:return fYr;case 8:return oYr;case 9:return sYr;case 10:return lYr;case 11:return vYr;case 12:return DYr;case 13:return pYr;case 14:return bYr;case 15:return FYr;case 16:return mYr;case 17:return dYr;case 18:return EYr;case 19:return kYr;case 20:return hYr;case 21:return yYr;case 22:return CYr;case 23:return wYr;case 24:return AYr;case 25:return _Yr;case 26:return gYr;case 27:return BYr;case 28:return SYr;case 29:return xYr;case 30:return TYr;case 31:return IYr;case 32:return NYr;case 33:return OYr;case 34:return LYr;case 35:return PYr;case 36:return RYr;case 37:return MYr;case 38:return jYr;case 39:return UYr;case 40:return XYr;case 41:return GYr;case 42:return JYr;case 43:return qYr;case 44:return zYr;case 45:return WYr;case 46:return VYr;case 47:return $Yr;case 48:return YYr;case 49:return HYr;case 50:return KYr;case 51:return QYr;case 52:return ZYr;case 53:return rHr;case 54:return eHr;case 55:return tHr;case 56:return nHr;case 57:return uHr;case 58:return aHr;default:return iHr}}else switch(r[0]){case 3:return r[1][2][3];case 5:var t=r[1],n=iye(vKr,t[3]);return iye(DKr,iye(t[2],n));case 9:return 0===r[1]?bKr:pKr;case 0:case 1:return r[2];case 2:case 8:return r[1][3];case 6:case 7:return r[1];default:return r[3]}},BMe=function(r){return gx(LCe(rYr),r)},SMe=function(r,e){var t=r?r[1]:r;if("number"==typeof e)if(Ve===e)var n=X$r,u=0;else u=1;else switch(e[0]){case 3:n=G$r,u=0;break;case 5:n=J$r,u=0;break;case 6:case 9:u=1;break;case 0:case 10:var a=W$r,i=z$r;u=2;break;case 1:case 11:a=$$r,i=V$r,u=2;break;case 2:case 8:a=H$r,i=Y$r,u=2;break;default:a=Q$r,i=K$r,u=2}switch(u){case 0:a=n[1],i=n[2];break;case 1:a=BMe(gMe(e)),i=q$r}return t?iye(i,iye(Z$r,a)):a},xMe=function(r){if(r){var e=r[1];return 35>>0)var l=oAe(a);else switch(f){case 0:l=2;break;case 2:l=1;break;case 3:if(cAe(a,2),0===hUe(iAe(a))){var m=zje(iAe(a));if(0===m)l=0===RMe(iAe(a))&&0===RMe(iAe(a))&&0===RMe(iAe(a))?0:oAe(a);else if(1===m)if(0===RMe(iAe(a)))for(;;){var k=WMe(iAe(a));if(0!==k){l=1===k?0:oAe(a);break}}else l=oAe(a);else l=oAe(a)}else l=oAe(a);break;default:l=0}if(2<=l){if(!(3<=l))return NUe(r,e,36)}else if(0<=l)return r;return nye(qre)},JUe=function(r,e,t,n,u){var a=e+lAe(t)|0;return[0,gUe(r,a,e+vAe(t)|0),AAe(t,n,(DAe(t)-n|0)-u|0)]},qUe=function(r,e){for(var t=lAe(r[2]),n=wAe(e),u=Kye(RS(e)),a=r;;){fAe(n);var i=iAe(n);if(i)var c=i[1],f=92>>0)var o=oAe(n);else switch(f){case 0:o=2;break;case 1:for(;;){cAe(n,3);var s=iAe(n);if(s)var l=s[1],v=-1>>0)return nye(Xre);switch(o){case 0:var b=JUe(a,t,n,2,0),F=b[1],m=VS(iye(Gre,b[2])),d=bye(m)?GUe(a,F,m):NUe(a,F,36);gAe(u,m);a=d;continue;case 1:var E=JUe(a,t,n,3,1),k=VS(iye(Jre,E[2])),h=GUe(a,E[1],k);gAe(u,k);a=h;continue;case 2:return[0,a,Qye(u)];default:eCe(u,_Ae(n));continue}}},zUe=function(r,e,t){var n=PUe(r,xUe(r,e));return sAe(e),Bx(t,n,e)},WUe=function(r,e,t){for(var n=r;;){fAe(t);var u=iAe(t);if(u)var a=u[1],i=-1>>0)var c=oAe(t);else switch(i){case 0:for(;;){cAe(t,3);var f=iAe(t);if(f)var o=f[1],s=-1>>0){var p=PUe(n,xUe(n,t));return[0,p,SUe(p,t)]}switch(c){case 0:var b=RUe(n,t);eCe(e,_Ae(t));n=b;continue;case 1:var F=n[4]?LUe(n,xUe(n,t),UZr,jZr):n;return[0,F,SUe(F,t)];case 2:if(n[4])return[0,n,SUe(n,t)];eCe(e,XZr);continue;default:eCe(e,_Ae(t));continue}}},VUe=function(r,e,t){for(;;){fAe(t);var n=iAe(t);if(n)var u=n[1],a=13>>0)var i=oAe(t);else switch(a){case 0:i=0;break;case 1:for(;;){cAe(t,2);var c=iAe(t);if(c)var f=c[1],o=-1>>0)return nye(GZr);switch(i){case 0:return[0,r,SUe(r,t)];case 1:var s=SUe(r,t),l=RUe(r,t),v=DAe(t);return[0,l,[0,s[1],s[2]-v|0]];default:eCe(e,_Ae(t));continue}}},$Ue=function(r,e){function t(r){return cAe(r,3),0===kje(iAe(r))?2:oAe(r)}fAe(e);var n=iAe(e);if(n)var u=n[1],a=S_>>0)var i=oAe(e);else switch(a){case 1:i=16;break;case 2:i=15;break;case 3:cAe(e,15);i=0===Vje(iAe(e))?15:oAe(e);break;case 4:cAe(e,4);i=0===kje(iAe(e))?t(e):oAe(e);break;case 5:cAe(e,11);i=0===kje(iAe(e))?t(e):oAe(e);break;case 7:i=5;break;case 8:i=6;break;case 9:i=7;break;case 10:i=8;break;case 11:i=9;break;case 12:cAe(e,14);var c=zje(iAe(e));if(0===c)i=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?12:oAe(e);else if(1===c)if(0===RMe(iAe(e)))for(;;){var f=WMe(iAe(e));if(0!==f){i=1===f?13:oAe(e);break}}else i=oAe(e);else i=oAe(e);break;case 13:i=10;break;case 14:cAe(e,14);i=0===RMe(iAe(e))&&0===RMe(iAe(e))?1:oAe(e);break;default:i=0}if(16>>0)return nye(gre);switch(i){case 1:var o=_Ae(e);return[0,r,o,[0,VS(iye(Bre,o))],0];case 2:var s=_Ae(e),l=VS(iye(Sre,s));return 256<=l?[0,r,s,[0,l>>>3|0,48+(7&l)|0],1]:[0,r,s,[0,l],1];case 3:var v=_Ae(e);return[0,r,v,[0,VS(iye(xre,v))],1];case 4:return[0,r,Tre,[0,0],0];case 5:return[0,r,Ire,[0,8],0];case 6:return[0,r,Nre,[0,12],0];case 7:return[0,r,Ore,[0,10],0];case 8:return[0,r,Lre,[0,13],0];case 9:return[0,r,Pre,[0,9],0];case 10:return[0,r,Rre,[0,11],0];case 11:var D=_Ae(e);return[0,r,D,[0,VS(iye(Mre,D))],1];case 12:var p=_Ae(e);return[0,r,p,[0,VS(iye(jre,Gye(p,1,RS(p)-1|0)))],0];case 13:var b=_Ae(e),F=VS(iye(Ure,Gye(b,2,RS(b)-3|0)));return[0,i_>>0)var l=oAe(a);else switch(s){case 0:l=3;break;case 1:for(;;){cAe(a,4);var v=iAe(a);if(v)var D=v[1],p=-1>>0)return nye(JZr);switch(l){case 0:var b=_Ae(a);if(eCe(n,b),Ex(e,b))return[0,i,SUe(i,a),c];eCe(t,b);continue;case 1:eCe(n,qZr);var F=$Ue(i,a),m=F[4]||c;eCe(n,F[2]),Wye((function(r){return gAe(t,r)}),F[3]);i=F[1],c=m;continue;case 2:var d=_Ae(a);eCe(n,d);var E=RUe(PUe(i,xUe(i,a)),a);return eCe(t,d),[0,E,SUe(E,a),c];case 3:var k=_Ae(a);eCe(n,k);var h=PUe(i,xUe(i,a));return eCe(t,k),[0,h,SUe(h,a),c];default:var y=_Ae(a);eCe(n,y),eCe(t,y);continue}}},HUe=function(r,e,t,n,u){for(var a=r;;){fAe(u);var i=iAe(u);if(i)var c=i[1],f=96>>0)var o=oAe(u);else switch(f){case 0:o=0;break;case 1:for(;;){cAe(u,6);var s=iAe(u);if(s)var l=s[1],v=-1>>0)return nye(zZr);switch(o){case 0:return[0,PUe(a,xUe(a,u)),1];case 1:return rCe(n,96),[0,a,1];case 2:return eCe(n,WZr),[0,a,0];case 3:rCe(t,92),rCe(n,92);var F=$Ue(a,u),m=F[2];eCe(t,m),eCe(n,m),Wye((function(r){return gAe(e,r)}),F[3]);a=F[1];continue;case 4:eCe(t,VZr),eCe(n,$Zr),eCe(e,YZr);a=RUe(a,u);continue;case 5:var d=_Ae(u);eCe(t,d),eCe(n,d),rCe(e,10);a=RUe(a,u);continue;default:var E=_Ae(u);eCe(t,E),eCe(n,E),eCe(e,E);continue}}},KUe=function(r,e,t,n,u){for(var a=r;;){var i=function(r){for(;;)if(cAe(r,6),0!==lje(iAe(r)))return oAe(r)};fAe(u);var c=iAe(u);if(c)var f=c[1],o=gd>>0)var s=oAe(u);else switch(o){case 0:s=1;break;case 1:s=i(u);break;case 2:s=2;break;case 3:cAe(u,2);s=0===Vje(iAe(u))?2:oAe(u);break;case 4:s=0;break;case 5:cAe(u,6);var l=iAe(u);if(l)var v=l[1],D=34>>0)return nye(n0r);switch(s){case 0:var N=_Ae(u);switch(e){case 0:var O=hx(N,u0r)?0:1;break;case 1:O=hx(N,a0r)?0:1;break;default:if(hx(N,i0r)){if(!hx(N,c0r))return LUe(a,xUe(a,u),D0r,v0r);if(hx(N,f0r)){if(!hx(N,o0r))return LUe(a,xUe(a,u),l0r,s0r);O=0;var L=0}else L=1}else L=1;if(L)return sAe(u),a}if(O)return a;eCe(n,N),eCe(t,N);continue;case 1:return PUe(a,xUe(a,u));case 2:var P=_Ae(u);eCe(n,P),eCe(t,P);a=RUe(a,u);continue;case 3:var R=_Ae(u),M=Gye(R,3,RS(R)-4|0);eCe(n,R),gAe(t,VS(iye(p0r,M)));continue;case 4:var j=_Ae(u),U=Gye(j,2,RS(j)-3|0);eCe(n,j),gAe(t,VS(U));continue;case 5:var X=_Ae(u),G=Gye(X,1,RS(X)-2|0);eCe(n,X);var J=oS(G,b0r);if(0<=J)if(0>>0)var a=oAe(e);else switch(u){case 0:a=0;break;case 1:a=6;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 3:a=1;break;case 4:cAe(e,1);a=0===Vje(iAe(e))?1:oAe(e);break;default:cAe(e,5);var i=cUe(iAe(e));a=0===i?4:1===i?3:oAe(e)}if(6>>0)return nye(cre);switch(a){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 4:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 5:var b=BUe(r,e),F=Kye(zy),m=r;r:for(;;){fAe(e);var d=iAe(e);if(d)var E=d[1],k=92>>0)var h=oAe(e);else switch(k){case 0:h=0;break;case 1:for(;;){cAe(e,7);var y=iAe(e);if(y)var C=y[1],w=-1>>0)h=oAe(e);else switch(g){case 0:h=2;break;case 1:h=1;break;default:cAe(e,1);h=0===Vje(iAe(e))?1:oAe(e)}}if(7>>0)var B=nye(QZr);else switch(h){case 0:B=[0,NUe(m,xUe(m,e),25),ZZr];break;case 1:B=[0,RUe(NUe(m,xUe(m,e),25),e),r0r];break;case 3:var S=_Ae(e);B=[0,m,Gye(S,1,RS(S)-1|0)];break;case 4:B=[0,m,e0r];break;case 5:for(rCe(F,91);;){fAe(e);var x=iAe(e);if(x)var T=x[1],I=93>>0)var N=oAe(e);else switch(I){case 0:N=0;break;case 1:for(;;){cAe(e,4);var O=iAe(e);if(O)var L=O[1],P=-1>>0)var U=nye(HZr);else switch(N){case 0:U=m;break;case 1:eCe(F,KZr);continue;case 2:rCe(F,92),rCe(F,93);continue;case 3:rCe(F,93);U=m;break;default:eCe(F,_Ae(e));continue}m=U;continue r}case 6:B=[0,RUe(NUe(m,xUe(m,e),25),e),t0r];break;default:eCe(F,_Ae(e));continue}var X=B[1],G=SUe(X,e),J=[0,X[1],b,G],q=B[2];return[0,X,[5,[0,J,Qye(F),q]]]}default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}})),rXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,12);var t=Eje(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}fAe(e);var c=iAe(e);if(c)var f=c[1],o=er>>0)var l=oAe(e);else switch(o){case 0:l=0;break;case 1:l=14;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){l=oAe(e);break}}else l=oAe(e);break;case 3:l=1;break;case 4:cAe(e,1);l=0===Vje(iAe(e))?1:oAe(e);break;case 5:l=13;break;case 6:cAe(e,12);var v=Eje(iAe(e));l=0===v?i(e):1===v?function(r){return Cx(a(0,r))}(e):oAe(e);break;case 7:l=10;break;case 8:cAe(e,6);var p=cUe(iAe(e));l=0===p?4:1===p?3:oAe(e);break;case 9:l=9;break;case 10:l=5;break;case 11:l=11;break;case 12:l=7;break;case 13:if(cAe(e,14),0===hUe(iAe(e))){var m=zje(iAe(e));if(0===m)l=0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?i(e):oAe(e);else if(1===m)if(0===RMe(iAe(e)))for(;;){var d=WMe(iAe(e));if(0!==d){l=1===d?i(e):oAe(e);break}}else l=oAe(e);else l=oAe(e)}else l=oAe(e);break;default:l=8}if(14>>0)return nye(are);switch(l){case 0:return[0,r,Ve];case 1:return[2,RUe(r,e)];case 2:return[2,r];case 3:var E=BUe(r,e),k=Kye(zy),y=VUe(r,k,e),w=y[1];return[1,w,jUe(w,E,y[2],k,0)];case 4:var g=BUe(r,e),B=Kye(zy),S=WUe(r,B,e),x=S[1];return[1,x,jUe(x,g,S[2],B,1)];case 5:return[0,r,95];case 6:return[0,r,EE];case 7:return[0,r,96];case 8:return[0,r,0];case 9:return[0,r,83];case 10:return[0,r,10];case 11:return[0,r,79];case 12:return[0,r,[7,_Ae(e)]];case 13:var T=_Ae(e),N=BUe(r,e),L=Kye(zy),P=Kye(zy);eCe(P,T);var M=Ex(T,ire)?0:1,U=KUe(r,M,L,P,e),X=SUe(U,e);eCe(P,T);var J=Qye(L),W=Qye(P);return[0,U,[8,[0,[0,U[1],N,X],J,W]]];default:return[0,r,[6,_Ae(e)]]}})),eXe=QUe((function(r,e){fAe(e);var t=iAe(e);if(t)var n=t[1],u=-1>>0)var a=oAe(e);else switch(u){case 0:a=5;break;case 1:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){a=oAe(e);break}}else a=oAe(e);break;case 2:a=0;break;case 3:cAe(e,0);a=0===Vje(iAe(e))?0:oAe(e);break;case 4:cAe(e,5);var i=cUe(iAe(e));a=0===i?3:1===i?2:oAe(e);break;default:a=4}if(5>>0)return nye(ere);switch(a){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var c=BUe(r,e),f=Kye(zy),o=VUe(r,f,e),s=o[1];return[1,s,jUe(s,c,o[2],f,0)];case 3:var l=BUe(r,e),v=Kye(zy),D=WUe(r,v,e),p=D[1];return[1,p,jUe(p,l,D[2],v,1)];case 4:var b=BUe(r,e),F=Kye(zy),m=Kye(zy),d=Kye(zy);eCe(d,tre);var E=HUe(r,F,m,d,e),k=E[1],h=SUe(k,e),y=[0,k[1],b,h],C=E[2],w=Qye(d),A=Qye(m);return[0,k,[3,[0,y,[0,Qye(F),A,w],C]]];default:var _=PUe(r,xUe(r,e));return[0,_,[3,[0,xUe(_,e),nre,1]]]}})),tXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,48);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,29),0!==AUe(iAe(r)))return oAe(r)}function l(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,25),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function m(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function y(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?m(r):oAe(r)}function w(r){for(;;)if(cAe(r,23),0!==AUe(iAe(r)))return oAe(r)}function g(r){cAe(r,22);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,21),0!==AUe(iAe(r)))return oAe(r);return 1===e?w(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,24);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return w(r);case 1:continue;case 2:continue r;default:return g(r)}}return oAe(r)}}function S(r){cAe(r,29);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,24);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return w(r);case 1:continue;default:return g(r)}}if(1===t)for(;;){cAe(r,24);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return w(r);case 1:continue;case 2:return B(r);default:return g(r)}}return oAe(r);case 2:for(;;){cAe(r,24);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return m(r);case 1:continue;default:return y(r)}}default:for(;;){cAe(r,24);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return m(r);case 1:continue;case 2:return B(r);default:return y(r)}}}}function T(r){for(;;){cAe(r,30);var e=Nje(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}}function N(r){return 0===LMe(iAe(r))?T(r):oAe(r)}function L(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function P(r){for(;;)if(cAe(r,19),0!==AUe(iAe(r)))return oAe(r)}function M(r){cAe(r,29);var e=qMe(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,20);var t=lUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return P(r);case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,20);var n=lUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return L(r);case 1:continue;case 2:continue r;default:cAe(r,18);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===u?L(r):oAe(r)}}return oAe(r)}default:cAe(r,18);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,17),0!==AUe(iAe(r)))return oAe(r);return 1===a?P(r):oAe(r)}}return oAe(r)}function U(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function J(r){for(;;)if(cAe(r,13),0!==AUe(iAe(r)))return oAe(r)}function V(r){cAe(r,29);var e=$je(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,14);var t=Zje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return J(r);case 1:continue;case 2:r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,14);var n=Zje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return U(r);case 1:continue;case 2:continue r;default:cAe(r,12);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===u?U(r):oAe(r)}}return oAe(r)}default:cAe(r,12);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,11),0!==AUe(iAe(r)))return oAe(r);return 1===a?J(r):oAe(r)}}return oAe(r)}function rr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,9),0!==AUe(iAe(r)))return oAe(r)}function ur(r){cAe(r,29);var e=qje(iAe(r));if(0===e)return f(r);if(1===e)for(;;){cAe(r,10);var t=fUe(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return tr(r);case 1:continue;case 2:r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,10);var n=fUe(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return rr(r);case 1:continue;case 2:continue r;default:cAe(r,8);var u=mje(iAe(r));if(0===u)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===u?rr(r):oAe(r)}}return oAe(r)}default:cAe(r,8);var a=mje(iAe(r));if(0===a)for(;;)if(cAe(r,7),0!==AUe(iAe(r)))return oAe(r);return 1===a?tr(r):oAe(r)}}return oAe(r)}function ar(r){cAe(r,28);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function or(r){cAe(r,30);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}default:return l(r)}}function sr(r){for(;;){cAe(r,30);var e=rje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;default:return ar(r)}}}function Dr(r){for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,15);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,15),0!==AUe(iAe(r)))return oAe(r);return 1===e?Dr(r):oAe(r)}function gr(r){for(;;){cAe(r,16);var e=oUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return Dr(r);case 1:return or(r);case 2:continue;case 3:for(;;){cAe(r,15);var t=rje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return Dr(r);case 1:return or(r);case 2:continue;default:return yr(r)}}default:return yr(r)}}}function Tr(r){cAe(r,30);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,30);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return S(r);case 3:continue r;default:return l(r)}}return oAe(r)}default:return l(r)}}case 2:return S(r);default:return l(r)}}function Nr(r){cAe(r,30);var e=Wje(iAe(r));if(8>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:return gr(r);case 3:return sr(r);case 4:return ur(r);case 5:return S(r);case 6:return V(r);case 7:return M(r);default:return ar(r)}}function Lr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,30);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return or(r);case 2:continue;case 3:continue r;default:return ar(r)}}return oAe(r)}}function Mr(r){for(;;){cAe(r,30);var e=cje(iAe(r));if(5>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return Tr(r);case 2:continue;case 3:return S(r);case 4:return Lr(r);default:return ar(r)}}}function Ur(r){return cAe(r,3),0===wUe(iAe(r))?3:oAe(r)}function Gr(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?3:oAe(r)}fAe(e);var Vr=iAe(e);if(Vr)var Hr=Vr[1],Zr=er>>0)var re=oAe(e);else switch(Zr){case 0:re=79;break;case 1:re=80;break;case 2:if(cAe(e,1),0===NMe(iAe(e))){for(;;)if(cAe(e,1),0!==NMe(iAe(e))){re=oAe(e);break}}else re=oAe(e);break;case 3:re=0;break;case 4:cAe(e,0);re=0===Vje(iAe(e))?0:oAe(e);break;case 5:re=6;break;case 6:cAe(e,48);var ee=zMe(iAe(e));re=0===ee?i(e):1===ee?c(e):oAe(e);break;case 7:if(cAe(e,80),0===Cje(iAe(e))){var te=iAe(e);if(te)var ne=te[1],ce=$l>>0)re=oAe(e);else switch(ve){case 0:for(;;){var De=Aje(iAe(e));if(3>>0)re=oAe(e);else switch(De){case 0:continue;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break}break;case 1:re=N(e);break;case 2:re=Nr(e);break;default:re=Mr(e)}break;case 15:cAe(e,59);var pe=Jje(iAe(e));re=0===pe?0===TMe(iAe(e))?58:oAe(e):1===pe?T(e):oAe(e);break;case 16:cAe(e,80);var Fe=cUe(iAe(e));if(0===Fe){cAe(e,2);var de=eje(iAe(e));if(2>>0)re=oAe(e);else switch(de){case 0:for(;;){var ke=eje(iAe(e));if(2>>0)re=oAe(e);else switch(ke){case 0:continue;case 1:re=Ur(e);break;default:re=Gr(e)}break}break;case 1:re=Ur(e);break;default:re=Gr(e)}}else re=1===Fe?5:oAe(e);break;case 17:cAe(e,30);var ge=Wje(iAe(e));if(8>>0)re=oAe(e);else switch(ge){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=gr(e);break;case 3:re=sr(e);break;case 4:re=ur(e);break;case 5:re=S(e);break;case 6:re=V(e);break;case 7:re=M(e);break;default:re=ar(e)}break;case 18:cAe(e,30);var xe=cje(iAe(e));if(5>>0)re=oAe(e);else switch(xe){case 0:re=f(e);break;case 1:re=Tr(e);break;case 2:re=Mr(e);break;case 3:re=S(e);break;case 4:re=Lr(e);break;default:re=ar(e)}break;case 19:re=62;break;case 20:re=60;break;case 21:re=66;break;case 22:cAe(e,68);var Te=iAe(e);if(Te)var Pe=Te[1],je=61>>0)re=oAe(e);else switch(Je){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ke=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ke){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,31);var Qe=zMe(iAe(e));re=0===Qe?i(e):1===Qe?c(e):oAe(e)}}break;case 29:cAe(e,48);var et=dUe(iAe(e));if(3>>0)re=oAe(e);else switch(et){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var at=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(at){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var it=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(it){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ot=nje(iAe(e));if(2>>0)re=oAe(e);else switch(ot){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var st=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(st){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,41);var lt=zMe(iAe(e));re=0===lt?i(e):1===lt?c(e):oAe(e)}}}}break;default:cAe(e,48);var bt=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(bt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ft=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(Ft){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,32);var mt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(mt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Et=sje(iAe(e));if(2>>0)re=oAe(e);else switch(Et){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kt=nje(iAe(e));if(2>>0)re=oAe(e);else switch(kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,33);var Bt=zMe(iAe(e));re=0===Bt?i(e):1===Bt?c(e):oAe(e)}}}}}}break;case 30:cAe(e,48);var Tt=iAe(e);if(Tt)var It=Tt[1],Ot=35>>0)re=oAe(e);else switch(Ot){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pt=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Pt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Rt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Rt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ut=_je(iAe(e));if(2>>0)re=oAe(e);else switch(Ut){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,34);var Xt=zMe(iAe(e));re=0===Xt?i(e):1===Xt?c(e):oAe(e)}}}break;default:cAe(e,48);var Gt=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Gt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Jt=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Jt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Wt=nje(iAe(e));if(2>>0)re=oAe(e);else switch(Wt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Yt=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(Yt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Kt=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(Kt){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,35);var Zt=zMe(iAe(e));re=0===Zt?i(e):1===Zt?c(e):oAe(e)}}}}}}break;case 31:cAe(e,48);var tn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(tn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var nn=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var un=vUe(iAe(e));if(2>>0)re=oAe(e);else switch(un){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var an=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(an){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,36);var fn=zMe(iAe(e));re=0===fn?i(e):1===fn?c(e):oAe(e)}}}}break;case 32:cAe(e,48);var on=nje(iAe(e));if(2>>0)re=oAe(e);else switch(on){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var sn=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(sn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var vn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(vn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var mn=bje(iAe(e));if(2>>0)re=oAe(e);else switch(mn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var kn=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(kn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var gn=sje(iAe(e));if(2>>0)re=oAe(e);else switch(gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Bn=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Bn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var xn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,37);var In=zMe(iAe(e));re=0===In?i(e):1===In?c(e):oAe(e)}}}}}}}}break;case 33:cAe(e,48);var Nn=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Nn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pn=iAe(e);if(Pn)var Rn=Pn[1],Xn=35>>0)re=oAe(e);else switch(Xn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gn=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Gn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var qn=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(qn){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,38);var Wn=zMe(iAe(e));re=0===Wn?i(e):1===Wn?c(e):oAe(e)}}}}break;case 34:cAe(e,48);var $n=IMe(iAe(e));if(2<$n>>>0)re=oAe(e);else switch($n){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Hn=iAe(e);if(Hn)var Kn=Hn[1],nu=35>>0)re=oAe(e);else switch(nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var uu=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(uu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,39);var au=zMe(iAe(e));re=0===au?i(e):1===au?c(e):oAe(e)}break;default:cAe(e,48);var iu=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(iu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ou=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(ou){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var lu=bje(iAe(e));if(2>>0)re=oAe(e);else switch(lu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,40);var mu=zMe(iAe(e));re=0===mu?i(e):1===mu?c(e):oAe(e)}}}}}break;case 35:cAe(e,48);var du=iAe(e);if(du)var Eu=du[1],wu=35>>0)re=oAe(e);else switch(wu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var _u=iAe(e);if(_u)var Bu=_u[1],Nu=35>>0)re=oAe(e);else switch(Nu){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var Pu=Qje(iAe(e));if(2>>0)re=oAe(e);else switch(Pu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Xu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(Xu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Gu=Uje(iAe(e));if(2>>0)re=oAe(e);else switch(Gu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,42);var qu=zMe(iAe(e));re=0===qu?i(e):1===qu?c(e):oAe(e)}}}break;default:cAe(e,48);var zu=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(zu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Wu=nje(iAe(e));if(2>>0)re=oAe(e);else switch(Wu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Vu=UMe(iAe(e));if(2>>0)re=oAe(e);else switch(Vu){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,43);var $u=zMe(iAe(e));re=0===$u?i(e):1===$u?c(e):oAe(e)}}}}break;default:cAe(e,48);var ra=Hje(iAe(e));if(2>>0)re=oAe(e);else switch(ra){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ca=tUe(iAe(e));if(2>>0)re=oAe(e);else switch(ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var oa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(oa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var la=Bje(iAe(e));if(2>>0)re=oAe(e);else switch(la){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,47);var Da=zMe(iAe(e));re=0===Da?i(e):1===Da?c(e):oAe(e)}}}}}break;case 36:cAe(e,48);var ba=iAe(e);if(ba)var Ea=ba[1],ka=35>>0)re=oAe(e);else switch(ka){case 0:re=i(e);break;case 1:re=c(e);break;case 2:cAe(e,48);var ha=IMe(iAe(e));if(2>>0)re=oAe(e);else switch(ha){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ca=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ca){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,44);var ga=zMe(iAe(e));re=0===ga?i(e):1===ga?c(e):oAe(e)}}break;default:cAe(e,48);var Ta=JMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ta){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ia=OMe(iAe(e));if(2>>0)re=oAe(e);else switch(Ia){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Pa=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Pa){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var Ua=DUe(iAe(e));if(2>>0)re=oAe(e);else switch(Ua){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,45);var Ga=zMe(iAe(e));re=0===Ga?i(e):1===Ga?c(e):oAe(e)}}}}}break;case 37:cAe(e,48);var Za=pUe(iAe(e));if(2>>0)re=oAe(e);else switch(Za){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ri=mUe(iAe(e));if(2>>0)re=oAe(e);else switch(ri){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,48);var ei=PMe(iAe(e));if(2>>0)re=oAe(e);else switch(ei){case 0:re=i(e);break;case 1:re=c(e);break;default:cAe(e,46);var ui=zMe(iAe(e));re=0===ui?i(e):1===ui?c(e):oAe(e)}}}break;case 38:cAe(e,52);var ii=iAe(e);if(ii)var ci=ii[1],oi=xp>>0)return nye(Y9r);var mi=re;if(41<=mi)switch(mi){case 41:return[0,r,sA];case 42:return[0,r,42];case 43:return[0,r,cm];case 44:return[0,r,31];case 46:return[0,r,wt];case 47:return[0,r,Zd];case 48:var hi=xUe(r,e),wi=_Ae(e),gi=qUe(r,wi);return[0,gi[1],[4,hi,gi[2],wi]];case 49:return[0,r,66];case 52:return[0,r,0];case 53:return[0,r,1];case 54:return[0,r,2];case 55:return[0,r,3];case 56:return[0,r,4];case 57:return[0,r,5];case 58:return[0,r,12];case 59:return[0,r,10];case 60:return[0,r,8];case 61:return[0,r,9];case 66:return[0,r,95];case 67:return[0,r,96];case 70:return[0,r,$l];case 72:return[0,r,86];case 73:return[0,r,88];case 75:return[0,r,11];case 77:return[0,r,Fu];case 78:return[0,r,CE];case 79:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];case 80:return[0,r,[6,_Ae(e)]];case 45:case 74:return[0,r,46];case 50:case 64:return[0,r,6];case 51:case 65:return[0,r,7];case 62:case 71:return[0,r,83];case 63:case 69:return[0,r,82];default:return[0,r,79]}switch(mi){case 0:return[2,RUe(r,e)];case 1:return[2,r];case 2:var xi=BUe(r,e),Ni=Kye(zy),Mi=WUe(r,Ni,e),ji=Mi[1];return[1,ji,jUe(ji,xi,Mi[2],Ni,1)];case 3:var Ui=_Ae(e);if(r[5]){var Xi=r[4]?OUe(r,xUe(r,e),Ui):r,zi=AMe(1,Xi),Wi=DAe(e);return Ex(AAe(e,Wi-1|0,1),H9r)&&hx(AAe(e,Wi-2|0,1),K9r)?[0,zi,83]:[2,zi]}var $i=BUe(r,e),Ki=Kye(zy);eCe(Ki,Ui);var Zi=WUe(r,Ki,e),uc=Zi[1];return[1,uc,jUe(uc,$i,Zi[2],Ki,1)];case 4:return r[4]?[2,AMe(0,r)]:(sAe(e),fAe(e),0===(0===xje(iAe(e))?0:oAe(e))?[0,r,$l]:nye(Q9r));case 5:var cc=BUe(r,e),sc=Kye(zy),lc=VUe(r,sc,e),bc=lc[1];return[1,bc,jUe(bc,cc,lc[2],sc,0)];case 6:var Fc=_Ae(e),mc=BUe(r,e),Ec=Kye(zy),kc=Kye(zy);eCe(kc,Fc);var Oc=YUe(r,Fc,Ec,kc,0,e),Lc=Oc[1],Pc=[0,Lc[1],mc,Oc[2]],zc=Oc[3],Kc=Qye(kc);return[0,Lc,[2,[0,Pc,Qye(Ec),Kc,zc]]];case 7:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){var e=QMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(r)))for(;;){var t=QMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(0,_Ae(e))]:nye($9r)}));case 8:return[0,r,XUe(0,_Ae(e))];case 9:return zUe(r,e,(function(r,e){function t(r){if(0===Fje(iAe(r))){if(0===uje(iAe(r)))for(;;){cAe(r,0);var e=KMe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===uje(iAe(r)))for(;;){cAe(r,0);var t=KMe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(0,_Ae(e))]:nye(V9r)}));case 10:return[0,r,UUe(0,_Ae(e))];case 11:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){var e=Dje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(r)))for(;;){var t=Dje(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(1,_Ae(e))]:nye(W9r)}));case 12:return[0,r,XUe(1,_Ae(e))];case 13:return zUe(r,e,(function(r,e){function t(r){if(0===Sje(iAe(r))){if(0===kje(iAe(r)))for(;;){cAe(r,0);var e=aje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===kje(iAe(r)))for(;;){cAe(r,0);var t=aje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(3,_Ae(e))]:nye(z9r)}));case 14:return[0,r,UUe(3,_Ae(e))];case 15:return zUe(r,e,(function(r,e){function t(r){if(0===kje(iAe(r)))for(;;)if(cAe(r,0),0!==kje(iAe(r)))return oAe(r);return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(1,_Ae(e))]:nye(q9r)}));case 16:return[0,r,UUe(1,_Ae(e))];case 17:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){var e=ZMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(r)))for(;;){var t=ZMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,XUe(2,_Ae(e))]:nye(J9r)}));case 19:return zUe(r,e,(function(r,e){function t(r){if(0===XMe(iAe(r))){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var e=Xje(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===RMe(iAe(r)))for(;;){cAe(r,0);var t=Xje(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}return oAe(r)}return oAe(r)}fAe(e);var n=Lje(iAe(e));if(0===n)for(;;){var u=$Me(iAe(e));if(0!==u){var a=1===u?t(e):oAe(e);break}}else a=1===n?t(e):oAe(e);return 0===a?[0,r,UUe(4,_Ae(e))]:nye(G9r)}));case 21:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}if(0===s){var v=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,v)]}return nye(X9r)}));case 22:var tf=_Ae(e);return[0,NUe(r,xUe(r,e),23),XUe(2,tf)];case 23:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){if(0===LMe(iAe(r)))for(;;){var e=bUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return oAe(r)}function i(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}function c(r){var e=YMe(iAe(r));return 0===e?i(r):1===e?u(r):oAe(r)}function f(r){for(;;){var e=gje(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return i(r);case 1:continue;default:return u(r)}}}fAe(e);var o=tje(iAe(e));if(3>>0)var s=oAe(e);else switch(o){case 0:for(;;){var l=Aje(iAe(e));if(3>>0)s=oAe(e);else switch(l){case 0:continue;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}break}break;case 1:s=a(e);break;case 2:s=c(e);break;default:s=f(e)}return 0===s?[0,r,UUe(4,_Ae(e))]:nye(U9r)}));case 25:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){return 0===LMe(iAe(r))?t(r):oAe(r)}function u(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}function a(r){for(;;){var e=Jje(iAe(r));if(0===e)return u(r);if(1!==e)return oAe(r)}}function i(r){for(;;){var e=EUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return u(r);case 1:continue;default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=EUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:return u(r);case 1:continue;default:continue r}}return oAe(r)}}}}fAe(e);var c=tje(iAe(e));if(3>>0)var f=oAe(e);else switch(c){case 0:for(;;){var o=Aje(iAe(e));if(3>>0)f=oAe(e);else switch(o){case 0:continue;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}break}break;case 1:f=n(e);break;case 2:f=a(e);break;default:f=i(e)}if(0===f){var s=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,s)]}return nye(j9r)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function n(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}fAe(e);var u=iAe(e);if(u)var a=u[1],i=44>>0)var c=oAe(e);else switch(i){case 0:for(;;){var f=aUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=t(e);break;default:c=n(e)}break}break;case 1:c=t(e);break;default:c=n(e)}return 0===c?[0,r,XUe(2,_Ae(e))]:nye(M9r)}));case 27:var uf=_Ae(e);return[0,NUe(r,xUe(r,e),22),XUe(2,uf)];case 29:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=tje(iAe(e));if(3>>0)var a=oAe(e);else switch(u){case 0:for(;;){var i=aUe(iAe(e));if(2>>0)a=oAe(e);else switch(i){case 0:continue;case 1:for(;;){cAe(e,0);var c=Jje(iAe(e));if(0===c)a=0;else{if(1===c)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(f){case 0:a=0;break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var o=EUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:s=0;break;case 1:continue;default:continue r}break}else s=oAe(e);a=s;break}}break}}break}break;case 1:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 2:for(;;){cAe(e,0);var l=Jje(iAe(e));if(0===l)a=n(e);else{if(1===l)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var v=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(v){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var D=EUe(iAe(e));if(2>>0)var p=oAe(e);else switch(D){case 0:p=n(e);break;case 1:continue;default:continue r}break}else p=oAe(e);a=p;break}}break}}return 0===a?[0,r,UUe(4,_Ae(e))]:nye(R9r)}));case 31:return[0,r,Jr];case 32:return[0,r,Z9r];case 33:return[0,r,rre];case 34:return[0,r,eu];case 35:return[0,r,41];case 36:return[0,r,30];case 37:return[0,r,53];case 38:return[0,r,Be];case 39:return[0,r,29];case 40:return[0,r,vi];case 18:case 28:return[0,r,XUe(2,_Ae(e))];default:return[0,r,UUe(4,_Ae(e))]}})),nXe=QUe((function(r,e){function t(r,e){for(;;){cAe(e,87);var t=zMe(iAe(e));if(0!==t)return 1===t?r<50?a(r+1|0,e):wx(a,[0,e]):oAe(e)}}function a(r,e){if(0===hUe(iAe(e))){var n=zje(iAe(e));if(0===n)return 0===RMe(iAe(e))&&0===RMe(iAe(e))&&0===RMe(iAe(e))?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e);if(1===n){if(0===RMe(iAe(e)))for(;;){var u=WMe(iAe(e));if(0!==u)return 1===u?r<50?t(r+1|0,e):wx(t,[0,e]):oAe(e)}return oAe(e)}return oAe(e)}return oAe(e)}function i(r){return Cx(t(0,r))}function c(r){return Cx(a(0,r))}function f(r){for(;;)if(cAe(r,34),0!==AUe(iAe(r)))return oAe(r)}function l(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function m(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?l(r):oAe(r)}function y(r){for(;;)if(cAe(r,28),0!==AUe(iAe(r)))return oAe(r)}function w(r){cAe(r,27);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,26),0!==AUe(iAe(r)))return oAe(r);return 1===e?y(r):oAe(r)}function B(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,29);var e=Kje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return y(r);case 1:continue;case 2:continue r;default:return w(r)}}return oAe(r)}}function T(r){cAe(r,34);var e=iUe(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:var t=ije(iAe(r));if(0===t)for(;;){cAe(r,29);var n=VMe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:return y(r);case 1:continue;default:return w(r)}}if(1===t)for(;;){cAe(r,29);var u=Kje(iAe(r));if(3>>0)return oAe(r);switch(u){case 0:return y(r);case 1:continue;case 2:return B(r);default:return w(r)}}return oAe(r);case 2:for(;;){cAe(r,29);var a=VMe(iAe(r));if(2>>0)return oAe(r);switch(a){case 0:return l(r);case 1:continue;default:return m(r)}}default:for(;;){cAe(r,29);var i=Kje(iAe(r));if(3>>0)return oAe(r);switch(i){case 0:return l(r);case 1:continue;case 2:return B(r);default:return m(r)}}}}function N(r){cAe(r,32);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,30),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function L(r){return cAe(r,4),0===wUe(iAe(r))?4:oAe(r)}function P(r){return 0===Mje(iAe(r))&&0===yje(iAe(r))&&0===sUe(iAe(r))&&0===Pje(iAe(r))&&0===Rje(iAe(r))&&0===hje(iAe(r))&&0===Cje(iAe(r))&&0===Mje(iAe(r))&&0===hUe(iAe(r))&&0===jje(iAe(r))&&0===uUe(iAe(r))?4:oAe(r)}function M(r){cAe(r,35);var e=Tje(iAe(r));if(3>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Nje(iAe(r));if(4>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Nje(iAe(r));if(4>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:return T(r);case 3:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}case 2:return T(r);default:return N(r)}}function U(r){for(;;)if(cAe(r,20),0!==AUe(iAe(r)))return oAe(r)}function J(r){cAe(r,35);var e=VMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:return f(r);case 1:for(;;){cAe(r,35);var t=Kje(iAe(r));if(3>>0)return oAe(r);switch(t){case 0:return f(r);case 1:continue;case 2:r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var n=Kje(iAe(r));if(3>>0)return oAe(r);switch(n){case 0:return f(r);case 1:continue;case 2:continue r;default:return N(r)}}return oAe(r)}default:return N(r)}}default:return N(r)}}function V(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function rr(r){for(;;)if(cAe(r,18),0!==AUe(iAe(r)))return oAe(r)}function tr(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ur(r){for(;;)if(cAe(r,12),0!==AUe(iAe(r)))return oAe(r)}function ar(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function or(r){for(;;)if(cAe(r,16),0!==AUe(iAe(r)))return oAe(r)}function sr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function Dr(r){for(;;)if(cAe(r,24),0!==AUe(iAe(r)))return oAe(r)}function yr(r){cAe(r,33);var e=mje(iAe(r));if(0===e)for(;;)if(cAe(r,31),0!==AUe(iAe(r)))return oAe(r);return 1===e?f(r):oAe(r)}function gr(r){r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,35);var e=eUe(iAe(r));if(4>>0)return oAe(r);switch(e){case 0:return f(r);case 1:return J(r);case 2:continue;case 3:continue r;default:return yr(r)}}return oAe(r)}}fAe(e);var Tr=iAe(e);if(Tr)var Nr=Tr[1],Lr=er>>0)var Mr=oAe(e);else switch(Lr){case 0:Mr=146;break;case 1:Mr=147;break;case 2:if(cAe(e,2),0===NMe(iAe(e))){for(;;)if(cAe(e,2),0!==NMe(iAe(e))){Mr=oAe(e);break}}else Mr=oAe(e);break;case 3:Mr=0;break;case 4:cAe(e,0);Mr=0===Vje(iAe(e))?0:oAe(e);break;case 5:cAe(e,138);Mr=0===oje(iAe(e))?(cAe(e,Jr),0===oje(iAe(e))?Uu:oAe(e)):oAe(e);break;case 6:Mr=8;break;case 7:cAe(e,145);var Ur=iAe(e);if(Ur)var Gr=Ur[1],Vr=32>>0)Mr=oAe(e);else switch(te){case 0:cAe(e,133);Mr=0===oje(iAe(e))?xp:oAe(e);break;case 1:Mr=5;break;default:Mr=g}break;case 14:cAe(e,130);var ne=iAe(e);if(ne)var ce=ne[1],fe=42>>0)Mr=oAe(e);else switch(pe){case 0:Mr=f(e);break;case 1:continue;case 2:Mr=T(e);break;case 3:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,35);var Fe=Nje(iAe(e));if(4>>0)var de=oAe(e);else switch(Fe){case 0:de=f(e);break;case 1:continue;case 2:de=T(e);break;case 3:continue r;default:de=N(e)}break}else de=oAe(e);Mr=de;break}break;default:Mr=N(e)}break}else Mr=oAe(e);break;case 18:cAe(e,143);var ke=Oje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ke){case 0:cAe(e,3);var ge=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ge){case 0:for(;;){var xe=eje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xe){case 0:continue;case 1:Mr=L(e);break;default:Mr=P(e)}break}break;case 1:Mr=L(e);break;default:Mr=P(e)}break;case 1:Mr=6;break;default:Mr=142}break;case 19:cAe(e,35);var Te=Wje(iAe(e));if(8>>0)Mr=oAe(e);else switch(Te){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,21);var Pe=oUe(iAe(e));if(4>>0)Mr=oAe(e);else switch(Pe){case 0:Mr=U(e);break;case 1:Mr=J(e);break;case 2:continue;case 3:for(;;){cAe(e,19);var je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(je){case 0:Mr=V(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Xe=mje(iAe(e));if(0===Xe){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Xe?V(e):oAe(e)}break}break;default:cAe(e,20);var Ge=mje(iAe(e));if(0===Ge){for(;;)if(cAe(e,20),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ge?U(e):oAe(e)}break}break;case 3:for(;;){cAe(e,19);var Je=rje(iAe(e));if(3>>0)Mr=oAe(e);else switch(Je){case 0:Mr=rr(e);break;case 1:Mr=J(e);break;case 2:continue;default:cAe(e,18);var Ke=mje(iAe(e));if(0===Ke){for(;;)if(cAe(e,18),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Ke?rr(e):oAe(e)}break}break;case 4:cAe(e,34);var Qe=qje(iAe(e));if(0===Qe)Mr=f(e);else if(1===Qe)for(;;){cAe(e,13);var et=fUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(et){case 0:Mr=tr(e);break;case 1:continue;case 2:r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,13);var at=fUe(iAe(e));if(3>>0)var it=oAe(e);else switch(at){case 0:it=ur(e);break;case 1:continue;case 2:continue r;default:cAe(e,11);var ot=mje(iAe(e));if(0===ot){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){it=oAe(e);break}}else it=1===ot?ur(e):oAe(e)}break}else it=oAe(e);Mr=it;break}break;default:cAe(e,11);var st=mje(iAe(e));if(0===st){for(;;)if(cAe(e,10),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===st?tr(e):oAe(e)}break}else Mr=oAe(e);break;case 5:Mr=T(e);break;case 6:cAe(e,34);var lt=$je(iAe(e));if(0===lt)Mr=f(e);else if(1===lt)for(;;){cAe(e,17);var bt=Zje(iAe(e));if(3>>0)Mr=oAe(e);else switch(bt){case 0:Mr=ar(e);break;case 1:continue;case 2:r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,17);var Ft=Zje(iAe(e));if(3>>0)var mt=oAe(e);else switch(Ft){case 0:mt=or(e);break;case 1:continue;case 2:continue r;default:cAe(e,15);var Et=mje(iAe(e));if(0===Et){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){mt=oAe(e);break}}else mt=1===Et?or(e):oAe(e)}break}else mt=oAe(e);Mr=mt;break}break;default:cAe(e,15);var kt=mje(iAe(e));if(0===kt){for(;;)if(cAe(e,14),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===kt?ar(e):oAe(e)}break}else Mr=oAe(e);break;case 7:cAe(e,34);var Bt=qMe(iAe(e));if(0===Bt)Mr=f(e);else if(1===Bt)for(;;){cAe(e,25);var Tt=lUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Tt){case 0:Mr=sr(e);break;case 1:continue;case 2:r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,25);var It=lUe(iAe(e));if(3>>0)var Ot=oAe(e);else switch(It){case 0:Ot=Dr(e);break;case 1:continue;case 2:continue r;default:cAe(e,23);var Pt=mje(iAe(e));if(0===Pt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Ot=oAe(e);break}}else Ot=1===Pt?Dr(e):oAe(e)}break}else Ot=oAe(e);Mr=Ot;break}break;default:cAe(e,23);var Rt=mje(iAe(e));if(0===Rt){for(;;)if(cAe(e,22),0!==AUe(iAe(e))){Mr=oAe(e);break}}else Mr=1===Rt?sr(e):oAe(e)}break}else Mr=oAe(e);break;default:Mr=yr(e)}break;case 20:cAe(e,35);var Ut=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Ut){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:for(;;){cAe(e,35);var Xt=cje(iAe(e));if(5>>0)Mr=oAe(e);else switch(Xt){case 0:Mr=f(e);break;case 1:Mr=M(e);break;case 2:continue;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break}break;case 3:Mr=T(e);break;case 4:Mr=gr(e);break;default:Mr=yr(e)}break;case 21:Mr=99;break;case 22:Mr=97;break;case 23:cAe(e,S);var Gt=iAe(e);if(Gt)var Jt=Gt[1],Wt=59>>0)Mr=oAe(e);else switch(qn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Wn=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $n=nje(iAe(e));if(2<$n>>>0)Mr=oAe(e);else switch($n){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hn=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hn){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,36);var Kn=zMe(iAe(e));Mr=0===Kn?i(e):1===Kn?c(e):oAe(e)}}}break;default:cAe(e,87);var nu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uu=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var au=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(au){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,37);var iu=zMe(iAe(e));Mr=0===iu?i(e):1===iu?c(e):oAe(e)}}}}break;case 34:cAe(e,87);var ou=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ou){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var mu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(mu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var du=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(du){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,38);var Eu=zMe(iAe(e));Mr=0===Eu?i(e):1===Eu?c(e):oAe(e)}}}}break;case 35:cAe(e,87);var wu=iAe(e);if(wu)var _u=wu[1],Bu=35<_u?fl<_u?Re<_u?nc<_u?-1:Mt<_u?lo<_u?iw<_u?jw<_u?sl<_u?Td<_u?Pv<_u?Nb<_u?jm<_u?0:-1:Ct<_u?is<_u?0:-1:0:-1:Jf<_u?pc<_u?sC<_u?Cv<_u?0:-1:0:-1:Mu<_u?Mk<_u?0:-1:0:-1:Uc<_u?he<_u?_o<_u?ly<_u?$m<_u?iD<_u?vm<_u?PE<_u?G_<_u?WD<_u?0:-1:0:-1:ul<_u?Se<_u?0:-1:0:-1:qy<_u?OE<_u?ai<_u?Ao<_u?0:-1:0:-1:df<_u?kD<_u?0:-1:0:-1:Lh<_u?qt<_u?OA<_u?vA<_u?Nc<_u?nF<_u?0:-1:0:-1:li<_u?pB<_u?0:-1:0:-1:we<_u?Il<_u?Qw<_u?j<_u?0:-1:0:-1:h<_u?Yw<_u?0:-1:0:-1:zm<_u?oD<_u?Lb<_u?tu<_u?qk<_u?xC<_u?mo<_u?xE<_u?0:-1:0:-1:dn<_u?_t<_u?0:-1:0:-1:Qs<_u?Hw<_u?To<_u?oc<_u?0:-1:0:-1:Bk<_u?Yb<_u?0:-1:0:-1:ec<_u?Uf<_u?Xd<_u?Xc<_u?aC<_u?Yc<_u?0:-1:0:-1:LA<_u?Py<_u?0:-1:0:-1:zd<_u?_b<_u?jo<_u?Rb<_u?0:-1:0:-1:XF<_u?Ok<_u?0:-1:0:-1:ho<_u?Hc<_u?lk<_u?fa<_u?wa<_u?$t<_u?Ln<_u?dF<_u?Rg<_u?Uy<_u?_C<_u?ry<_u?0:-1:0:-1:0:Xa<_u?Mb<_u?VF<_u?ae<_u?0:-1:0:-1:Pi<_u?Ef<_u?0:-1:0:ky<_u?kd<_u?kB<_u?$e<_u?0:-1:ov<_u?eA<_u?0:-1:0:-1:AB<_u?mk<_u?0:-1:ng<_u?NB<_u?0:-1:0:-1:xs<_u?zs<_u?Ka<_u?ED<_u?IB<_u?wg<_u?yl<_u?yb<_u?0:-1:0:-1:op<_u?yo<_u?0:-1:0:-1:fo<_u?Jp<_u?rd<_u?d<_u?0:-1:0:-1:NA<_u?Df<_u?0:-1:0:-1:ll<_u?hm<_u?DD<_u?ut<_u?jv<_u?Eg<_u?0:-1:0:-1:PD<_u?pD<_u?0:-1:0:-1:Ce<_u?Z<_u?Hl<_u?Xy<_u?0:-1:0:-1:OF<_u?yC<_u?0:-1:0:-1:mv<_u?Md<_u?ME<_u?pn<_u?Sl<_u?Ek<_u?_e<_u?Ou<_u?_h<_u?Sb<_u?0:-1:0:-1:Vb<_u?xy<_u?0:-1:0:-1:Ry<_u?xr<_u?Ye<_u?An<_u?0:-1:0:-1:Hy<_u?dw<_u?0:-1:0:-1:Ci<_u?OB<_u?rp<_u?Th<_u?RC<_u?su<_u?0:-1:0:-1:R<_u?eE<_u?0:-1:0:-1:Fb<_u?ja<_u?Vm<_u?tw<_u?0:-1:0:-1:Tc<_u?Tn<_u?0:-1:0:-1:Xr<_u?XC<_u?Gh<_u?Qv<_u?Nt<_u?Bf<_u?lr<_u?Uw<_u?0:-1:0:-1:vh<_u?Z_<_u?0:-1:0:-1:ic<_u?Ep<_u?Fm<_u?sb<_u?0:-1:0:-1:Gm<_u?UE<_u?0:-1:0:-1:Lf<_u?ww<_u?hh<_u?pk<_u?Yi<_u?zr<_u?0:-1:0:-1:ea<_u?zw<_u?0:-1:0:-1:ID<_u?So<_u?He<_u?LB<_u?0:-1:0:-1:0:-1:Hk<_u?q<_u?DF<_u?Rr<_u?I_<_u?yi<_u?ru<_u?gk<_u?Kw<_u?pE<_u?gu<_u?0:-1:0:-1:Pw<_u?rc<_u?0:-1:0:-1:tB<_u?Lu<_u?Cb<_u?QE<_u?0:-1:0:-1:QA<_u?b<_u?0:-1:0:-1:Wk<_u?Gy<_u?cA<_u?od<_u?Hv<_u?IC<_u?0:-1:0:-1:vC<_u?Rw<_u?0:-1:0:-1:bn<_u?Zk<_u?kp<_u?0:-1:0:cu<_u?Su<_u?0:-1:0:Vo<_u?lb<_u?A<_u?Ps<_u?Dd<_u?py<_u?0:-1:DA<_u?P_<_u?0:-1:0:-1:ku<_u?zp<_u?WE<_u?Qf<_u?0:-1:0:-1:F_<_u?ac<_u?0:-1:0:-1:Fv<_u?Si<_u?iF<_u?Va<_u?0:-1:_n<_u?dA<_u?0:-1:0:-1:Zc<_u?Bd<_u?Dg<_u?ny<_u?0:-1:0:-1:bs<_u?nm<_u?0:-1:0:-1:Qc<_u?Dm<_u?vo<_u?af<_u?c_<_u?EA<_u?tE<_u?$f<_u?fm<_u?sh<_u?0:-1:0:-1:fk<_u?VD<_u?0:-1:0:-1:Kg<_u?0:rD<_u?wh<_u?0:-1:0:-1:bk<_u?0:eD<_u?Vc<_u?rf<_u?Kd<_u?0:-1:0:-1:0:-1:ZA<_u?tD<_u?Ay<_u?q_<_u?iy<_u?ih<_u?_w<_u?0:-1:0:-1:Wd<_u?Ih<_u?0:-1:0:cy<_u?Ac<_u?0:-1:Fd<_u?Gp<_u?0:-1:0:-1:nt<_u?kf<_u?fd<_u?Kr<_u?0:-1:da<_u?SE<_u?0:-1:0:-1:0:IF<_u?gC<_u?yn<_u?Br<_u?Fs<_u?LF<_u?vy<_u?Qd<_u?z_<_u?JE<_u?kA<_u?pm<_u?0:-1:Na<_u?hn<_u?0:-1:0:-1:_<_u&&Ig<_u?Ku<_u?0:-1:0:k_<_u?Sk<_u?fu<_u&&Gb<_u?Pr<_u?0:-1:0:-1:Fn<_u?HE<_u?hp<_u?hD<_u?0:-1:0:-1:pp<_u?ch<_u?0:-1:0:$g<_u?BC<_u?sw<_u||ab<_u?0:ph<_u?VA<_u?0:-1:0:-1:oo<_u||Ll<_u?0:$b<_u?Cn<_u?0:-1:0:Sh<_u?xk<_u?Ic<_u?em<_u?ks<_u&&_v<_u?Sg<_u?0:-1:0:vt<_u&&Zv<_u?jl<_u?0:-1:0:-1:MA<_u?pt<_u?Uk<_u?Zs<_u?Sf<_u?iC<_u?0:-1:0:-1:0:-1:0:v<_u?L_<_u?uk<_u?th<_u?$c<_u?xu<_u?mp<_u?0:-1:0:-1:0:Id<_u?0:Vg<_u?Gv<_u?0:-1:0:-1:Yh<_u&&$h<_u&&mm<_u?wF<_u?0:-1:0:UC<_u?ZE<_u?Ht<_u?m_<_u?yh<_u?Ie<_u?fA<_u?rv<_u?0:-1:Sc<_u?RD<_u?0:-1:0:-1:0:Dn<_u?xF<_u?0:Fl<_u?d_<_u?0:-1:0:vw<_u&&Ra<_u?Fw<_u?0:-1:0:UD<_u?x<_u?z<_u?Lm<_u&&Ey<_u?oF<_u?0:-1:0:-1:bi<_u?Ah<_u?V_<_u?Sw<_u?0:-1:0:-1:0:0:-1:Lw<_u?Ug<_u?Xw<_u?fD<_u?Ml<_u?uw<_u?0:-1:Sm<_u?ts<_u?0:-1:0:0:tm<_u?$_<_u?N_<_u?0:Qt<_u?Lp<_u?0:-1:0:-1:CF<_u?ct<_u?jc<_u?0:-1:0:ys<_u?Ru<_u?0:-1:0:-1:Vs<_u?CA<_u?Pp<_u?hb<_u?Iu<_u?Gc<_u?hd<_u?0:-1:0:-1:Po<_u?mf<_u?0:-1:0:0:-1:Qr<_u?ef<_u?Hs<_u?sf<_u?kk<_u?ln<_u?0:-1:0:-1:r_<_u?Db<_u?0:-1:0:-1:Vv<_u?Mh<_u?ie<_u?O<_u?0:-1:0:-1:0:-1:KF<_u?Ji<_u?es<_u?ig<_u?Cs<_u?Xg<_u?Y_<_u?Ii<_u&&mE<_u?Hh<_u?0:-1:0:Av<_u?pf<_u?Os<_u?qA<_u?0:-1:0:-1:Vl<_u?ds<_u?0:-1:0:-1:RF<_u?sy<_u?ns<_u?Tk<_u?om<_u?0:-1:0:-1:xd<_u?ev<_u?0:-1:0:0:PA<_u?dB<_u?po<_u?Lo<_u?As<_u?0:-1:cb<_u?ue<_u?0:-1:0:-1:Sa<_u?TC<_u?0:-1:qi<_u?Am<_u?0:-1:0:nv<_u?0:wA<_u?Lg<_u?0:-1:wC<_u?km<_u?0:-1:0:If<_u?GE<_u?$d<_u?On<_u?hr<_u?Yu<_u?Ks<_u?0:-1:0:U_<_u?qe<_u?0:-1:0:-1:0:Me<_u?wo<_u?E<_u?Kk<_u?Mm<_u?0:-1:0:-1:_l<_u?vd<_u?0:-1:0:0:_B<_u?cg<_u?Bg<_u?ep<_u?Dt<_u?0:-1:ty<_u?X<_u?0:-1:0:0:-1:_y<_u?jd<_u?uy<_u?GF<_u?no<_u?0:-1:0:AD<_u?vD<_u?0:-1:0:-1:Ub<_u?tC<_u?va<_u?Tv<_u?0:-1:0:-1:0:-1:pr<_u?Mf<_u?AC<_u?br<_u?qf<_u?vc<_u?hB<_u?Fa<_u?Gw<_u?ed<_u?id<_u?0:-1:0:-1:Jm<_u?kl<_u?0:-1:0:-1:Jh<_u?Pm<_u?_m<_u?Mp<_u?0:-1:0:-1:Ae<_u?Ng<_u?0:-1:0:$r<_u?fw<_u?oB<_u?Kv<_u?yD<_u?g_<_u?0:-1:0:-1:ze<_u?hg<_u?0:-1:0:-1:qg<_u?Jk<_u?ss<_u?dm<_u?0:-1:0:-1:nf<_u?OD<_u?0:-1:0:-1:xf<_u?nr<_u?C<_u?MC<_u?o<_u?0:-1:nE<_u?Hu<_u?0:-1:0:Du<_u?lp<_u?dc<_u?$a<_u?0:-1:0:-1:Uh<_u?fi<_u?0:-1:0:-1:gs<_u?jt<_u?Pl<_u?$v<_u?en<_u?_i<_u?0:-1:0:-1:Yy<_u?$F<_u?0:-1:0:-1:Ww<_u?zf<_u?Fy<_u?NF<_u?0:-1:0:-1:Yn<_u?Kh<_u?0:-1:0:-1:zA<_u?nh<_u?jA<_u?KD<_u?Ch<_u?Zg<_u?cn<_u?F<_u?EB<_u?qa<_u?0:-1:0:-1:Ju<_u?dD<_u?0:-1:0:-1:ye<_u?Ld<_u?hc<_u?dr<_u?0:-1:0:-1:Vy<_u?JD<_u?0:-1:0:-1:qh<_u?kr<_u?Cr<_u?Bs<_u?eB<_u?0:-1:0:-1:db<_u?pA<_u?0:-1:0:Ul<_u?Qk<_u?St<_u?_c<_u?0:-1:0:-1:qc<_u?ik<_u?0:-1:0:-1:gy<_u?na<_u?$D<_u?uA<_u?Gg<_u?bC<_u?0:-1:0:We<_u?QF<_u?0:-1:0:gm<_u?0:uh<_u?xg<_u?0:-1:0:-1:wn<_u?yg<_u?Fr<_u?Qn<_u?Yd<_u?La<_u?0:-1:0:-1:Jc<_u?vg<_u?0:-1:0:-1:bE<_u?ND<_u?ta<_u?Lt<_u?0:-1:0:-1:Wr<_u?Yo<_u?0:-1:0:-1:Ir<_u?ht<_u?bm<_u?qo<_u?s<_u?CB<_u?rl<_u?mr<_u?jp<_u?le<_u?xv<_u?ro<_u?SD<_u?YC<_u?ya<_u?0:-1:0:-1:gE<_u?lg<_u?0:-1:0:-1:Nv<_u?WF<_u?_f<_u?hf<_u?0:-1:0:-1:sv<_u?ti<_u?0:-1:0:-1:Ap<_u?0:be<_u?Oi<_u?ay<_u?Ds<_u?0:-1:0:-1:sm<_u?JF<_u?0:-1:0:-1:ua<_u?GA<_u?Hb<_u?Bw<_u?wy<_u?yp<_u?H_<_u?pa<_u?0:-1:0:-1:Tb<_u?Qo<_u?0:-1:0:-1:oC<_u?wv<_u?ol<_u?gc<_u?0:-1:0:-1:mF<_u?PB<_u?0:-1:0:-1:ma<_u?$s<_u?Bl<_u?b_<_u?fy<_u?dp<_u?0:-1:0:-1:A_<_u?yy<_u?0:-1:0:-1:Ew<_u?Mn<_u?DE<_u?VE<_u?0:-1:0:-1:Vt<_u?hk<_u?0:-1:0:-1:uo<_u?Xv<_u?Eo<_u?rn<_u?EC<_u?Dy<_u&&bp<_u?Pg<_u?0:-1:0:-1:_r<_u?aa<_u?MF<_u?xc<_u?0:-1:0:-1:Dc<_u?EF<_u?0:-1:0:-1:Rl<_u?Wp<_u?vB<_u?Yr<_u?Jd<_u?Ff<_u?0:-1:0:-1:al<_u?za<_u?0:-1:0:-1:_p<_u?fv<_u?0:-1:0:qE<_u?ek<_u?_k<_u?0:wD<_u?yB<_u?eg<_u?0:-1:0:my<_u?I<_u?0:-1:0:-1:n_<_u?Qi<_u?pu<_u?IE<_u?Zu<_u?kC<_u?0:-1:0:-1:Ag<_u?Vf<_u?0:-1:0:-1:FE<_u&&yu<_u?gh<_u?0:-1:0:lw<_u?Tu<_u?Iy<_u?At<_u?Cg<_u&&XA<_u?Ue<_u?0:-1:0:mw<_u?xa<_u?tc<_u?0:-1:0:Ow<_u?NE<_u?0:-1:0:0:Sy<_u?Vn<_u?0:zE<_u?xB<_u?0:-1:0:yt<_u?p<_u?XE<_u?Rd<_u?zt<_u?0:-1:0:-1:0:rb<_u?0:lA<_u?Hi<_u?0:-1:0:Wa<_u?Cd<_u?ao<_u?0:Bh<_u&&Iv<_u?jy<_u?0:-1:0:ko<_u?_A<_u?0:HD<_u?En<_u?0:-1:0:Qa<_u&&Jw<_u?ir<_u?0:-1:0:SA<_u?Ee<_u?0:Tg<_u?vb<_u?0:-1:Jg<_u?Ak<_u?0:-1:0:qw<_u?ad<_u?vr<_u?0:-1:0:ft<_u?0:Fp<_u?Hf<_u?0:-1:0:-1:H<_u?vl<_u?Ba<_u?dt<_u?Rc<_u?Cp<_u?Q_<_u?Vh<_u?xA<_u?0:-1:$<_u?Qp<_u?0:-1:0:kE<_u?0:yd<_u?el<_u?0:-1:0:-1:0:xD<_u?Jo<_u?0:oE<_u?Ya<_u?Ri<_u?bg<_u?0:-1:0:-1:0:xt<_u?oA<_u&&gp<_u?hu<_u?0:-1:0:im<_u?DC<_u?Cu<_u?xm<_u?0:-1:0:-1:0:pF<_u?Cm<_u?md<_u?wr<_u?0:Ob<_u?Ib<_u?fc<_u?rk<_u?0:-1:0:-1:0:zn<_u?E_<_u?wc<_u&&aw<_u?Mv<_u?0:-1:0:-1:Fi<_u?Jn<_u?0:-1:0:-1:Ad<_u?go<_u?Wy<_u?jD<_u?rB<_u?0:gb<_u?Is<_u?0:-1:0:-1:Tp<_u?Y<_u?Bv<_u?bo<_u?0:-1:0:-1:J_<_u?jn<_u?0:-1:0:-1:Es<_u?Zm<_u?Li<_u?Ck<_u?me<_u?0:-1:0:u<_u?bu<_u?0:-1:0:-1:0:-1:qb<_u?D<_u?FD<_u?Em<_u?ml<_u?Oa<_u?Nm<_u?k<_u&&Gi<_u?K<_u?0:-1:0:-1:BD<_u&&_d<_u?bd<_u?0:-1:0:-1:Ze<_u?Ja<_u?C_<_u?0:Bc<_u?R_<_u?0:-1:0:-1:Um<_u?gl<_u?Yv<_u?jC<_u?0:-1:0:-1:mh<_u?WA<_u?0:-1:0:-1:rE<_u?uv<_u?RE<_u?Ql<_u?Rm<_u?bD<_u?Pf<_u?ff<_u?0:-1:0:-1:_g<_u?Un<_u?0:-1:0:-1:Er<_u?Gl<_u?0:-1:T_<_u?Ab<_u?0:-1:0:-1:xh<_u?ym<_u?Zn<_u?Zl<_u?D_<_u?0:-1:0:-1:cr<_u?Jb<_u?0:-1:0:_D<_u?so<_u?0:-1:0:yc<_u?Xk<_u?Q<_u?vs<_u?vu<_u?Qu<_u?QD<_u?a_<_u?IA<_u?0:-1:0:-1:ia<_u?u_<_u?0:-1:0:Tf<_u?ip<_u?0:-1:RB<_u?My<_u?0:-1:0:-1:Rs<_u?Vd<_u&&aA<_u?hl<_u?0:-1:0:Ys<_u?Js<_u?0:-1:XD<_u?gB<_u?0:-1:0:-1:qr<_u?xo<_u?Oe<_u?tt<_u?W<_u?TA<_u?n<_u?0:-1:0:nC<_u?yF<_u?0:-1:0:-1:pb<_u?Ym<_u?LE<_u?lE<_u?0:-1:0:-1:Ts<_u?lC<_u?0:-1:0:-1:Fg<_u?Le<_u?$C<_u?Sn<_u?ki<_u?gt<_u?0:-1:0:-1:wd<_u?ug<_u?0:-1:0:-1:UA<_u?Nk<_u?uB<_u?Xf<_u?0:-1:0:-1:Cc<_u?hF<_u?0:-1:0:-1:kx(Tte,_u+kg|0)-1|0:-1;else Bu=-1;if(4>>0)Mr=oAe(e);else switch(Bu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Nu=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Nu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pu=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Pu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,39);var Xu=zMe(iAe(e));Mr=0===Xu?i(e):1===Xu?c(e):oAe(e)}break;default:cAe(e,87);var Gu=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qu=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,40);var zu=zMe(iAe(e));Mr=0===zu?i(e):1===zu?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Wu=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Vu=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Vu){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $u=vUe(iAe(e));if(2<$u>>>0)Mr=oAe(e);else switch($u){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,41);var ra=zMe(iAe(e));Mr=0===ra?i(e):1===ra?c(e):oAe(e)}}}break;default:cAe(e,87);var ca=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ca){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var oa=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(oa){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var la=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(la){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,42);var Da=zMe(iAe(e));Mr=0===Da?i(e):1===Da?c(e):oAe(e)}break;default:cAe(e,87);var ba=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ba){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ea=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ea){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ka=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ka){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ha=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ha){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,43);var Ca=zMe(iAe(e));Mr=0===Ca?i(e):1===Ca?c(e):oAe(e)}}}}}}}break;case 36:cAe(e,87);var ga=iAe(e);if(ga)var Ta=ga[1],Ia=35>>0)Mr=oAe(e);else switch(Ia){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Pa=iAe(e);if(Pa)var Ua=Pa[1],Ga=35>>0)Mr=oAe(e);else switch(Ga){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Za=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Za){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ri=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ri){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ei=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ei){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ii=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ii){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,44);var ci=zMe(iAe(e));Mr=0===ci?i(e):1===ci?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var oi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(oi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var si=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(si){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Di=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Di){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var pi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(pi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,45);var mi=zMe(iAe(e));Mr=0===mi?i(e):1===mi?c(e):oAe(e)}}}}break;case 4:cAe(e,87);var hi=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wi=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gi=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xi=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,46);var Ni=zMe(iAe(e));Mr=0===Ni?i(e):1===Ni?c(e):oAe(e)}}}}break;default:cAe(e,87);var Mi=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Mi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ji=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ji){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ui=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ui){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,47);var Xi=zMe(iAe(e));Mr=0===Xi?i(e):1===Xi?c(e):oAe(e)}}}}break;default:cAe(e,48);var zi=zMe(iAe(e));Mr=0===zi?i(e):1===zi?c(e):oAe(e)}break;case 37:cAe(e,87);var Wi=iAe(e);if(Wi)var $i=Wi[1],Ki=35<$i?fl<$i?Re<$i?nc<$i?-1:Mt<$i?lo<$i?iw<$i?jw<$i?sl<$i?Td<$i?Pv<$i?Nb<$i?jm<$i?0:-1:Ct<$i?is<$i?0:-1:0:-1:Jf<$i?pc<$i?sC<$i?Cv<$i?0:-1:0:-1:Mu<$i?Mk<$i?0:-1:0:-1:Uc<$i?he<$i?_o<$i?ly<$i?$m<$i?iD<$i?vm<$i?PE<$i?G_<$i?WD<$i?0:-1:0:-1:ul<$i?Se<$i?0:-1:0:-1:qy<$i?OE<$i?ai<$i?Ao<$i?0:-1:0:-1:df<$i?kD<$i?0:-1:0:-1:Lh<$i?qt<$i?OA<$i?vA<$i?Nc<$i?nF<$i?0:-1:0:-1:li<$i?pB<$i?0:-1:0:-1:we<$i?Il<$i?Qw<$i?j<$i?0:-1:0:-1:h<$i?Yw<$i?0:-1:0:-1:zm<$i?oD<$i?Lb<$i?tu<$i?qk<$i?xC<$i?mo<$i?xE<$i?0:-1:0:-1:dn<$i?_t<$i?0:-1:0:-1:Qs<$i?Hw<$i?To<$i?oc<$i?0:-1:0:-1:Bk<$i?Yb<$i?0:-1:0:-1:ec<$i?Uf<$i?Xd<$i?Xc<$i?aC<$i?Yc<$i?0:-1:0:-1:LA<$i?Py<$i?0:-1:0:-1:zd<$i?_b<$i?jo<$i?Rb<$i?0:-1:0:-1:XF<$i?Ok<$i?0:-1:0:-1:ho<$i?Hc<$i?lk<$i?fa<$i?wa<$i?$t<$i?Ln<$i?dF<$i?Rg<$i?Uy<$i?_C<$i?ry<$i?0:-1:0:-1:0:Xa<$i?Mb<$i?VF<$i?ae<$i?0:-1:0:-1:Pi<$i?Ef<$i?0:-1:0:ky<$i?kd<$i?kB<$i?$e<$i?0:-1:ov<$i?eA<$i?0:-1:0:-1:AB<$i?mk<$i?0:-1:ng<$i?NB<$i?0:-1:0:-1:xs<$i?zs<$i?Ka<$i?ED<$i?IB<$i?wg<$i?yl<$i?yb<$i?0:-1:0:-1:op<$i?yo<$i?0:-1:0:-1:fo<$i?Jp<$i?rd<$i?d<$i?0:-1:0:-1:NA<$i?Df<$i?0:-1:0:-1:ll<$i?hm<$i?DD<$i?ut<$i?jv<$i?Eg<$i?0:-1:0:-1:PD<$i?pD<$i?0:-1:0:-1:Ce<$i?Z<$i?Hl<$i?Xy<$i?0:-1:0:-1:OF<$i?yC<$i?0:-1:0:-1:mv<$i?Md<$i?ME<$i?pn<$i?Sl<$i?Ek<$i?_e<$i?Ou<$i?_h<$i?Sb<$i?0:-1:0:-1:Vb<$i?xy<$i?0:-1:0:-1:Ry<$i?xr<$i?Ye<$i?An<$i?0:-1:0:-1:Hy<$i?dw<$i?0:-1:0:-1:Ci<$i?OB<$i?rp<$i?Th<$i?RC<$i?su<$i?0:-1:0:-1:R<$i?eE<$i?0:-1:0:-1:Fb<$i?ja<$i?Vm<$i?tw<$i?0:-1:0:-1:Tc<$i?Tn<$i?0:-1:0:-1:Xr<$i?XC<$i?Gh<$i?Qv<$i?Nt<$i?Bf<$i?lr<$i?Uw<$i?0:-1:0:-1:vh<$i?Z_<$i?0:-1:0:-1:ic<$i?Ep<$i?Fm<$i?sb<$i?0:-1:0:-1:Gm<$i?UE<$i?0:-1:0:-1:Lf<$i?ww<$i?hh<$i?pk<$i?Yi<$i?zr<$i?0:-1:0:-1:ea<$i?zw<$i?0:-1:0:-1:ID<$i?So<$i?He<$i?LB<$i?0:-1:0:-1:0:-1:Hk<$i?q<$i?DF<$i?Rr<$i?I_<$i?yi<$i?ru<$i?gk<$i?Kw<$i?pE<$i?gu<$i?0:-1:0:-1:Pw<$i?rc<$i?0:-1:0:-1:tB<$i?Lu<$i?Cb<$i?QE<$i?0:-1:0:-1:QA<$i?b<$i?0:-1:0:-1:Wk<$i?Gy<$i?cA<$i?od<$i?Hv<$i?IC<$i?0:-1:0:-1:vC<$i?Rw<$i?0:-1:0:-1:bn<$i?Zk<$i?kp<$i?0:-1:0:cu<$i?Su<$i?0:-1:0:Vo<$i?lb<$i?A<$i?Ps<$i?Dd<$i?py<$i?0:-1:DA<$i?P_<$i?0:-1:0:-1:ku<$i?zp<$i?WE<$i?Qf<$i?0:-1:0:-1:F_<$i?ac<$i?0:-1:0:-1:Fv<$i?Si<$i?iF<$i?Va<$i?0:-1:_n<$i?dA<$i?0:-1:0:-1:Zc<$i?Bd<$i?Dg<$i?ny<$i?0:-1:0:-1:bs<$i?nm<$i?0:-1:0:-1:Qc<$i?Dm<$i?vo<$i?af<$i?c_<$i?EA<$i?tE<$i?$f<$i?fm<$i?sh<$i?0:-1:0:-1:fk<$i?VD<$i?0:-1:0:-1:Kg<$i?0:rD<$i?wh<$i?0:-1:0:-1:bk<$i?0:eD<$i?Vc<$i?rf<$i?Kd<$i?0:-1:0:-1:0:-1:ZA<$i?tD<$i?Ay<$i?q_<$i?iy<$i?ih<$i?_w<$i?0:-1:0:-1:Wd<$i?Ih<$i?0:-1:0:cy<$i?Ac<$i?0:-1:Fd<$i?Gp<$i?0:-1:0:-1:nt<$i?kf<$i?fd<$i?Kr<$i?0:-1:da<$i?SE<$i?0:-1:0:-1:0:IF<$i?gC<$i?yn<$i?Br<$i?Fs<$i?LF<$i?vy<$i?Qd<$i?z_<$i?JE<$i?kA<$i?pm<$i?0:-1:Na<$i?hn<$i?0:-1:0:-1:_<$i&&Ig<$i?Ku<$i?0:-1:0:k_<$i?Sk<$i?fu<$i&&Gb<$i?Pr<$i?0:-1:0:-1:Fn<$i?HE<$i?hp<$i?hD<$i?0:-1:0:-1:pp<$i?ch<$i?0:-1:0:$g<$i?BC<$i?sw<$i||ab<$i?0:ph<$i?VA<$i?0:-1:0:-1:oo<$i||Ll<$i?0:$b<$i?Cn<$i?0:-1:0:Sh<$i?xk<$i?Ic<$i?em<$i?ks<$i&&_v<$i?Sg<$i?0:-1:0:vt<$i&&Zv<$i?jl<$i?0:-1:0:-1:MA<$i?pt<$i?Uk<$i?Zs<$i?Sf<$i?iC<$i?0:-1:0:-1:0:-1:0:v<$i?L_<$i?uk<$i?th<$i?$c<$i?xu<$i?mp<$i?0:-1:0:-1:0:Id<$i?0:Vg<$i?Gv<$i?0:-1:0:-1:Yh<$i&&$h<$i&&mm<$i?wF<$i?0:-1:0:UC<$i?ZE<$i?Ht<$i?m_<$i?yh<$i?Ie<$i?fA<$i?rv<$i?0:-1:Sc<$i?RD<$i?0:-1:0:-1:0:Dn<$i?xF<$i?0:Fl<$i?d_<$i?0:-1:0:vw<$i&&Ra<$i?Fw<$i?0:-1:0:UD<$i?x<$i?z<$i?Lm<$i&&Ey<$i?oF<$i?0:-1:0:-1:bi<$i?Ah<$i?V_<$i?Sw<$i?0:-1:0:-1:0:0:-1:Lw<$i?Ug<$i?Xw<$i?fD<$i?Ml<$i?uw<$i?0:-1:Sm<$i?ts<$i?0:-1:0:0:tm<$i?$_<$i?N_<$i?0:Qt<$i?Lp<$i?0:-1:0:-1:CF<$i?ct<$i?jc<$i?0:-1:0:ys<$i?Ru<$i?0:-1:0:-1:Vs<$i?CA<$i?Pp<$i?hb<$i?Iu<$i?Gc<$i?hd<$i?0:-1:0:-1:Po<$i?mf<$i?0:-1:0:0:-1:Qr<$i?ef<$i?Hs<$i?sf<$i?kk<$i?ln<$i?0:-1:0:-1:r_<$i?Db<$i?0:-1:0:-1:Vv<$i?Mh<$i?ie<$i?O<$i?0:-1:0:-1:0:-1:KF<$i?Ji<$i?es<$i?ig<$i?Cs<$i?Xg<$i?Y_<$i?Ii<$i&&mE<$i?Hh<$i?0:-1:0:Av<$i?pf<$i?Os<$i?qA<$i?0:-1:0:-1:Vl<$i?ds<$i?0:-1:0:-1:RF<$i?sy<$i?ns<$i?Tk<$i?om<$i?0:-1:0:-1:xd<$i?ev<$i?0:-1:0:0:PA<$i?dB<$i?po<$i?Lo<$i?As<$i?0:-1:cb<$i?ue<$i?0:-1:0:-1:Sa<$i?TC<$i?0:-1:qi<$i?Am<$i?0:-1:0:nv<$i?0:wA<$i?Lg<$i?0:-1:wC<$i?km<$i?0:-1:0:If<$i?GE<$i?$d<$i?On<$i?hr<$i?Yu<$i?Ks<$i?0:-1:0:U_<$i?qe<$i?0:-1:0:-1:0:Me<$i?wo<$i?E<$i?Kk<$i?Mm<$i?0:-1:0:-1:_l<$i?vd<$i?0:-1:0:0:_B<$i?cg<$i?Bg<$i?ep<$i?Dt<$i?0:-1:ty<$i?X<$i?0:-1:0:0:-1:_y<$i?jd<$i?uy<$i?GF<$i?no<$i?0:-1:0:AD<$i?vD<$i?0:-1:0:-1:Ub<$i?tC<$i?va<$i?Tv<$i?0:-1:0:-1:0:-1:pr<$i?Mf<$i?AC<$i?br<$i?qf<$i?vc<$i?hB<$i?Fa<$i?Gw<$i?ed<$i?id<$i?0:-1:0:-1:Jm<$i?kl<$i?0:-1:0:-1:Jh<$i?Pm<$i?_m<$i?Mp<$i?0:-1:0:-1:Ae<$i?Ng<$i?0:-1:0:$r<$i?fw<$i?oB<$i?Kv<$i?yD<$i?g_<$i?0:-1:0:-1:ze<$i?hg<$i?0:-1:0:-1:qg<$i?Jk<$i?ss<$i?dm<$i?0:-1:0:-1:nf<$i?OD<$i?0:-1:0:-1:xf<$i?nr<$i?C<$i?MC<$i?o<$i?0:-1:nE<$i?Hu<$i?0:-1:0:Du<$i?lp<$i?dc<$i?$a<$i?0:-1:0:-1:Uh<$i?fi<$i?0:-1:0:-1:gs<$i?jt<$i?Pl<$i?$v<$i?en<$i?_i<$i?0:-1:0:-1:Yy<$i?$F<$i?0:-1:0:-1:Ww<$i?zf<$i?Fy<$i?NF<$i?0:-1:0:-1:Yn<$i?Kh<$i?0:-1:0:-1:zA<$i?nh<$i?jA<$i?KD<$i?Ch<$i?Zg<$i?cn<$i?F<$i?EB<$i?qa<$i?0:-1:0:-1:Ju<$i?dD<$i?0:-1:0:-1:ye<$i?Ld<$i?hc<$i?dr<$i?0:-1:0:-1:Vy<$i?JD<$i?0:-1:0:-1:qh<$i?kr<$i?Cr<$i?Bs<$i?eB<$i?0:-1:0:-1:db<$i?pA<$i?0:-1:0:Ul<$i?Qk<$i?St<$i?_c<$i?0:-1:0:-1:qc<$i?ik<$i?0:-1:0:-1:gy<$i?na<$i?$D<$i?uA<$i?Gg<$i?bC<$i?0:-1:0:We<$i?QF<$i?0:-1:0:gm<$i?0:uh<$i?xg<$i?0:-1:0:-1:wn<$i?yg<$i?Fr<$i?Qn<$i?Yd<$i?La<$i?0:-1:0:-1:Jc<$i?vg<$i?0:-1:0:-1:bE<$i?ND<$i?ta<$i?Lt<$i?0:-1:0:-1:Wr<$i?Yo<$i?0:-1:0:-1:Ir<$i?ht<$i?bm<$i?qo<$i?s<$i?CB<$i?rl<$i?mr<$i?jp<$i?le<$i?xv<$i?ro<$i?SD<$i?YC<$i?ya<$i?0:-1:0:-1:gE<$i?lg<$i?0:-1:0:-1:Nv<$i?WF<$i?_f<$i?hf<$i?0:-1:0:-1:sv<$i?ti<$i?0:-1:0:-1:Ap<$i?0:be<$i?Oi<$i?ay<$i?Ds<$i?0:-1:0:-1:sm<$i?JF<$i?0:-1:0:-1:ua<$i?GA<$i?Hb<$i?Bw<$i?wy<$i?yp<$i?H_<$i?pa<$i?0:-1:0:-1:Tb<$i?Qo<$i?0:-1:0:-1:oC<$i?wv<$i?ol<$i?gc<$i?0:-1:0:-1:mF<$i?PB<$i?0:-1:0:-1:ma<$i?$s<$i?Bl<$i?b_<$i?fy<$i?dp<$i?0:-1:0:-1:A_<$i?yy<$i?0:-1:0:-1:Ew<$i?Mn<$i?DE<$i?VE<$i?0:-1:0:-1:Vt<$i?hk<$i?0:-1:0:-1:uo<$i?Xv<$i?Eo<$i?rn<$i?EC<$i?Dy<$i&&bp<$i?Pg<$i?0:-1:0:-1:_r<$i?aa<$i?MF<$i?xc<$i?0:-1:0:-1:Dc<$i?EF<$i?0:-1:0:-1:Rl<$i?Wp<$i?vB<$i?Yr<$i?Jd<$i?Ff<$i?0:-1:0:-1:al<$i?za<$i?0:-1:0:-1:_p<$i?fv<$i?0:-1:0:qE<$i?ek<$i?_k<$i?0:wD<$i?yB<$i?eg<$i?0:-1:0:my<$i?I<$i?0:-1:0:-1:n_<$i?Qi<$i?pu<$i?IE<$i?Zu<$i?kC<$i?0:-1:0:-1:Ag<$i?Vf<$i?0:-1:0:-1:FE<$i&&yu<$i?gh<$i?0:-1:0:lw<$i?Tu<$i?Iy<$i?At<$i?Cg<$i&&XA<$i?Ue<$i?0:-1:0:mw<$i?xa<$i?tc<$i?0:-1:0:Ow<$i?NE<$i?0:-1:0:0:Sy<$i?Vn<$i?0:zE<$i?xB<$i?0:-1:0:yt<$i?p<$i?XE<$i?Rd<$i?zt<$i?0:-1:0:-1:0:rb<$i?0:lA<$i?Hi<$i?0:-1:0:Wa<$i?Cd<$i?ao<$i?0:Bh<$i&&Iv<$i?jy<$i?0:-1:0:ko<$i?_A<$i?0:HD<$i?En<$i?0:-1:0:Qa<$i&&Jw<$i?ir<$i?0:-1:0:SA<$i?Ee<$i?0:Tg<$i?vb<$i?0:-1:Jg<$i?Ak<$i?0:-1:0:qw<$i?ad<$i?vr<$i?0:-1:0:ft<$i?0:Fp<$i?Hf<$i?0:-1:0:-1:H<$i?vl<$i?Ba<$i?dt<$i?Rc<$i?Cp<$i?Q_<$i?Vh<$i?xA<$i?0:-1:$<$i?Qp<$i?0:-1:0:kE<$i?0:yd<$i?el<$i?0:-1:0:-1:0:xD<$i?Jo<$i?0:oE<$i?Ya<$i?Ri<$i?bg<$i?0:-1:0:-1:0:xt<$i?oA<$i&&gp<$i?hu<$i?0:-1:0:im<$i?DC<$i?Cu<$i?xm<$i?0:-1:0:-1:0:pF<$i?Cm<$i?md<$i?wr<$i?0:Ob<$i?Ib<$i?fc<$i?rk<$i?0:-1:0:-1:0:zn<$i?E_<$i?wc<$i&&aw<$i?Mv<$i?0:-1:0:-1:Fi<$i?Jn<$i?0:-1:0:-1:Ad<$i?go<$i?Wy<$i?jD<$i?rB<$i?0:gb<$i?Is<$i?0:-1:0:-1:Tp<$i?Y<$i?Bv<$i?bo<$i?0:-1:0:-1:J_<$i?jn<$i?0:-1:0:-1:Es<$i?Zm<$i?Li<$i?Ck<$i?me<$i?0:-1:0:u<$i?bu<$i?0:-1:0:-1:0:-1:qb<$i?D<$i?FD<$i?Em<$i?ml<$i?Oa<$i?Nm<$i?k<$i&&Gi<$i?K<$i?0:-1:0:-1:BD<$i&&_d<$i?bd<$i?0:-1:0:-1:Ze<$i?Ja<$i?C_<$i?0:Bc<$i?R_<$i?0:-1:0:-1:Um<$i?gl<$i?Yv<$i?jC<$i?0:-1:0:-1:mh<$i?WA<$i?0:-1:0:-1:rE<$i?uv<$i?RE<$i?Ql<$i?Rm<$i?bD<$i?Pf<$i?ff<$i?0:-1:0:-1:_g<$i?Un<$i?0:-1:0:-1:Er<$i?Gl<$i?0:-1:T_<$i?Ab<$i?0:-1:0:-1:xh<$i?ym<$i?Zn<$i?Zl<$i?D_<$i?0:-1:0:-1:cr<$i?Jb<$i?0:-1:0:_D<$i?so<$i?0:-1:0:yc<$i?Xk<$i?Q<$i?vs<$i?vu<$i?Qu<$i?QD<$i?a_<$i?IA<$i?0:-1:0:-1:ia<$i?u_<$i?0:-1:0:Tf<$i?ip<$i?0:-1:RB<$i?My<$i?0:-1:0:-1:Rs<$i?Vd<$i&&aA<$i?hl<$i?0:-1:0:Ys<$i?Js<$i?0:-1:XD<$i?gB<$i?0:-1:0:-1:qr<$i?xo<$i?Oe<$i?tt<$i?W<$i?TA<$i?n<$i?0:-1:0:nC<$i?yF<$i?0:-1:0:-1:pb<$i?Ym<$i?LE<$i?lE<$i?0:-1:0:-1:Ts<$i?lC<$i?0:-1:0:-1:Fg<$i?Le<$i?$C<$i?Sn<$i?ki<$i?gt<$i?0:-1:0:-1:wd<$i?ug<$i?0:-1:0:-1:UA<$i?Nk<$i?uB<$i?Xf<$i?0:-1:0:-1:Cc<$i?hF<$i?0:-1:0:-1:kx(Rte,$i+kg|0)-1|0:-1;else Ki=-1;if(4>>0)Mr=oAe(e);else switch(Ki){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Zi=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zi){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,49);var cc=zMe(iAe(e));Mr=0===cc?i(e):1===cc?c(e):oAe(e)}}break;case 3:cAe(e,87);var sc=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lc=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,50);var bc=zMe(iAe(e));Mr=0===bc?i(e):1===bc?c(e):oAe(e)}}break;default:cAe(e,87);var Fc=iAe(e);if(Fc)var mc=Fc[1],Ec=35>>0)Mr=oAe(e);else switch(Ec){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kc=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Oc=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Oc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Lc=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Lc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,51);var Pc=zMe(iAe(e));Mr=0===Pc?i(e):1===Pc?c(e):oAe(e)}}}break;default:cAe(e,87);var zc=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Kc=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kc){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tf=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(tf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var uf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(uf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,52);var of=zMe(iAe(e));Mr=0===of?i(e):1===of?c(e):oAe(e)}}}}}}break;case 38:cAe(e,87);var lf=iAe(e);if(lf)var vf=lf[1],bf=35>>0)Mr=oAe(e);else switch(bf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var yf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(yf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Cf=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var wf=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,53);var Af=zMe(iAe(e));Mr=0===Af?i(e):1===Af?c(e):oAe(e)}}}break;case 3:cAe(e,87);var gf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(gf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Nf=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Nf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Of=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Of){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rf=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var jf=_je(iAe(e));if(2>>0)Mr=oAe(e);else switch(jf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,54);var Gf=zMe(iAe(e));Mr=0===Gf?i(e):1===Gf?c(e):oAe(e)}}}}}break;case 4:cAe(e,87);var Wf=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,55);var Yf=zMe(iAe(e));Mr=0===Yf?i(e):1===Yf?c(e):oAe(e)}break;default:cAe(e,87);var Kf=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Kf){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var eo=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(eo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var to=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(to){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var io=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(io){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var co=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(co){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Do=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Do){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,56);var Fo=zMe(iAe(e));Mr=0===Fo?i(e):1===Fo?c(e):oAe(e)}}}}}}}break;case 39:cAe(e,87);var Co=iAe(e);if(Co)var Bo=Co[1],No=35>>0)Mr=oAe(e);else switch(No){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,57);var Oo=zMe(iAe(e));Mr=0===Oo?i(e):1===Oo?c(e):oAe(e);break;case 3:cAe(e,87);var Ro=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ro){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Uo=iAe(e);if(Uo)var Xo=Uo[1],Go=35>>0)Mr=oAe(e);else switch(Go){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var zo=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wo=Hje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var $o=OMe(iAe(e));if(2<$o>>>0)Mr=oAe(e);else switch($o){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ho=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ho){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ko=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ko){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Zo=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zo){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,58);var rs=zMe(iAe(e));Mr=0===rs?i(e):1===rs?c(e):oAe(e)}}}}}}break;default:cAe(e,87);var us=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(us){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var as=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(as){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,59);var fs=zMe(iAe(e));Mr=0===fs?i(e):1===fs?c(e):oAe(e)}}}}break;default:cAe(e,60);var os=nUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(os){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var ps=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ps){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ms=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ms){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ws=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var _s=Uje(iAe(e));if(2<_s>>>0)Mr=oAe(e);else switch(_s){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ns=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ns){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ls=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ls){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var js=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(js){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,61);var Us=zMe(iAe(e));Mr=0===Us?i(e):1===Us?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var Xs=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Gs=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Gs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qs=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(qs){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ws=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ws){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tl=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,62);var il=zMe(iAe(e));Mr=0===il?i(e):1===il?c(e):oAe(e)}}}}}}}}break;case 40:cAe(e,87);var cl=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Dl=Qje(iAe(e));if(2
>>0)Mr=oAe(e);else switch(Dl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,63);var pl=zMe(iAe(e));Mr=0===pl?i(e):1===pl?c(e):oAe(e)}}break;case 41:cAe(e,87);var bl=iAe(e);if(bl)var dl=bl[1],El=35>>0)Mr=oAe(e);else switch(El){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Cl=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Cl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,64);var wl=zMe(iAe(e));Mr=0===wl?i(e):1===wl?c(e):oAe(e)}break;default:cAe(e,87);var Al=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Al){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var xl=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(xl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,65);var Tl=zMe(iAe(e));Mr=0===Tl?i(e):1===Tl?c(e):oAe(e)}}}break;case 42:cAe(e,87);var Nl=iAe(e);if(Nl)var Ol=Nl[1],Jl=35>>0)Mr=oAe(e);else switch(Jl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,66);var ql=zMe(iAe(e));Mr=0===ql?i(e):1===ql?c(e):oAe(e);break;default:cAe(e,87);var zl=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zl){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wl=iAe(e);if(Wl)var Kl=Wl[1],tv=35>>0)Mr=oAe(e);else switch(tv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var av=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(av){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var iv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(iv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,67);var cv=zMe(iAe(e));Mr=0===cv?i(e):1===cv?c(e):oAe(e)}}}}}break;case 43:cAe(e,87);var vv=iAe(e);if(vv)var Dv=vv[1],pv=35>>0)Mr=oAe(e);else switch(pv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var bv=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(bv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Ev=xMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ev){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var hv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(hv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var yv=UMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(yv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Sv=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Sv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,68);var Ov=zMe(iAe(e));Mr=0===Ov?i(e):1===Ov?c(e):oAe(e)}}}}}break;case 3:cAe(e,87);var Lv=dUe(iAe(e));if(3>>0)Mr=oAe(e);else switch(Lv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Rv=iAe(e);if(Rv)var Uv=Rv[1],Jv=35>>0)Mr=oAe(e);else switch(Jv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zv=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(zv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wv=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wv){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var nD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(nD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,69);var uD=zMe(iAe(e));Mr=0===uD?i(e):1===uD?c(e):oAe(e)}}}}break;default:cAe(e,87);var aD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(aD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(lD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var CD=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(CD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var gD=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var TD=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(TD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,70);var LD=zMe(iAe(e));Mr=0===LD?i(e):1===LD?c(e):oAe(e)}}}}}}}break;default:cAe(e,87);var GD=tUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(GD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var qD=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(qD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var zD=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(zD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ZD=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ZD){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,71);var tp=zMe(iAe(e));Mr=0===tp?i(e):1===tp?c(e):oAe(e)}}}}}break;case 44:cAe(e,87);var up=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ap=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ap){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cp=IMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var fp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(fp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sp=nje(iAe(e));if(2>>0)Mr=oAe(e);else switch(sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,72);var vp=zMe(iAe(e));Mr=0===vp?i(e):1===vp?c(e):oAe(e)}}}}}break;case 45:cAe(e,87);var Dp=iAe(e);if(Dp)var wp=Dp[1],Sp=35>>0)Mr=oAe(e);else switch(Sp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Ip=sje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Ip){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Op=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Op){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Rp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Rp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Up=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Up){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,73);var Vp=zMe(iAe(e));Mr=0===Vp?i(e):1===Vp?c(e):oAe(e)}}}}break;case 3:cAe(e,87);var $p=JMe(iAe(e));if(2<$p>>>0)Mr=oAe(e);else switch($p){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Yp=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Yp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hp=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,74);var Kp=zMe(iAe(e));Mr=0===Kp?i(e):1===Kp?c(e):oAe(e)}}}break;default:cAe(e,87);var Zp=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Zp){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var tb=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(tb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ub=Uje(iAe(e));if(2>>0)Mr=oAe(e);else switch(ub){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var ib=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(ib){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,75);var fb=zMe(iAe(e));Mr=0===fb?i(e):1===fb?c(e):oAe(e)}}}}}break;case 46:cAe(e,87);var ob=iAe(e);if(ob)var bb=ob[1],mb=35>>0)Mr=oAe(e);else switch(mb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var Eb=iAe(e);if(Eb)var kb=Eb[1],wb=35>>0)Mr=oAe(e);else switch(wb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var xb=vUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,76);var Pb=zMe(iAe(e));Mr=0===Pb?i(e):1===Pb?c(e):oAe(e)}break;default:cAe(e,87);var jb=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(jb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xb=yUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xb){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,77);var zb=zMe(iAe(e));Mr=0===zb?i(e):1===zb?c(e):oAe(e)}}}break;case 3:cAe(e,87);var Kb=iAe(e);if(Kb)var Qb=Kb[1],rF=35>>0)Mr=oAe(e);else switch(rF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var eF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(eF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,78);var tF=zMe(iAe(e));Mr=0===tF?i(e):1===tF?c(e):oAe(e)}break;default:cAe(e,79);var uF=zMe(iAe(e));Mr=0===uF?i(e):1===uF?c(e):oAe(e)}break;default:cAe(e,87);var aF=JMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(aF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var cF=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(cF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,80);var fF=pUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(fF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var sF=DUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(sF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,81);var lF=zMe(iAe(e));Mr=0===lF?i(e):1===lF?c(e):oAe(e)}}}}}break;case 47:cAe(e,87);var vF=iAe(e);if(vF)var bF=vF[1],FF=35>>0)Mr=oAe(e);else switch(FF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var kF=bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(kF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,82);var _F=zMe(iAe(e));Mr=0===_F?i(e):1===_F?c(e):oAe(e)}break;default:cAe(e,87);var gF=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(gF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var SF=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(SF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,83);var PF=zMe(iAe(e));Mr=0===PF?i(e):1===PF?c(e):oAe(e)}}}break;case 48:cAe(e,87);var qF=iAe(e);if(qF)var HF=qF[1],ZF=35>>0)Mr=oAe(e);else switch(ZF){case 0:Mr=i(e);break;case 1:Mr=c(e);break;case 2:cAe(e,87);var rm=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(rm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var am=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(am){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var lm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(lm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,84);var wm=zMe(iAe(e));Mr=0===wm?i(e):1===wm?c(e):oAe(e)}}}break;default:cAe(e,87);var Bm=Qje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Bm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Tm=kUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Tm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,85);var Im=zMe(iAe(e));Mr=0===Im?i(e):1===Im?c(e):oAe(e)}}}break;case 49:cAe(e,87);var Om=mUe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Om){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Xm=OMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Xm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Wm=Bje(iAe(e));if(2>>0)Mr=oAe(e);else switch(Wm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,87);var Hm=PMe(iAe(e));if(2>>0)Mr=oAe(e);else switch(Hm){case 0:Mr=i(e);break;case 1:Mr=c(e);break;default:cAe(e,86);var Qm=zMe(iAe(e));Mr=0===Qm?i(e):1===Qm?c(e):oAe(e)}}}}break;case 50:Mr=89;break;case 51:cAe(e,135);var td=iAe(e);if(td)var nd=td[1],ud=60>>0)return nye(hre);var cd=Mr;if(74<=cd){if(Jr<=cd)switch(cd){case 111:return[0,r,90];case 112:return[0,r,Bb];case 113:return[0,r,ak];case 114:return[0,r,69];case 115:return[0,r,97];case 116:return[0,r,68];case 117:return[0,r,67];case 118:return[0,r,99];case 119:return[0,r,98];case 120:return[0,r,78];case 121:return[0,r,77];case 122:return[0,r,75];case 123:return[0,r,76];case 124:return[0,r,73];case 125:return[0,r,72];case 126:return[0,r,71];case 127:return[0,r,70];case 128:return[0,r,95];case 129:return[0,r,96];case 130:return[0,r,Fu];case 131:return[0,r,CE];case 132:return[0,r,$l];case 133:return[0,r,sE];case 134:return[0,r,tg];case 135:return[0,r,86];case 136:return[0,r,88];case 137:return[0,r,87];case 138:return[0,r,Ma];case 139:return[0,r,Uu];case 140:return[0,r,79];case 141:return[0,r,11];case 142:return[0,r,74];case 143:return[0,r,EE];case 144:return[0,r,13];case 145:return[0,r,14];case 146:return[0,r[4]?NUe(r,xUe(r,e),6):r,Ve];default:return[0,PUe(r,xUe(r,e)),[6,_Ae(e)]]}switch(cd){case 74:return[0,r,51];case 75:return[0,r,20];case 76:return[0,r,21];case 77:return[0,r,22];case 78:return[0,r,31];case 79:return[0,r,23];case 80:return[0,r,61];case 81:return[0,r,46];case 82:return[0,r,24];case 83:return[0,r,47];case 84:return[0,r,25];case 85:return[0,r,26];case 86:return[0,r,58];case 87:var sd=xUe(r,e),ld=_Ae(e),pd=qUe(r,ld);return[0,pd[1],[4,sd,pd[2],ld]];case 88:var dd=xUe(r,e),Ed=_Ae(e);return[0,r,[4,dd,Ed,Ed]];case 89:return[0,r,0];case 90:return[0,r,1];case 91:return[0,r,4];case 92:return[0,r,5];case 93:return[0,r,6];case 94:return[0,r,7];case 95:return[0,r,12];case 96:return[0,r,10];case 97:return[0,r,8];case 98:return[0,r,9];case 99:return[0,r,83];case 100:sAe(e),fAe(e);var Sd=iAe(e);if(Sd)var Nd=Sd[1],Od=62>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===uje(iAe(e)))for(;;){var u=QMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,0,_Ae(e)]]:nye(kre)}));case 11:return[0,r,[1,0,_Ae(e)]];case 12:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Fje(iAe(e)))if(0===uje(iAe(e)))for(;;){cAe(e,0);var t=KMe(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===uje(iAe(e)))for(;;){cAe(e,0);var n=KMe(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,0,_Ae(e)]]:nye(Ere)}));case 13:return[0,r,[0,0,_Ae(e)]];case 14:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){var t=Dje(iAe(e));if(2>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===kje(iAe(e)))for(;;){var u=Dje(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,1,_Ae(e)]]:nye(dre)}));case 15:return[0,r,[1,1,_Ae(e)]];case 16:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===Sje(iAe(e)))if(0===kje(iAe(e)))for(;;){cAe(e,0);var t=aje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===kje(iAe(e)))for(;;){cAe(e,0);var n=aje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,3,_Ae(e)]]:nye(mre)}));case 17:return[0,r,[0,3,_Ae(e)]];case 18:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))for(;;){var t=iAe(e);if(t)var n=t[1],u=47>>0)var n=oAe(e);else switch(t){case 0:continue;case 1:r:for(;;){if(0===RMe(iAe(e)))for(;;){var u=ZMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:continue;case 1:continue r;default:a=0}break}else a=oAe(e);n=a;break}break;default:n=0}break}else n=oAe(e);else n=oAe(e);else n=oAe(e);return 0===n?[0,r,[1,2,_Ae(e)]]:nye(pre)}));case 24:return zUe(r,e,(function(r,e){if(fAe(e),0===wje(iAe(e)))if(0===XMe(iAe(e)))if(0===RMe(iAe(e)))for(;;){cAe(e,0);var t=Xje(iAe(e));if(0!==t){if(1===t)r:for(;;){if(0===RMe(iAe(e)))for(;;){cAe(e,0);var n=Xje(iAe(e));if(0!==n){if(1===n)continue r;var u=oAe(e);break}}else u=oAe(e);var a=u;break}else a=oAe(e);break}}else a=oAe(e);else a=oAe(e);else a=oAe(e);return 0===a?[0,r,[0,4,_Ae(e)]]:nye(Dre)}));case 26:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){for(;;){var e=vje(iAe(r));if(0!==e)return 1===e?0:oAe(r)}}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]]:nye(vre)}));case 27:return[0,NUe(r,xUe(r,e),23),[1,2,_Ae(e)]];case 28:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){for(;;)if(cAe(r,0),0!==LMe(iAe(r)))return oAe(r)}function u(r){var e=FUe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:var u=ije(iAe(r));return 0===u?n(r):1===u?t(r):oAe(r);case 1:return n(r);default:return t(r)}}function a(r){var e=Ije(iAe(r));if(0===e)for(;;){var t=bUe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:return u(r);default:r:for(;;){if(0===LMe(iAe(r)))for(;;){var n=bUe(iAe(r));if(2>>0)return oAe(r);switch(n){case 0:continue;case 1:return u(r);default:continue r}}return oAe(r)}}}return 1===e?u(r):oAe(r)}fAe(e);var i=GMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:if(0===LMe(iAe(e)))for(;;){var f=bUe(iAe(e));if(2>>0)c=oAe(e);else switch(f){case 0:continue;case 1:c=u(e);break;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var o=bUe(iAe(e));if(2>>0)var s=oAe(e);else switch(o){case 0:continue;case 1:s=u(e);break;default:continue r}break}else s=oAe(e);c=s;break}}break}else c=oAe(e);break;case 1:var l=YMe(iAe(e));c=0===l?a(e):1===l?u(e):oAe(e);break;default:for(;;){var v=gje(iAe(e));if(2>>0)c=oAe(e);else switch(v){case 0:c=a(e);break;case 1:continue;default:c=u(e)}break}}return 0===c?[0,r,[0,4,_Ae(e)]]:nye(lre)}));case 30:return zUe(r,e,(function(r,e){function t(r){for(;;){var e=MMe(iAe(r));if(2>>0)return oAe(r);switch(e){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(r)))for(;;){var t=MMe(iAe(r));if(2>>0)return oAe(r);switch(t){case 0:continue;case 1:continue r;default:return 0}}return oAe(r)}default:return 0}}}function n(r){var e=vje(iAe(r));return 0===e?t(r):1===e?0:oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]]:nye(sre)}));case 31:return zUe(r,e,(function(r,e){fAe(e);var t=ije(iAe(e));if(0===t)for(;;){var n=vje(iAe(e));if(0!==n){var u=1===n?0:oAe(e);break}}else if(1===t)for(;;){var a=MMe(iAe(e));if(2>>0)u=oAe(e);else switch(a){case 0:continue;case 1:r:for(;;){if(0===LMe(iAe(e)))for(;;){var i=MMe(iAe(e));if(2>>0)var c=oAe(e);else switch(i){case 0:continue;case 1:continue r;default:c=0}break}else c=oAe(e);u=c;break}break;default:u=0}break}else u=oAe(e);return 0===u?[0,r,[1,2,_Ae(e)]]:nye(ore)}));case 32:return[0,NUe(r,xUe(r,e),22),[1,2,_Ae(e)]];case 34:return zUe(r,e,(function(r,e){function t(r){for(;;){cAe(r,0);var e=rUe(iAe(r));if(0!==e){if(1===e)r:for(;;){if(0===LMe(iAe(r)))for(;;){cAe(r,0);var t=rUe(iAe(r));if(0!==t){if(1===t)continue r;return oAe(r)}}return oAe(r)}return oAe(r)}}}function n(r){return cAe(r,0),0===LMe(iAe(r))?t(r):oAe(r)}fAe(e);var u=GMe(iAe(e));if(2>>0)var a=oAe(e);else switch(u){case 0:a=0===LMe(iAe(e))?t(e):oAe(e);break;case 1:for(;;){cAe(e,0);var i=Jje(iAe(e));if(0===i)a=n(e);else{if(1===i)continue;a=oAe(e)}break}break;default:for(;;){cAe(e,0);var c=EUe(iAe(e));if(2>>0)a=oAe(e);else switch(c){case 0:a=n(e);break;case 1:continue;default:r:for(;;){if(0===LMe(iAe(e)))for(;;){cAe(e,0);var f=EUe(iAe(e));if(2>>0)var o=oAe(e);else switch(f){case 0:o=n(e);break;case 1:continue;default:continue r}break}else o=oAe(e);a=o;break}}break}}return 0===a?[0,r,[0,4,_Ae(e)]]:nye(fre)}));case 36:return[0,r,64];case 23:case 33:return[0,r,[1,2,_Ae(e)]];default:return[0,r,[0,4,_Ae(e)]]}})),uXe=Yye([0,Jye]),aXe=function(r,e){return[0,[0],0,e,CMe(r)]},iXe=function(r,e){var t=e+1|0;if(r[1].length-1>>0)var D=oAe(o);else switch(v){case 0:D=1;break;case 1:D=4;break;case 2:D=0;break;case 3:cAe(o,0);D=0===Vje(iAe(o))?0:oAe(o);break;case 4:D=2;break;default:D=3}if(4>>0)var p=nye(ure);else switch(D){case 0:var b=_Ae(o);eCe(f,b),eCe(c,b);var F=KUe(RUe(u,o),2,c,f,o),m=SUe(F,o),d=Qye(c),E=Qye(f);p=[0,F,[8,[0,[0,F[1],i,m],d,E]]];break;case 1:p=[0,u,Ve];break;case 2:p=[0,u,95];break;case 3:p=[0,u,0];break;default:sAe(o);var k=KUe(u,2,c,f,o),h=SUe(k,o),y=Qye(c),C=Qye(f);p=[0,k,[8,[0,[0,k[1],i,h],y,C]]]}var w=p[2],A=p[1];a=IUe([0,A,w,TUe(A,w),0]);break;case 4:a=gx(eXe,u);break;default:a=gx(ZUe,u)}var _=a[1],g=CMe(_);r[4]=_;var B=r[2],S=[0,[0,g,a[2]]];iS(r[1],B)[B+1]=S,r[2]=r[2]+1|0}},cXe=function(r,e,t,n){var u=r?r[1]:r,a=e?e[1]:e;try{var i=wAe(n),c=0}catch(e){if((e=_x(e))!==nAe)throw e;var f=[0,[0,[0,t,Gx[2],Gx[3]],84],0];i=wAe(Kue),c=f}var o=a?a[1]:Wx,s=function(r,e,t){return[0,r,e,j$r,0,t,Jx,U$r]}(t,i,o[8]),l=[0,aXe(s,0)];return[0,[0,c],[0,0],uXe[1],[0,uXe[1]],[0,0],o[9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[0,Zue],[0,s],l,[0,u],o,t,[0,0],[0,Que]]},fXe=function(r){return hye(r[22][1])},oXe=function(r){return r[26][8]},sXe=function(r,e){var t=e[2];r[1][1]=[0,[0,e[1],t],r[1][1]];var n=r[21];return n?Bx(n[1],r,t):n},lXe=function(r,e){var t=e[2][1];if(Ex(t,Hue))return 0;if(Bx(uXe[3],t,r[4][1]))return sXe(r,[0,e[1],[19,t]]);var n=Bx(uXe[4],t,r[4][1]);return r[4][1]=n,0},vXe=function(r,e){return r[29][1]=e,0},DXe=function(r,e){if(r<2){var t=e[24][1];iXe(t,r);var n=iS(t[1],r)[r+1];return n?n[1][2]:nye(eae)}throw[0,jx,Vue]},pXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],r,e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},bXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],r,e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},FXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],r,e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},mXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],r,e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},dXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],r,e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},EXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],r,e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},kXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],r,e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},hXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],r,e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},yXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],r,e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},CXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],r,e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},wXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],r,e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},AXe=function(r,e){return[0,e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],[0,r],e[22],e[23],e[24],e[25],e[26],e[27],e[28],e[29]]},_Xe=function(r){function e(e){return sXe(r,e)}return function(r){return Bye(e,r)}},gXe=function(r){var e=r[5][1];return e?[0,e[1][2]]:e},BXe=function(r){var e=r[5][1];return e?[0,e[1][1]]:e},SXe=function(r){return[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],0,r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},xXe=function(r,e,t){return[0,r[1],r[2],uXe[1],r[4],r[5],r[6],r[7],0,0,0,1,r[12],r[13],r[14],r[15],r[16],t,e,r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]},TXe=function(r){var e=oS(r,Due);if(0<=e)if(0>>0){if(!(ak<(n+1|0)>>>0))return 1}else{var u=6!==n?1:0;if(!u)return u}}return $Xe(r,e)},KXe=function(r){return HXe(0,r)},QXe=function(r,e){var t=UXe(r,e);if(LXe(t))return 1;if(NXe(t))return 1;if(RXe(t))return 1;if("number"==typeof t)switch(t){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:var n=1;break;default:n=0}else n=4===t[0]?1:0;return n?1:0},ZXe=function(r){return QXe(0,r)},rGe=function(r){var e=15===GXe(r)?1:0;if(e)var t=e;else{var n=64===GXe(r)?1:0;if(n){var u=15===UXe(1,r)?1:0;if(u){var a=XXe(1,r)[2][1];t=JXe(r)[3][1]===a?1:0}else t=u}else t=n}return t},eGe=function(r){var e=GXe(r);if("number"==typeof e&&(13===e||40===e?1:0))return 1;return 0},tGe=function(r,e){return sXe(r,[0,JXe(r),e])},nGe=function(r,e){var t=zXe(e);gx(_Xe(e),t);var n=GXe(e);if(NXe(n))var u=2;else if(LXe(n))u=52;else{var a=SMe(0,n);u=r?[12,a,r[1]]:[11,a]}return tGe(e,u)},uGe=function(r){function e(e){return sXe(r,[0,e[1],74])}return function(r){return Bye(e,r)}},aGe=function(r,e){var t=r[6];return t?tGe(r,e):t},iGe=function(r,e){var t=r[6];return t?sXe(r,[0,e[1],e[2]]):t},cGe=function(r,e){return sXe(r,[0,e,[18,r[6]]])},fGe=function(r){var e=r[25][1];if(e){var t=fXe(r),n=GXe(r),u=[0,JXe(r),n,t];gx(e[1],u)}var a=r[24][1];iXe(a,0);var i=iS(a[1],0)[1],c=i?i[1][1]:nye(rae);r[23][1]=c;var f=zXe(r);gx(_Xe(r),f);var o=r[2][1],s=Cye(DXe(0,r)[4],o);r[2][1]=s;var l=[0,DXe(0,r)];r[5][1]=l;var v=r[24][1];iXe(v,0),1>>0?Bx(m,r,gx(t,r)):gx(d,r)}function M(r,e,n){return XGe([0,e],(function(r){var e=gx(k,r);return pGe(r,83),[0,n,e,gx(t,r),0]}),r)}function j(r,e,t,n,u){var a=TGe(r,n),i=M(r,e,gGe(r,gx(x,r))),c=[0,i[1],[12,i[2]]],f=[0,a,[0,c],0,0!==t?1:0,0,1,0,mMe([0,u],0)];return[0,[0,c[1],f]]}function U(r,e,n,u,a,i,c){return 1-oXe(r)&&tGe(r,12),[0,XGe([0,e],(function(r){var e=FGe(r,82);pGe(r,83);var f=gx(t,r);return[0,c,[0,f],e,0!==u?1:0,0!==a?1:0,0,n,mMe([0,i],0)]}),r)]}function X(r,e){var t=GXe(e);if("number"==typeof t&&!(10<=t))switch(t){case 1:if(!r)return 0;break;case 3:if(r)return 0;break;case 8:case 9:return fGe(e)}return nGe(0,e)}function G(r,e){return e?sXe(r,[0,e[1][1],7]):e}function J(r,e){return e?sXe(r,[0,e[1],9]):e}function q(e){var t=WXe(e);if(pGe(e,66),4===GXe(e)){var n=fye(t,WXe(e));pGe(e,4),oGe(e,0);var u=gx(r[9],e);return sGe(e),pGe(e,5),[0,[0,u],mMe([0,n],[0,lGe(e)])]}return[0,0,mMe([0,t],[0,lGe(e)])]}XB(t,(function(r){return gx(u,r)})),XB(n,(function(r){return 1-oXe(r)&&tGe(r,12),XGe(0,(function(r){return pGe(r,83),gx(t,r)}),r)})),XB(u,(function(r){var e=86===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(a,r,[0,n],gx(i,r))})),XB(a,(function(r,e,t){var n=e?e[1]:e;if(86===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if("number"!=typeof t||86!==t){var a=wye(e);if(a){var c=a[2];if(c){var f=mMe([0,n],0);return[17,[0,[0,a[1],c[1],c[2]],f]]}}throw[0,jx,ade]}pGe(r,86);e=[0,gx(i,r),e]}}),r)}return t})),XB(i,(function(r){var e=88===GXe(r)?1:0;if(e){var t=WXe(r);fGe(r);var n=t}else n=e;return Sx(c,r,[0,n],gx(f,r))})),XB(c,(function(r,e,t){var n=e?e[1]:e;if(88===GXe(r)){var u=[0,t,0];return XGe([0,t[1]],(function(r){for(var e=u;;){var t=GXe(r);if("number"!=typeof t||88!==t){var a=wye(e);if(a){var i=a[2];if(i){var c=mMe([0,n],0);return[18,[0,[0,a[1],i[1],i[2]],c]]}}throw[0,jx,ude]}pGe(r,88);e=[0,gx(f,r),e]}}),r)}return t})),XB(f,(function(r){return Bx(o,r,gx(s,r))})),XB(o,(function(r,e){var t=GXe(r);if("number"==typeof t&&11===t&&!r[15]){var n=Bx(m,r,e);return xx(A,r,n[1],0,[0,n[1],[0,0,[0,n,0],0,0]])}return e})),XB(s,(function(r){var e=GXe(r);return"number"==typeof e&&82===e?XGe(0,(function(r){var e=WXe(r);pGe(r,82);var t=mMe([0,e],0);return[11,[0,gx(s,r),t]]}),r):gx(l,r)})),XB(l,(function(r){return Bx(v,r,gx(D,r))})),XB(v,(function(r,e){if(!YXe(r)&&FGe(r,6)){return Bx(v,r,XGe([0,e[1]],(function(r){return pGe(r,7),[15,[0,e,mMe(0,[0,lGe(r)])]]}),r))}return e})),XB(D,(function(r){var e=JXe(r),t=GXe(r);if("number"==typeof t)switch(t){case 4:return gx(C,r);case 6:return gx(F,r);case 46:return XGe(0,(function(r){var e=WXe(r);pGe(r,46);var t=mMe([0,e],0);return[19,[0,gx(D,r),0,t]]}),r);case 53:return XGe(0,(function(r){var e=WXe(r);pGe(r,53);var t=gx(g,r),n=mMe([0,e],0);return[14,[0,t[2],t[1],n]]}),r);case 95:return gx(w,r);case 103:var n=WXe(r);return pGe(r,$l),[0,e,[10,mMe([0,n],[0,lGe(r)])]];case 42:var u=1;break;case 0:case 2:var a=xx(_,0,1,1,r);return[0,a[1],[13,a[2]]];case 30:case 31:var i=WXe(r);return pGe(r,t),[0,e,[24,[0,31===t?1:0,mMe([0,i],[0,lGe(r)])]]];default:u=0}else switch(t[0]){case 2:var c=t[1],f=c[4],o=c[3],s=c[2],l=c[1];f&&aGe(r,43);var v=WXe(r);return pGe(r,[2,[0,l,s,o,f]]),[0,l,[21,[0,s,o,mMe([0,v],[0,lGe(r)])]]];case 10:var p=t[3],m=t[2],d=t[1],E=WXe(r);pGe(r,[10,d,m,p]);var k=lGe(r);return 1===d&&aGe(r,43),[0,e,[22,[0,m,p,mMe([0,E],[0,k])]]];case 11:var h=t[3],y=t[2],A=WXe(r);return pGe(r,[11,t[1],y,h]),[0,e,[23,[0,y,h,mMe([0,A],[0,lGe(r)])]]];case 4:u=1;break;default:u=0}if(u){var B=gx(I,r);return[0,B[1],[16,B[2]]]}var S=gx(b,r);return S?[0,e,S[1]]:(nGe(0,r),[0,e,nde])})),XB(p,(function(r){if("number"==typeof r)switch(r){case 29:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:var e=1;break;default:e=0}else e=9===r[0]?1:0;return e?1:0})),XB(b,(function(r){var e=WXe(r),t=GXe(r);if("number"==typeof t)switch(t){case 29:return fGe(r),[0,[4,mMe([0,e],[0,lGe(r)])]];case 111:return fGe(r),[0,[0,mMe([0,e],[0,lGe(r)])]];case 112:return fGe(r),[0,[1,mMe([0,e],[0,lGe(r)])]];case 113:return fGe(r),[0,[2,mMe([0,e],[0,lGe(r)])]];case 114:return fGe(r),[0,[5,mMe([0,e],[0,lGe(r)])]];case 115:return fGe(r),[0,[6,mMe([0,e],[0,lGe(r)])]];case 116:return fGe(r),[0,[7,mMe([0,e],[0,lGe(r)])]];case 117:return fGe(r),[0,[3,mMe([0,e],[0,lGe(r)])]];case 118:return fGe(r),[0,[9,mMe([0,e],[0,lGe(r)])]]}else if(9===t[0])return fGe(r),[0,[8,mMe([0,e],[0,lGe(r)])]];return 0})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,6);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if("number"==typeof a)if(7===a||Ve===a?1:0){var i=wye(u);return pGe(r,7),[20,[0,i,mMe([0,e],[0,lGe(r)])]]}var c=[0,gx(t,n),u];7!==GXe(n)&&pGe(n,9);u=c}}),r)})),XB(m,(function(r,e){return[0,e[1],[0,0,e,0]]})),XB(d,(function(e){return XGe(0,(function(e){oGe(e,0);var n=Bx(r[13],0,e);sGe(e),1-oXe(e)&&tGe(e,12);var u=FGe(e,82);return pGe(e,83),[0,[0,n],gx(t,e),u]}),e)})),XB(E,(function(r){return function(e){for(var t=0,u=e;;){var a=GXe(r);if("number"==typeof a)switch(a){case 5:case 12:case 110:var i=12===a?1:0,c=i?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,12);var t=mMe([0,e],0);return[0,R(r),t]}),r)]:i;return[0,t,wye(u),c,0]}else if(4===a[0]&&!hx(a[3],tde)){if(!(83===UXe(1,r)||82===UXe(1,r)?0:1)){((0!==t?1:0)||(0!==u?1:0))&&tGe(r,sE);var f=XGe(0,(function(r){var e=WXe(r);fGe(r),82===GXe(r)&&tGe(r,tg);var t=mMe([0,e],0);return[0,gx(n,r),t]}),r);5!==GXe(r)&&pGe(r,9);t=[0,f];continue}}var o=[0,R(r),u];5!==GXe(r)&&pGe(r,9);u=o}}})),XB(k,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);var t=Bx(E,r,0),n=WXe(r);pGe(r,5);var u=dMe([0,e],[0,lGe(r)],n);return[0,t[1],t[2],t[3],u]}),r)})),XB(h,(function(r){var e=WXe(r);pGe(r,4);var n=yXe(0,r),u=GXe(n);if("number"==typeof u)switch(u){case 5:var a=ede,i=2;break;case 42:i=1;break;case 12:case 110:a=[0,Bx(E,n,0)],i=2;break;default:i=0}else i=4===u[0]?1:0;switch(i){case 0:if(gx(p,u)){var c=UXe(1,n);if("number"==typeof c)if(1<(c+Yf|0)>>>0)var f=0;else{var o=[0,Bx(E,n,0)];f=1}else f=0;if(!f)o=[1,gx(t,n)];a=o}else a=[1,gx(t,n)];break;case 1:a=gx(y,n)}if(0===a[0])var s=a;else{var l=a[1];if(r[15])var v=a;else{var D=GXe(r);if("number"==typeof D)if(5===D)if(11===UXe(1,r))var b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1;else b=[1,l],F=1;else if(9===D){pGe(r,9);b=[0,Bx(E,r,[0,Bx(m,r,l),0])],F=1}else F=0;else F=0;if(!F)b=a;v=b}s=v}var d=WXe(r);pGe(r,5);var k=lGe(r);if(0===s[0]){var h=s[1],C=dMe([0,e],[0,k],d);return[0,[0,h[1],h[2],h[3],C]]}return[1,Sx(P,s[1],e,k)]})),XB(y,(function(r){var e=UXe(1,r);if("number"==typeof e&&!(1<(e+Yf|0)>>>0))return[0,Bx(E,r,0)];var t=Bx(o,r,Bx(v,r,Bx(O,r,gx(B,r)))),n=Bx(gx(c,r),0,t);return[1,Bx(gx(a,r),0,n)]})),XB(C,(function(r){var e=JXe(r),t=XGe(0,h,r),n=t[2];return 0===n[0]?xx(A,r,e,0,[0,t[1],n[1]]):n[1]})),XB(w,(function(r){var e=JXe(r),t=gGe(r,gx(x,r));return xx(A,r,e,t,gx(k,r))})),XB(A,(function(r,e,n,u){return XGe([0,e],(function(r){return pGe(r,11),[12,[0,n,u,gx(t,r),0]]}),r)})),XB(_,(function(n,u,a,i){var c=u?2===GXe(i)?1:0:u,f=u?1-c:u;return XGe(0,(function(u){var i=WXe(u);pGe(u,c?2:c);var o=yXe(0,u),s=Qme;r:for(;;){var l=s[3],v=s[2],D=s[1];if(n&&a)throw[0,jx,Xme];if(f&&!a)throw[0,jx,Gme];var p=JXe(o),b=GXe(o);if("number"==typeof b){if(13<=b)if(Ve===b)var F=[0,wye(D),v,l],m=1;else m=0;else if(0===b)m=0;else switch(b-1|0){case 0:if(c)m=0;else F=[0,wye(D),v,l],m=1;break;case 2:if(c)F=[0,wye(D),v,l],m=1;else m=0;break;case 11:if(!a){fGe(o);var d=GXe(o);if("number"==typeof d&&!(10<=d))switch(d){case 1:case 3:case 8:case 9:sXe(o,[0,p,20]),X(c,o);continue}var E=zXe(o);gx(_Xe(o),E),sXe(o,[0,p,17]),fGe(o),X(c,o);continue}var k=WXe(o);fGe(o);var h=GXe(o);if("number"==typeof h)if(10<=h)var y=1;else switch(h){case 1:case 3:case 8:case 9:X(c,o);var C=GXe(o);if("number"==typeof C){var w=C-1|0;if(2>>0)var A=1;else switch(w){case 0:if(f)F=[0,wye(D),1,k],m=1,y=0,A=0;else A=1;break;case 1:A=1;break;default:sXe(o,[0,p,19]);F=[0,wye(D),v,l],m=1,y=0,A=0}}else A=1;if(A){sXe(o,[0,p,18]);continue}break;default:y=1}else y=1;if(y){var _=[1,XGe([0,p],function(r){return function(e){var n=mMe([0,r],0);return[0,gx(t,e),n]}}(k),o)];X(c,o);s=[0,[0,_,D],v,l];continue}break;default:m=0}if(m){var g=WXe(u),B=fye(F[3],g);pGe(u,c?3:1);var S=dMe([0,i],[0,lGe(u)],B);return[0,c,F[2],F[1],S]}}for(var T=n,I=n,N=0,O=0,L=0,P=0;;){var R=GXe(o);if("number"==typeof R)switch(R){case 6:J(o,L);var q=UXe(1,o);if("number"==typeof q)if(6===q){G(o,N);var z=[4,XGe([0,p],function(r,e,n){return function(u){var a=fye(e,WXe(u));pGe(u,6),pGe(u,6);var i=jGe(u);pGe(u,7),pGe(u,7);var c=GXe(u);if("number"==typeof c){if(4===c)var f=1;else if(95===c)f=1;else{var o=0;f=0}if(f){var s=M(u,r,gGe(u,gx(x,u))),l=0,v=1,D=[0,s[1],[12,s[2]]],p=0;o=1}}else o=0;if(!o){var b=FGe(u,82),F=lGe(u);pGe(u,83);l=b,v=0,D=gx(t,u),p=F}return[0,i,D,l,0!==n?1:0,v,mMe([0,a],[0,p])]}}(p,P,O),o)],W=1,V=0}else V=1;else V=1;if(V)z=[2,XGe([0,p],function(r,e,n){return function(u){var a=fye(r,WXe(u));pGe(u,6);var i=83===UXe(1,u)?1:0;if(i){var c=jGe(u);pGe(u,83);var f=[0,c]}else f=i;var o=gx(t,u);pGe(u,7);var s=lGe(u);return pGe(u,83),[0,f,o,gx(t,u),0!==e?1:0,n,mMe([0,a],[0,s])]}}(P,O,N),o)],W=1;break;case 42:if(T){if(0===N){var $=[0,JXe(o)],Y=fye(P,WXe(o));fGe(o);T=0,I=0,O=$,P=Y;continue}throw[0,jx,Jme]}W=0;break;case 100:case 101:if(0===N){T=0,I=0,N=e(o);continue}W=0;break;case 4:case 95:J(o,L),G(o,N);z=[3,XGe([0,p],function(r,e){return function(t){return[0,M(t,JXe(t),gGe(t,gx(x,t))),0!==e?1:0,mMe([0,r],0)]}}(P,O),o)],W=1;break;default:W=0}else if(4===R[0])if(hx(R[3],qme))W=0;else{if(I){if(0===N){var H=[0,JXe(o)],K=fye(P,WXe(o));fGe(o);T=0,I=0,L=H,P=K;continue}throw[0,jx,zme]}W=0}else W=0;if(!W){if(O)if(L){z=nye(Wme);var Q=1}else if("number"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var Z=[0,O[1],Vme];z=U(o,p,N,0,L,0,[1,bMe(mMe([0,P],0),Z)]),Q=1}else Q=0;else if(L)if("number"==typeof R)if(1<(R+Yf|0)>>>0)Q=0;else{var rr=[0,L[1],$me];z=U(o,p,N,O,0,0,[1,bMe(mMe([0,P],0),rr)]),Q=1}else Q=0;else Q=0;if(!Q){var er=function(e){oGe(e,0);var t=Bx(r[20],0,e);return sGe(e),t},tr=WXe(o),nr=er(o)[2];if(1===nr[0]){var ur=nr[1][2][1];if(hx(ur,Yme))if(hx(ur,Hme))var ar=0,ir=0;else ir=1;else ir=1;if(ir){var cr=GXe(o);if("number"==typeof cr){var fr=cr-5|0;if(89>>0)if(91<(fr+1|0)>>>0)var or=1;else{J(o,L),G(o,N);z=j(o,p,O,nr,P),ar=1,or=0}else if(1<(fr-77|0)>>>0)or=1;else z=U(o,p,N,O,L,P,nr),ar=1,or=0}else or=1;if(or){TGe(o,nr);var sr=er(o),lr=Ex(ur,Kme),vr=fye(P,tr);J(o,L),G(o,N);z=[0,XGe([0,p],function(r,e,t,n,u){return function(a){var i=t[1],c=TGe(a,t[2]),f=M(a,r,0),o=f[2][2];if(0===n){var s=o[2];if(s[1])sXe(a,[0,i,Uu]);else{var l=s[2];if(s[3])sXe(a,[0,i,79]);else{if(l)if(l[2])var v=1;else v=0;else v=1;v&&sXe(a,[0,i,79])}}}else{var D=o[2];if(D[1])sXe(a,[0,i,Ma]);else(D[2]||D[3]?0:1)||sXe(a,[0,i,78])}var p=mMe([0,u],0);return[0,c,n?[1,f]:[2,f],0,0!==e?1:0,0,0,0,p]}}(p,O,sr,lr,vr),o)],ar=1}}}else ar=0;if(!ar){var Dr=GXe(o);if("number"==typeof Dr){if(4===Dr)var pr=1;else if(95===Dr)pr=1;else{var br=0;pr=0}if(pr){J(o,L),G(o,N);z=j(o,p,O,nr,P),br=1}}else br=0;if(!br){var Fr=0!==O?1:0;if(1===nr[0]){var mr=nr[1],dr=mr[2][1];if(n){if(Ex(Zme,dr))var Er=1;else if(Fr)if(Ex(rde,dr))Er=1;else Er=0;else Er=0;Er&&sXe(o,[0,mr[1],[21,dr,Fr,0]])}}z=U(o,p,N,O,L,P,nr)}}}}X(c,o);s=[0,[0,z,D],v,l];continue r}}}),i)})),XB(g,(function(r){var e=41===GXe(r)?1:0;if(e){pGe(r,41);for(var t=0;;){var n=[0,gx(I,r),t],u=GXe(r);if("number"!=typeof u||9!==u){var a=IGe(r,wye(n));break}pGe(r,9);t=n}}else a=e;return[0,a,xx(_,0,0,0,r)]})),XB(B,(function(r){var e=jGe(r),t=e[2],n=t[1],u=e[1];return jXe(n)&&sXe(r,[0,u,3]),[0,u,[0,n,t[2]]]})),XB(S,(function(r){return XGe(0,(function(r){return[0,gx(B,r),83===GXe(r)?[1,gx(n,r)]:[0,qXe(r)]]}),r)})),XB(x,(function(r){var n=95===GXe(r)?1:0;if(n){1-oXe(r)&&tGe(r,12);var u=[0,XGe(0,(function(r){var n=WXe(r);pGe(r,95);for(var u=0,a=0;;){var i=XGe(0,function(r){return function(n){var u=e(n),a=gx(S,n),i=a[2],c=GXe(n);if("number"==typeof c)if(79===c){fGe(n);var f=[0,gx(t,n)],o=1,s=1}else s=0;else s=0;if(!s){r&&sXe(n,[0,a[1],75]);f=0,o=r}return[0,u,i[1],i[2],f,o]}}(u),r),c=i[2],f=[0,[0,i[1],[0,c[2],c[3],c[1],c[4]]],a],o=GXe(r);if("number"==typeof o){if(96===o)var s=1;else if(Ve===o)s=1;else{var l=0;s=0}if(s){var v=wye(f);l=1}}else l=0;if(!l){if(pGe(r,9),96!==GXe(r)){u=c[5],a=f;continue}v=wye(f)}var D=WXe(r);return pGe(r,96),[0,v,dMe([0,n],[0,lGe(r)],D)]}}),r)]}else u=n;return u})),XB(T,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,(function(r){var e=WXe(r);pGe(r,95);for(var n=yXe(0,r),u=0;;){var a=GXe(n);if("number"==typeof a)if(96===a||Ve===a?1:0){var i=wye(u),c=WXe(n);return pGe(n,96),[0,i,dMe([0,e],[0,lGe(n)],c)]}var f=[0,gx(t,n),u];96!==GXe(n)&&pGe(n,9);u=f}}),r)]:e})),XB(I,(function(r){return Bx(N,r,gx(B,r))})),XB(N,(function(r,e){return XGe([0,e[1]],(function(r){for(var t=[0,e[1],[0,e]];;){var n=t[2],u=t[1];if(10!==GXe(r)){if(95===GXe(r))var a=Bx(AGe(r)[2],n,(function(r,e){return Bx(wS(r,-860373976,75),r,e)}));else a=n;return[0,a,gx(T,r),0]}var i=XGe([0,u],function(r){return function(e){return pGe(e,10),[0,r,gx(B,e)]}}(n),r),c=i[1];t=[0,c,[1,[0,c,i[2]]]]}}),r)})),XB(O,(function(r,e){var t=Bx(N,r,e);return[0,t[1],[16,t[2]]]})),XB(L,(function(r){var e=GXe(r);return"number"==typeof e&&83===e?[1,gx(n,r)]:[0,qXe(r)]})),XB(P,(function(r,e,t){var n=r[2];function u(r){return EMe(r,mMe([0,e],[0,t]))}switch(n[0]){case 0:var a=[0,u(n[1])];break;case 1:a=[1,u(n[1])];break;case 2:a=[2,u(n[1])];break;case 3:a=[3,u(n[1])];break;case 4:a=[4,u(n[1])];break;case 5:a=[5,u(n[1])];break;case 6:a=[6,u(n[1])];break;case 7:a=[7,u(n[1])];break;case 8:a=[8,u(n[1])];break;case 9:a=[9,u(n[1])];break;case 10:a=[10,u(n[1])];break;case 11:var i=n[1],c=u(i[2]);a=[11,[0,i[1],c]];break;case 12:var f=n[1],o=u(f[4]);a=[12,[0,f[1],f[2],f[3],o]];break;case 13:var s=n[1],l=s[4],v=kMe(l,mMe([0,e],[0,t]));a=[13,[0,s[1],s[2],s[3],v]];break;case 14:var D=n[1],p=u(D[3]);a=[14,[0,D[1],D[2],p]];break;case 15:var b=n[1],F=u(b[2]);a=[15,[0,b[1],F]];break;case 16:var m=n[1],d=u(m[3]);a=[16,[0,m[1],m[2],d]];break;case 17:var E=n[1],k=u(E[2]);a=[17,[0,E[1],k]];break;case 18:var h=n[1],y=u(h[2]);a=[18,[0,h[1],y]];break;case 19:var C=n[1],w=u(C[3]);a=[19,[0,C[1],C[2],w]];break;case 20:var A=n[1],_=u(A[2]);a=[20,[0,A[1],_]];break;case 21:var g=n[1],B=u(g[3]);a=[21,[0,g[1],g[2],B]];break;case 22:var S=n[1],x=u(S[3]);a=[22,[0,S[1],S[2],x]];break;case 23:var T=n[1],I=u(T[3]);a=[23,[0,T[1],T[2],I]];break;default:var N=n[1],O=u(N[2]);a=[24,[0,N[1],O]]}return[0,r[1],a]}));function z(r){var e=yXe(0,r),t=GXe(e);return"number"==typeof t&&66===t?[0,XGe(0,q,e)]:0}function W(r){var e=GXe(r),t=UXe(1,r);if("number"==typeof e&&83===e){if("number"==typeof t&&66===t){pGe(r,83);var n=z(r);return[0,[0,qXe(r)],n]}var u=gx(L,r);return[0,66===GXe(r)?BGe(r,u):u,z(r)]}return[0,[0,qXe(r)],0]}function V(r,e){var t=pXe(1,e);oGe(t,1);var n=gx(r,t);return sGe(t),n}return[0,function(r){return V(t,r)},function(r){return V(B,r)},function(r){return V(x,r)},function(r){return V(T,r)},function(r){return V(I,r)},function(r,e){return V(Sx(_,r,0,0),e)},function(r){return V(g,r)},function(r){return V(k,r)},function(r){return V(n,r)},function(r){return V(L,r)},function(r){return V(z,r)},function(r){return V(W,r)}]}($Ge),HGe=function(r){var e=[0,Ume,GGe[1],0];function t(r){var e=GXe(r);if("number"==typeof e&&(8<=e?10<=e?0:1:1===e?1:0))return 1;return 0}function n(r){var e=JXe(r),n=WXe(r),u=GXe(r);if("number"==typeof u)switch(u){case 30:case 31:fGe(r);var a=lGe(r);return t(r)?[1,e,[0,31===u?1:0,mMe([0,n],[0,a])]]:[0,e]}else switch(u[0]){case 0:var i=u[2],c=Sx($Ge[24],r,u[1],i),f=lGe(r);return t(r)?[2,e,[0,c,i,mMe([0,n],[0,f])]]:[0,e];case 2:var o=u[1],s=o[1];o[4]&&aGe(r,43),fGe(r);var l=lGe(r);if(t(r)){var v=mMe([0,n],[0,l]);return[3,s,[0,o[2],o[3],v]]}return[0,s]}return fGe(r),[0,e]}function u(r){var e=jGe(r),t=GXe(r);if("number"==typeof t)if(79===t){pGe(r,79);var u=n(r),a=1}else if(83===t){tGe(r,[5,e[2][1]]),pGe(r,83);u=n(r),a=1}else a=0;else a=0;if(!a)u=0;return[0,e,u]}function a(r,e,t,n,u,a,i){var c=kye(u),f=kye(a);function o(r){return[2,[0,[0,a],t,n,i]]}function s(r){return[2,[0,[1,u],t,n,i]]}return 0===c?o():0===f?s():c>>0){if(!(ak<(b+1|0)>>>0)){var F=D[3],m=wye(D[1][4]),d=wye(D[1][3]),E=wye(D[1][2]),k=wye(D[1][1]);pGe(r,1);var h=GXe(r);if("number"==typeof h){if(1===h)var y=1;else if(Ve===h)y=1;else{var C=0;y=0}if(y){var w=lGe(r);C=1}}else C=0;if(!C){var A=YXe(r);w=A?vGe(r):A}var _=mMe([0,v],[0,w]);if(s)switch(s[1]){case 0:return[0,[0,k,1,F,_]];case 1:return[1,[0,E,1,F,_]];case 2:return a(r,i,1,F,d,m,_);default:return[3,[0,m,F,_]]}var B=kye(k),S=kye(E),x=kye(d),T=kye(m),I=function(r){return[2,[0,Ome,0,F,_]]};return 0===B&&0===S?0===x&&0===T?I():a(r,i,0,F,d,m,_):0===S&&0===x&&T<=B?(Bye((function(e){return sXe(r,[0,e[1],[1,i,e[2][1][2][1]]])}),m),[0,[0,k,0,F,_]]):0===B&&0===x&&T<=S?(Bye((function(e){return sXe(r,[0,e[1],[9,i,e[2][1][2][1]]])}),m),[1,[0,E,0,F,_]]):(sXe(r,[0,c,[3,i]]),I())}}else if(10===b){var N=JXe(r);fGe(r);var O=GXe(r);if("number"==typeof O){var L=O-2|0;if(Uu>>0)if(109<(L+1|0)>>>0)var P=0,R=0;else R=1;else if(7===L){pGe(r,9);var M=GXe(r);if("number"==typeof M){if(1===M)var j=1;else if(Ve===M)j=1;else{var U=0;j=0}if(j){var X=1;U=1}}else U=0;if(!U)X=0;sXe(r,[0,N,[8,X]]);R=1}else P=0,R=0;if(R)P=1}else P=0;P||sXe(r,[0,N,Nme]);D=[0,D[1],D[2],1];continue}}var G=D[2],J=D[1],q=XGe(0,u,r),z=q[2],W=z[1],V=W[2][1];if(Ex(V,jme))var $=D;else{var Y=W[1],H=z[2],K=q[1],Q=kx(V,0),Z=97<=Q?1:0;(Z?Q<=g?1:0:Z)&&sXe(r,[0,Y,[7,i,V]]),Bx(GGe[3],V,G)&&sXe(r,[0,Y,[2,i,V]]);var rr=D[3],er=Bx(GGe[4],V,G),tr=[0,D[1],er,rr],nr=function(e){return function(t,n){return s&&s[1]!==t?sXe(r,[0,n,[6,i,s,e]]):0}}(V);if("number"==typeof H){if(s){var ur=s[1];if(1===ur){sXe(r,[0,K,[9,i,V]]);$=tr;var ar=1}else if(0===ur){sXe(r,[0,K,[1,i,V]]);$=tr,ar=1}else ar=0}else ar=0;if(!ar)$=[0,[0,J[1],J[2],J[3],[0,[0,K,[0,W]],J[4]]],er,rr]}else switch(H[0]){case 0:sXe(r,[0,H[1],[6,i,s,V]]);$=tr;break;case 1:var ir=H[1];nr(0,ir);$=[0,[0,[0,[0,K,[0,W,[0,ir,H[2]]]],J[1]],J[2],J[3],J[4]],er,rr];break;case 2:var cr=H[1];nr(1,cr);$=[0,[0,J[1],[0,[0,K,[0,W,[0,cr,H[2]]]],J[2]],J[3],J[4]],er,rr];break;default:var fr=H[1];nr(2,fr);$=[0,[0,J[1],J[2],[0,[0,K,[0,W,[0,fr,H[2]]]],J[3]],J[4]],er,rr]}}var or=GXe(r);if("number"==typeof or){var sr=or-2|0;if(Uu>>0)if(109<(sr+1|0)>>>0)var lr=0,vr=0;else vr=1;else if(6===sr){tGe(r,1),pGe(r,8);vr=1}else lr=0,vr=0;if(vr)lr=1}else lr=0;lr||pGe(r,9);D=$}}),r),mMe([0,t],0)]]}function c(r,e){var t=e[2];switch(t[0]){case 0:return Sye(f,r,t[1][1]);case 1:return Sye(o,r,t[1][1]);case 2:var n=t[1][1],u=n[2][1],a=r[2],i=r[1];Bx(JGe[3],u,a)&&sXe(i,[0,n[1],41]);var c=s([0,i,a],n),l=Bx(JGe[4],u,c[2]);return[0,c[1],l];default:return sXe(r[1],[0,e[1],30]),r}}function f(r,e){if(0===e[0]){var t=e[1][2],n=t[1];return c(1===n[0]?s(r,n[1]):r,t[2])}return c(r,e[1][2][1])}function o(r,e){return 2===e[0]?r:c(r,e[1][2][1])}function s(r,e){var t=e[2][1],n=e[1],u=r[1];return PXe(t)&&iGe(u,[0,n,40]),(IXe(t)||OXe(t))&&iGe(u,[0,n,52]),[0,u,r[2]]}function l(r,e,t,n,u){var a=e||1-t;if(a){var i=u[2],f=i[3],o=e?pXe(1-r[6],r):r;if(n){var s=n[1],l=s[2][1],v=s[1];PXe(l)&&iGe(o,[0,v,42]),(IXe(l)||OXe(l))&&iGe(o,[0,v,52])}var D=i[2],p=Sye((function(r,e){return c(r,e[2][1])}),[0,o,JGe[1]],D),b=f?(c(p,f[1][2][1]),0):f}else b=a;return b}var v=function r(e,t){return r.fun(e,t)};function D(r){21===GXe(r)&&tGe(r,sE);var e=Bx($Ge[18],r,40),t=79===GXe(r)?1:0;return[0,e,t?(pGe(r,79),[0,gx($Ge[10],r)]):t]}function p(e,t){function n(n){var u=bXe(t,FXe(e,n)),a=[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],1,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29]],i=WXe(a);pGe(a,4);var c=oXe(a),f=c?21===GXe(a)?1:0:c;if(f){var o=WXe(a),s=XGe(0,(function(e){return pGe(e,21),83===GXe(e)?[0,gx(r[9],e)]:(tGe(e,$l),0)}),a),l=s[2];if(l){9===GXe(a)&&fGe(a);var D=mMe([0,o],0),p=[0,[0,s[1],[0,l[1],D]]]}else p=l;var b=p}else b=f;var F=Bx(v,a,0),m=WXe(a);pGe(a,5);var d=dMe([0,i],[0,lGe(a)],m);return[0,b,F[1],F[2],d]}return function(r){return XGe(0,n,r)}}function b(r,e,t,n){var u=xXe(r,e,t),a=Bx($Ge[16],n,u);return[0,[0,[0,a[1],a[2]]],a[3]]}function F(r){if($l===GXe(r)){var e=WXe(r);return fGe(r),[0,1,e]}return ode}function m(r){if(64===GXe(r)&&!$Xe(1,r)){var e=WXe(r);return fGe(r),[0,1,e]}return fde}function d(r){var e=r[2],t=0===e[3]?1:0;if(t)for(var n=e[2];;){if(n){var u=n[1][2],a=n[2];if(2===u[1][2][0])if(u[2])var i=0;else{var c=1;i=1}else i=0;if(!i)c=0;if(c){n=a;continue}return c}return 1}return t}function E(e){var t=m(e),n=t[1],u=t[2],a=XGe(0,(function(e){var t=WXe(e);pGe(e,15);var a=F(e),i=a[1],c=Aye([0,u,[0,t,[0,a[2],0]]]),f=e[7],o=GXe(e);if(0===f)var s=0;else if("number"==typeof o)if(4===o){var l=0,v=0;s=1}else if(95===o)l=gGe(e,gx(r[3],e)),v=4===GXe(e)?0:[0,_Ge(e,Bx($Ge[13],ide,e))],s=1;else s=0;else s=0;if(!s){var D=_Ge(e,Bx($Ge[13],cde,e));l=gGe(e,gx(r[3],e)),v=[0,D]}var b=gx(p(n,i),e),m=83===GXe(e)?b:SGe(e,b),d=gx(r[12],e),E=d[2],k=d[1];if(E)var h=k,y=xGe(e,E);else h=BGe(e,k),y=E;return[0,i,l,v,m,h,y,c]}),e),i=a[2],c=i[4],f=i[3],o=i[1],s=b(e,n,o,0),v=d(c);l(e,s[2],v,f,c);var D=a[1],E=mMe([0,i[7]],0);return[23,[0,f,c,s[1],n,o,i[6],i[5],i[2],E,D]]}XB(v,(function(r,e){var t=GXe(r);if("number"==typeof t){var n=t-5|0;if(7>>0?tg===n?1:0:5<(n-1|0)>>>0?1:0){var u=12===t?1:0;if(u)var a=WXe(r),i=XGe(0,(function(r){return pGe(r,12),Bx($Ge[18],r,40)}),r),c=mMe([0,a],0),f=[0,[0,i[1],[0,i[2],c]]];else f=u;return 5!==GXe(r)&&tGe(r,61),[0,wye(e),f]}}var o=XGe(0,D,r);return 5!==GXe(r)&&pGe(r,9),Bx(v,r,[0,o,e])}));function k(r,e){var t=WXe(e);pGe(e,r);for(var n=0,u=0;;){var a=XGe(0,(function(r){var e=Bx($Ge[18],r,39);if(FGe(r,79))var t=[0,gx($Ge[10],r)],n=0;else if(2===e[2][0])t=Yx[1],n=Yx[2];else t=0,n=[0,[0,e[1],56]];return[0,[0,e,t],n]}),e),i=a[2],c=i[2],f=[0,[0,a[1],i[1]],n],o=c?[0,c[1],u]:u;if(!FGe(e,9)){var s=wye(o);return[0,wye(f),t,s]}n=f,u=o}}return[0,m,F,function(r,e,t){var n=JXe(r),u=GXe(r);if("number"==typeof u)if(Fu===u){var a=WXe(r);fGe(r);var i=[0,[0,n,[0,0,mMe([0,a],0)]]],c=1}else if(CE===u){var f=WXe(r);fGe(r);i=[0,[0,n,[0,1,mMe([0,f],0)]]],c=1}else c=0;else c=0;if(!c)i=0;return i&&!(e||t?0:1)?(sXe(r,[0,i[1][1],7]),0):i},p,b,d,l,function(r){return k(28,EXe(1,r))},function(r){var e=k(27,EXe(1,r)),t=e[1],n=wye(Sye((function(r,e){return e[2][2]?r:[0,[0,e[1],55],r]}),e[3],t));return[0,t,e[2],n]},function(r){return k(24,r)},function(r){return XGe(0,E,r)},function(r){return XGe(0,i,r)}]}(YGe),KGe=function(r){return[0,function(r,e){return 0===e[0]||Bye((function(e){return sXe(r,e)}),e[2][1]),e[1]},function(e,t,n){var u=e?e[1]:26;if(0===n[0])var a=n[1];else{Bye((function(r){return sXe(t,r)}),n[2][2]);a=n[1]}1-gx(r[23],a)&&sXe(t,[0,a[1],u]);var i=a[2];return 10===i[0]&&PXe(i[1][2][1])&&iGe(t,[0,a[1],49]),Bx(r[19],t,a)},sde,function(r,e){var t=Cye(r[2],e[2]);return[0,Cye(r[1],e[1]),t]},function(r){var e=wye(r[2]);return[0,wye(r[1]),e]}]}($Ge),QGe=function(r){var e=r[1],t=function r(e){return r.fun(e)},n=function r(e){return r.fun(e)},u=function r(e){return r.fun(e)},a=function r(e){return r.fun(e)},i=function r(e){return r.fun(e)},c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e){return r.fun(e)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e){return r.fun(e)},E=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},k=function r(e,t,n,u){return r.fun(e,t,n,u)},h=function r(e){return r.fun(e)},y=function r(e){return r.fun(e)},C=function r(e){return r.fun(e)},w=function r(e,t,n,u,a){return r.fun(e,t,n,u,a)},A=function r(e,t,n,u){return r.fun(e,t,n,u)},_=function r(e){return r.fun(e)},g=function r(e,t,n){return r.fun(e,t,n)},B=function r(e){return r.fun(e)},S=function r(e,t,n){return r.fun(e,t,n)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e,t){return r.fun(e,t)},N=function r(e,t,n,u){return r.fun(e,t,n,u)},O=function r(e){return r.fun(e)},L=function r(e,t,n){return r.fun(e,t,n)},P=function r(e){return r.fun(e)},R=function r(e){return r.fun(e)},M=function r(e){return r.fun(e)},j=function r(e,t,n){return r.fun(e,t,n)},U=function r(e){return r.fun(e)},X=r[2];function G(r){var e=JXe(r),t=gx(c,r),u=gx(i,r);if(u){var a=u[1];return[0,XGe([0,e],(function(r){var e=Sx(X,0,r,t);return[2,[0,a,e,gx(n,r),0]]}),r)]}return t}function J(r,e){if("number"==typeof e){var t=52!==e?1:0;if(!t)return t}throw mGe}function q(r){var e=AXe(J,r),t=G(e),n=GXe(e);if("number"==typeof n){if(11===n)throw mGe;if(83===n&&DS(BXe(e),WEe))throw mGe}if(ZXe(e)){if(0===t[0]){var u=t[1][2];if(10===u[0]&&!hx(u[1][2][1],VEe)&&!YXe(e))throw mGe}return t}return t}function z(r,t,n,u,a){return[0,[0,a,[15,[0,u,Bx(e,r,t),Bx(e,r,n),0]]]]}function W(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if("number"!=typeof a||85!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=lMe(u,i[1]),f=$(0,r,z(r,n,i[2],1,c),c);n=f[2],u=f[1]}}function V(r,e,t){for(var n=e,u=t;;){var a=GXe(r);if("number"!=typeof a||84!==a)return[0,u,n];fGe(r);var i=XGe(0,s,r),c=W(r,i[2],i[1]),f=lMe(u,c[1]),o=$(0,r,z(r,n,c[2],0,f),f);n=o[2],u=o[1]}}function $(r,e,t,n){for(var u=r,a=t,i=n;;){var c=GXe(e);if("number"!=typeof c||81!==c)return[0,i,a];1-e[26][7]&&tGe(e,CE),1-u&&tGe(e,xEe),pGe(e,81);var f=XGe(0,s,e),o=f[2],l=f[1],v=GXe(e);if("number"==typeof v)if(1<(v-84|0)>>>0)var D=0;else{tGe(e,[23,gMe(v)]);var p=W(e,o,l),b=V(e,p[2],p[1]),F=b[1],m=b[2];D=1}else D=0;if(!D)F=l,m=o;var d=lMe(i,F);u=1,a=z(e,a,m,2,d),i=d}}function Y(r,e,t,n){return[0,n,[3,[0,t,r,e,0]]]}function H(r){var e=WXe(r);pGe(r,95);for(var t=0;;){var n=GXe(r);if("number"==typeof n)if(96===n||Ve===n?1:0){var u=wye(t),a=WXe(r);pGe(r,96);var i=4===GXe(r)?AGe(r)[1]:lGe(r);return[0,u,dMe([0,e],[0,i],a)]}var c=GXe(r);if("number"==typeof c)var f=0;else if(4===c[0])if(hx(c[2],Lde))f=0;else{var o=JXe(r),s=WXe(r);bGe(r,Pde);var l=[1,[0,o,[0,mMe([0,s],[0,lGe(r)])]]];f=1}else f=0;if(!f)l=[0,gx(YGe[1],r)];var v=[0,l,t];96!==GXe(r)&&pGe(r,9);t=v}}function K(r){var e=WXe(r);return pGe(r,12),[0,gx(n,r),mMe([0,e],0)]}function Q(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=wXe(0,u),l=gx($Ge[7],s),v=JXe(u);pGe(u,7);var D=lGe(u),p=lMe(a,v),b=mMe(0,[0,D]),F=[0,Bx(e,u,i),[2,l],b];return Tx(E,[0,c],[0,f],u,a,[0,[0,p,f?[21,[0,F,o]]:[16,F]]])}function Z(r,t,n,u,a,i){var c=r?r[1]:1,f=t?t[1]:t,o=n?n[1]:n,s=gx(U,u),l=s[3],v=s[2],D=s[1];if(l){var p=pMe(v),b=u[28][1];if(b){var F=b[1];u[28][1]=[0,[0,F[1],[0,[0,p,D],F[2]]],b[2]]}else sXe(u,[0,D,88])}var m=lMe(a,D),d=l?[1,[0,D,[0,v,mMe([0,s[4]],0)]]]:[0,v],k=(0===i[0]&&23===i[1][2][0]&&l&&sXe(u,[0,m,89]),[0,Bx(e,u,i),d,0]);return Tx(E,[0,c],[0,f],u,a,[0,[0,m,f?[21,[0,k,o]]:[16,k]]])}function rr(r,e){if("number"==typeof e){if(58<=e)var t=e+nb|0,n=29>>0?47===t?1:0:27<(t-1|0)>>>0?1:0;else{var u=e-41|0;n=15>>0?-1<=u?1:0:11===u?1:0}if(n)return 0}throw mGe}return XB(t,(function(r){var e=GXe(r),t=ZXe(r);if("number"==typeof e){if(22<=e)if(58===e){if(r[17])return[0,gx(u,r)];var n=0,a=0}else if(95===e)a=1;else n=0,a=0;else if(4===e)a=1;else if(21<=e)a=1;else n=0,a=0;if(a)n=1}else n=0;if(!n&&0===t)return G(r);if(64===e)if(oXe(r))if(95===UXe(1,r))var i=M,c=q,f=1;else f=0;else f=0;else f=0;if(!f)i=q,c=M;var o=EGe(r,i);if(o)return o[1];var s=EGe(r,c);return s?s[1]:G(r)})),XB(n,(function(r){return Bx(e,r,gx(t,r))})),XB(u,(function(r){return XGe(0,(function(r){r[10]&&tGe(r,90);var e=WXe(r);if(pGe(r,58),KXe(r))var t=0,u=0;else{var a=FGe(r,$l),i=GXe(r);if("number"==typeof i){if(83===i)var c=1;else if(10<=i){var f=0;c=0}else switch(i){case 0:case 2:case 3:case 4:case 6:f=0,c=0;break;default:c=1}if(c){var o=0;f=1}}else f=0;if(!f)o=1;var s=a||o;t=s?[0,gx(n,r)]:s,u=a}var l=t?0:lGe(r);return[30,[0,t,mMe([0,e],[0,l]),u]]}),r)})),XB(a,(function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],qEe)){var n=hx(t[2][2][1],zEe);if(!n)return n}break;case 10:case 16:break;default:return 0}return 1})),XB(i,(function(r){var e=GXe(r);if("number"==typeof e){var t=e-67|0;if(12>>0)var n=0;else{switch(t){case 0:var u=TEe;break;case 1:u=IEe;break;case 2:u=NEe;break;case 3:u=OEe;break;case 4:u=LEe;break;case 5:u=PEe;break;case 6:u=REe;break;case 7:u=MEe;break;case 8:u=jEe;break;case 9:u=UEe;break;case 10:u=XEe;break;case 11:u=GEe;break;default:u=JEe}var a=u;n=1}}else n=0;if(!n)a=0;return 0!==a&&fGe(r),a})),XB(c,(function(r){var t=JXe(r),u=gx(o,r);if(82===GXe(r)){fGe(r);var a=gx(n,hXe(0,r));pGe(r,83);var i=XGe(0,n,r),c=lMe(t,i[1]),f=i[2];return[0,[0,c,[7,[0,Bx(e,r,u),a,f,0]]]]}return u})),XB(f,(function(r){return Bx(e,r,gx(c,r))})),XB(o,(function(r){var e=XGe(0,s,r),t=e[2],n=e[1],u=GXe(r);if("number"==typeof u)if(81===u)var a=$(1,r,t,n),i=1;else i=0;else i=0;if(!i){var c=W(r,t,n);a=V(r,c[2],c[1])}return a[2]})),XB(s,(function(r){var t=0;r:for(;;){var n=XGe(0,(function(r){return[0,0!==gx(l,r)?1:0,gx(v,hXe(0,r))]}),r),u=n[2],a=u[2],i=n[1];if(95===GXe(r))0===a[0]&&12===a[1][2][0]&&tGe(r,60);var c=GXe(r);if("number"==typeof c){var f=c+-17|0;if(1>>0)if(69<=f)switch(f-69|0){case 0:var o=fEe,s=1;break;case 1:o=oEe,s=1;break;case 2:o=sEe,s=1;break;case 3:o=lEe,s=1;break;case 4:o=vEe,s=1;break;case 5:o=DEe,s=1;break;case 6:o=pEe,s=1;break;case 7:o=bEe,s=1;break;case 8:o=FEe,s=1;break;case 9:o=mEe,s=1;break;case 10:o=dEe,s=1;break;case 11:o=EEe,s=1;break;case 12:o=kEe,s=1;break;case 13:o=hEe,s=1;break;case 14:o=yEe,s=1;break;case 15:o=CEe,s=1;break;case 16:o=wEe,s=1;break;case 17:o=AEe,s=1;break;case 18:o=_Ee,s=1;break;case 19:o=gEe,s=1;break;default:var D=0;s=0}else D=0,s=0;else if(0===f)if(r[12])o=0,s=1;else o=SEe,s=1;else o=BEe,s=1;if(s){var p=o;D=1}}else D=0;if(!D)p=0;if(0!==p&&fGe(r),!t&&!p)return a;if(p){var b=p[1],F=b[1],m=u[1];(m?14===F?1:0:m)&&sXe(r,[0,i,27]);for(var d=Bx(e,r,a),E=[0,F,b[2]],k=i,h=t;;){var y=E[2],C=E[1];if(h){var w=h[1],A=w[2],_=A[2],g=0===_[0]?_[1]:_[1]-1|0;if(y[1]<=g){var B=lMe(w[3],k);d=Y(w[1],d,A[1],B),E=[0,C,y],k=B,h=h[2];continue}}t=[0,[0,d,[0,C,y],k],h];continue r}}for(var S=Bx(e,r,a),x=i,T=t;;){if(!T)return[0,S];var I=T[1],N=lMe(I[3],x),O=T[2];S=Y(I[1],S,I[2][1],N),x=N,T=O}}})),XB(l,(function(r){var e=GXe(r);if("number"==typeof e)if(48<=e){if(Fu<=e){if(!(Bb<=e))switch(e-100|0){case 0:return rEe;case 1:return eEe;case 6:return tEe;case 7:return nEe}}else if(65===e&&r[18])return uEe}else if(45<=e)switch(e+Vi|0){case 0:return aEe;case 1:return iEe;default:return cEe}return 0})),XB(v,(function(r){var e=JXe(r),t=WXe(r),n=gx(l,r);if(n){var u=n[1];fGe(r);var i=XGe(0,D,r),c=i[2],f=lMe(e,i[1]);if(6===u){var o=c[2];switch(o[0]){case 10:iGe(r,[0,f,45]);break;case 16:1===o[1][2][0]&&sXe(r,[0,f,87])}}return[0,[0,f,[28,[0,u,c,mMe([0,t],0)]]]]}var s=GXe(r);if("number"==typeof s)if(Bb===s)var v=Zde,b=1;else if(ak===s)v=Qde,b=1;else b=0;else b=0;if(!b)v=0;if(v){fGe(r);var F=XGe(0,D,r),m=F[2];1-gx(a,m)&&sXe(r,[0,m[1],26]);var d=m[2],E=(10===d[0]&&PXe(d[1][2][1])&&aGe(r,51),lMe(e,F[1])),k=mMe([0,t],0);return[0,[0,E,[29,[0,v[1],m,1,k]]]]}return gx(p,r)})),XB(D,(function(r){return Bx(e,r,gx(v,r))})),XB(p,(function(r){var t=gx(b,r);if(YXe(r))return t;var n=GXe(r);if("number"==typeof n)if(Bb===n)var u=Kde,i=1;else if(ak===n)u=Hde,i=1;else i=0;else i=0;if(!i)u=0;if(u){var c=Bx(e,r,t);1-gx(a,c)&&sXe(r,[0,c[1],26]);var f=c[2],o=(10===f[0]&&PXe(f[1][2][1])&&aGe(r,50),JXe(r));fGe(r);var s=lGe(r),l=lMe(c[1],o),v=mMe(0,[0,s]);return[0,[0,l,[29,[0,u[1],c,0,v]]]]}return t})),XB(b,(function(r){var e=JXe(r),t=[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15],0,r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]],n=1-r[16],u=GXe(t);if("number"==typeof u){var a=u-44|0;if(7>>0)var i=0;else{switch(a){case 0:if(n)var c=[0,gx(h,t)],f=1;else i=0,f=0;break;case 6:c=[0,gx(d,t)],f=1;break;case 7:c=[0,gx(m,t)],f=1;break;default:i=0,f=0}if(f){var o=c;i=1}}}else i=0;if(!i)o=rGe(t)?[0,gx(_,t)]:gx(x,t);return Tx(E,0,0,t,e,o)})),XB(F,(function(r){return Bx(e,r,gx(b,r))})),XB(m,(function(r){switch(r[20]){case 0:var e=Gde;break;case 1:e=Jde;break;default:e=qde}var t=e[1],n=JXe(r),u=WXe(r);pGe(r,51);var a=[0,n,[23,[0,mMe([0,u],[0,lGe(r)])]]],i=GXe(r);if("number"==typeof i&&!(11<=i))switch(i){case 4:var c=e[2]?a:(sXe(r,[0,n,5]),[0,n,[10,bMe(0,[0,n,zde])]]);return xx(k,Wde,r,n,c);case 6:case 10:var f=t?a:(sXe(r,[0,n,4]),[0,n,[10,bMe(0,[0,n,$de])]]);return xx(k,Yde,r,n,f)}return t?nGe(Vde,r):sXe(r,[0,n,4]),a})),XB(d,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,50);var t=WXe(r);pGe(r,4);var u=Sx(L,[0,t],0,gx(n,hXe(0,r)));return pGe(r,5),[11,[0,u,mMe([0,e],[0,lGe(r)])]]}),r)})),XB(E,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=Tx(w,[0,i],[0,c],n,u,a),o=DS(BXe(n),Xde);function s(r){var t=AGe(r);var n=Bx(e,r,f);return Bx(t[2],n,(function(r,e){return Bx(wS(r,LD,76),r,e)}))}function l(r,e,t){var n=gx(C,e),a=n[1],f=lMe(u,a),s=[0,t,r,[0,a,n[2]],0];if(o)var l=0;else if(c)l=0;else{var v=[4,s];l=1}if(!l)v=[20,[0,s,o]];return Tx(E,[0,i],[0,c||o],e,u,[0,[0,f,v]])}if(n[13])return f;var v=GXe(n);if("number"==typeof v){if(4===v)return l(0,n,s(n));if(95===v&&oXe(n)){var D=AXe((function(r,e){throw mGe}),n);return kGe(D,f,(function(r){var e=s(r);return l(gx(y,r),r,e)}))}}return f})),XB(k,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(E,[0,a],0,t,n,[0,u]))})),XB(h,(function(r){return XGe(0,(function(r){var e=JXe(r),t=WXe(r);if(pGe(r,44),r[11]&&10===GXe(r)){var n=lGe(r);fGe(r);var u=bMe(mMe([0,t],[0,n]),[0,e,Rde]),a=GXe(r);return"number"==typeof a||4!==a[0]||hx(a[3],Mde)?(nGe(jde,r),fGe(r),[10,u]):[17,[0,u,Bx($Ge[13],0,r),0]]}var i=JXe(r),c=GXe(r);if("number"==typeof c)if(44===c)var f=gx(h,r),o=1;else if(51===c)f=gx(m,wXe(1,r)),o=1;else o=0;else o=0;if(!o)f=rGe(r)?gx(_,r):gx(T,r);var s=xx(A,Ude,wXe(1,r),i,f),l=GXe(r);if("number"==typeof l)var v=0;else if(3===l[0]){var D=xx(N,r,i,s,l[1]);v=1}else v=0;if(!v)D=s;if(4===GXe(r))var p=0;else{if(oXe(r))if(95===GXe(r)){p=0;var b=0}else b=1;else b=1;if(b){var F=D;p=1}}if(!p)F=Bx(AGe(r)[2],D,(function(r,e){return Bx(wS(r,LD,77),r,e)}));var d=oXe(r),E=d?kGe(AXe((function(r,e){throw mGe}),r),0,y):d,k=GXe(r);if("number"==typeof k)if(4===k)var w=[0,gx(C,r)],g=1;else g=0;else g=0;if(!g)w=0;return[18,[0,F,E,w,mMe([0,t],0)]]}),r)})),XB(y,(function(r){var e=95===GXe(r)?1:0;return e?[0,XGe(0,H,r)]:e})),XB(C,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,4);for(var t=0;;){var u=GXe(r);if("number"==typeof u)if(5===u||Ve===u?1:0){var a=wye(t),i=WXe(r);return pGe(r,5),[0,a,dMe([0,e],[0,lGe(r)],i)]}var c=GXe(r);if("number"==typeof c)if(12===c)var f=[1,XGe(0,K,r)],o=1;else o=0;else o=0;if(!o)f=[0,gx(n,r)];var s=[0,f,t];5!==GXe(r)&&pGe(r,9);t=s}}),r)})),XB(w,(function(r,t,n,u,a){var i=r?r[1]:1,c=t?t[1]:t,f=n[26],o=GXe(n);if("number"==typeof o)switch(o){case 6:return fGe(n),Q([0,i],[0,c],0,n,u,a);case 10:return fGe(n),Z([0,i],[0,c],0,n,u,a);case 80:1-f[6]&&tGe(n,98),1-i&&tGe(n,99),pGe(n,80);var s=GXe(n);if("number"==typeof s)switch(s){case 4:return a;case 6:return fGe(n),Q([0,i],Tde,xde,n,u,a);case 95:if(oXe(n))return a}else if(3===s[0])return tGe(n,Fu),a;return Z([0,i],Nde,Ide,n,u,a)}else if(3===o[0]){c&&tGe(n,Fu);var l=o[1];return Tx(E,Ode,0,n,u,[0,xx(N,n,u,Bx(e,n,a),l)])}return a})),XB(A,(function(r,t,n,u){var a=r?r[1]:1;return Bx(e,t,Tx(w,[0,a],0,t,n,[0,u]))})),XB(_,(function(r){return XGe(0,(function(r){var e=gx(HGe[1],r),t=e[1],n=e[2],u=XGe(0,(function(r){var e=WXe(r);pGe(r,15);var u=gx(HGe[2],r),a=u[1],i=Aye([0,n,[0,e,[0,u[2],0]]]);if(4===GXe(r))var c=0,f=0;else{var o=GXe(r);if("number"==typeof o){var s=95!==o?1:0;if(s)var l=0;else{var v=s;l=1}}else l=0;if(!l){var D=bXe(a,FXe(t,r));v=[0,_Ge(D,Bx($Ge[13],Sde,D))]}c=v,f=gGe(r,gx(YGe[3],r))}var p=dXe(0,r),b=Sx(HGe[4],t,a,p),F=83===GXe(p)?b:SGe(p,b),m=gx(YGe[12],p),d=m[2],E=m[1];if(d)var k=E,h=xGe(p,d);else k=BGe(p,E),h=d;return[0,c,F,a,h,k,f,i]}),r),a=u[2],i=a[3],c=a[2],f=a[1],o=xx(HGe[5],r,t,i,1),s=gx(HGe[6],c);Tx(HGe[7],r,o[2],s,f,c);var l=u[1],v=mMe([0,a[7]],0);return[8,[0,f,c,o[1],t,i,a[4],a[5],a[6],v,l]]}),r)})),XB(g,(function(r,e,t){switch(e){case 1:aGe(r,43);try{var n=WS(zS(iye(wde,t)))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Ade,t))}break;case 2:aGe(r,44);try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(_de,t))}break;case 4:try{n=FS(t)}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(gde,t))}break;default:try{n=WS(zS(t))}catch(r){if((r=_x(r))[1]!==Ox)throw r;n=nye(iye(Bde,t))}}return pGe(r,[0,e,t]),n})),XB(B,(function(r){var e=RS(r);return 0!==e&&Ve===kx(r,e-1|0)?Gye(r,0,e-1|0):r})),XB(S,(function(r,e,t){if(2<=e){var n=gx(B,t);try{var u=FS(n)}catch(t){if((t=_x(t))[1]!==Ox)throw t;u=nye(iye(yde,n))}var a=u}else{var i=gx(B,t);try{var c=WS(zS(i))}catch(t){if((t=_x(t))[1]!==Ox)throw t;c=nye(iye(Cde,i))}a=c}return pGe(r,[1,e,t]),a})),XB(x,(function(r){var e=JXe(r),t=WXe(r),n=GXe(r);if("number"==typeof n)switch(n){case 0:var u=gx($Ge[12],r);return[1,[0,u[1],[19,u[2]]],u[3]];case 4:return[0,gx(O,r)];case 6:var a=XGe(0,P,r),i=a[2];return[1,[0,a[1],[0,i[1]]],i[2]];case 21:return fGe(r),[0,[0,e,[26,[0,mMe([0,t],[0,lGe(r)])]]]];case 29:return fGe(r),[0,[0,e,[14,[0,0,dde,mMe([0,t],[0,lGe(r)])]]]];case 40:return[0,gx($Ge[22],r)];case 95:var c=gx($Ge[17],r),f=c[2];return[0,[0,c[1],on<=f[1]?[13,f[2]]:[12,f[2]]]];case 30:case 31:fGe(r);var o=31===n?1:0;return[0,[0,e,[14,[0,[1,o],o?kde:hde,mMe([0,t],[0,lGe(r)])]]]];case 74:case 102:return[0,gx(R,r)]}else switch(n[0]){case 0:var s=n[2];return[0,[0,e,[14,[0,[2,Sx(g,r,n[1],s)],s,mMe([0,t],[0,lGe(r)])]]]];case 1:var l=n[2];return[0,[0,e,[14,[0,[3,Sx(S,r,n[1],l)],l,mMe([0,t],[0,lGe(r)])]]]];case 2:var v=n[1];v[4]&&aGe(r,43),fGe(r);var D=[0,v[2]],p=mMe([0,t],[0,lGe(r)]);return[0,[0,v[1],[14,[0,D,v[3],p]]]];case 3:var b=Bx(I,r,n[1]);return[0,[0,b[1],[25,b[2]]]]}if(ZXe(r)){var F=Bx($Ge[13],0,r);return[0,[0,F[1],[10,F]]]}nGe(0,r);"number"==typeof n||6===n[0]&&fGe(r);return[0,[0,e,[14,[0,0,Ede,mMe([0,t],[0,0])]]]]})),XB(T,(function(r){return Bx(e,r,gx(x,r))})),XB(I,(function(r,e){var t=e[3],n=e[2],u=e[1],a=WXe(r);pGe(r,[3,e]);var i=[0,u,[0,[0,n[2],n[1]],t]];if(t)var c=u,f=[0,i,0],o=0;else for(var s=[0,i,0],l=0;;){var v=gx($Ge[7],r),D=[0,v,l],p=GXe(r);if("number"==typeof p)if(1===p){oGe(r,4);var b=GXe(r);if("number"==typeof b)var F=1;else if(3===b[0]){var m=b[1],d=m[3],E=m[2];fGe(r);var k=m[1],h=[0,[0,E[2],E[1]],d];sGe(r);var y=[0,[0,k,h],s];if(!d){s=y,l=D;continue}var C=wye(D),w=[0,k,wye(y),C],A=1;F=0}else F=1;if(F)throw[0,jx,bde]}else A=0;else A=0;if(!A){nGe(Fde,r);var _=[0,v[1],mde],g=wye(D),B=wye([0,_,s]);w=[0,v[1],B,g]}c=w[1],f=w[2],o=w[3];break}var S=lGe(r);return[0,lMe(u,c),[0,f,o,mMe([0,a],[0,S])]]})),XB(N,(function(r,e,t,n){var u=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,26),r,e)})),a=Bx(I,r,n);return[0,lMe(e,a[1]),[24,[0,u,a,0]]]})),XB(O,(function(r){var e=WXe(r),t=XGe(0,(function(r){pGe(r,4);var e=JXe(r),t=gx(n,r),u=GXe(r);if("number"==typeof u)if(9===u)var a=[0,Sx(j,r,e,[0,t,0])],i=1;else if(83===u)a=[1,[0,t,gx(YGe[9],r),0]],i=1;else i=0;else i=0;if(!i)a=[0,t];return pGe(r,5),a}),r),u=t[2],a=lGe(r),i=0===u[0]?u[1]:[0,t[1],[27,u[1]]];return Sx(L,[0,e],[0,a],i)})),XB(L,(function(r,e,t){var n=t[2],u=r?r[1]:r,a=e?e[1]:e;function i(r){return EMe(r,mMe([0,u],[0,a]))}function c(r){return kMe(r,mMe([0,u],[0,a]))}switch(n[0]){case 0:var f=n[1],o=c(f[2]),s=[0,[0,f[1],o]];break;case 1:var l=n[1],v=l[10],D=i(l[9]);s=[1,[0,l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8],D,v]];break;case 2:var p=n[1],b=i(p[4]);s=[2,[0,p[1],p[2],p[3],b]];break;case 3:var F=n[1],m=i(F[4]);s=[3,[0,F[1],F[2],F[3],m]];break;case 4:var d=n[1],E=i(d[4]);s=[4,[0,d[1],d[2],d[3],E]];break;case 5:var k=n[1],h=i(k[7]);s=[5,[0,k[1],k[2],k[3],k[4],k[5],k[6],h]];break;case 7:var y=n[1],C=i(y[4]);s=[7,[0,y[1],y[2],y[3],C]];break;case 8:var w=n[1],A=w[10],_=i(w[9]);s=[8,[0,w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],_,A]];break;case 10:var g=n[1],B=g[2],S=i(B[2]);s=[10,[0,g[1],[0,B[1],S]]];break;case 11:var x=n[1],T=i(x[2]);s=[11,[0,x[1],T]];break;case 12:var I=n[1],N=i(I[4]);s=[12,[0,I[1],I[2],I[3],N]];break;case 13:var O=n[1],L=i(O[4]);s=[13,[0,O[1],O[2],O[3],L]];break;case 14:var P=n[1],R=i(P[3]);s=[14,[0,P[1],P[2],R]];break;case 15:var M=n[1],j=i(M[4]);s=[15,[0,M[1],M[2],M[3],j]];break;case 16:var U=n[1],X=i(U[3]);s=[16,[0,U[1],U[2],X]];break;case 17:var G=n[1],J=i(G[3]);s=[17,[0,G[1],G[2],J]];break;case 18:var q=n[1],z=i(q[4]);s=[18,[0,q[1],q[2],q[3],z]];break;case 19:var W=n[1],V=c(W[2]);s=[19,[0,W[1],V]];break;case 20:var $=n[1],Y=$[1],H=$[2],K=i(Y[4]);s=[20,[0,[0,Y[1],Y[2],Y[3],K],H]];break;case 21:var Q=n[1],Z=Q[1],rr=Q[2],er=i(Z[3]);s=[21,[0,[0,Z[1],Z[2],er],rr]];break;case 22:var tr=n[1],nr=i(tr[2]);s=[22,[0,tr[1],nr]];break;case 23:s=[23,[0,i(n[1][1])]];break;case 24:var ur=n[1],ar=i(ur[3]);s=[24,[0,ur[1],ur[2],ar]];break;case 25:var ir=n[1],cr=i(ir[3]);s=[25,[0,ir[1],ir[2],cr]];break;case 26:s=[26,[0,i(n[1][1])]];break;case 27:var fr=n[1],or=i(fr[3]);s=[27,[0,fr[1],fr[2],or]];break;case 28:var sr=n[1],lr=i(sr[3]);s=[28,[0,sr[1],sr[2],lr]];break;case 29:var vr=n[1],Dr=i(vr[4]);s=[29,[0,vr[1],vr[2],vr[3],Dr]];break;case 30:var pr=n[1],br=pr[3],Fr=i(pr[2]);s=[30,[0,pr[1],Fr,br]];break;default:s=n}return[0,t[1],s]})),XB(P,(function(e){var n=WXe(e);pGe(e,6);for(var u=[0,0,r[3]];;){var a=u[2],i=u[1],c=GXe(e);if("number"==typeof c){if(13<=c)var f=Ve===c?1:0;else if(7<=c)switch(c-7|0){case 2:var o=JXe(e);fGe(e);u=[0,[0,[2,o],i],a];continue;case 5:var s=WXe(e),l=XGe(0,(function(e){fGe(e);var n=gx(t,e);return 0===n[0]?[0,n[1],r[3]]:[0,n[1],n[2]]}),e),v=l[2],D=v[2],p=l[1],b=mMe([0,s],0),F=[1,[0,p,[0,v[1],b]]],m=7===GXe(e)?1:0;if(m)var d=0;else if(7===UXe(1,e)){var E=[0,D[1],[0,[0,p,62],D[2]]];d=1}else d=0;if(!d)E=D;1-m&&pGe(e,9);u=[0,[0,F,i],Bx(r[4],E,a)];continue;case 0:f=1;break;default:f=0}else f=0;if(f){var k=gx(r[5],a),h=wye(i),y=WXe(e);return pGe(e,7),[0,[0,h,dMe([0,n],[0,lGe(e)],y)],k]}}var C=gx(t,e),w=0===C[0]?[0,C[1],r[3]]:[0,C[1],C[2]];7!==GXe(e)&&pGe(e,9);u=[0,[0,[0,w[1]],i],Bx(r[4],w[2],a)]}})),XB(R,(function(r){oGe(r,5);var e=JXe(r),t=WXe(r),n=GXe(r);if("number"!=typeof n&&5===n[0]){var u=n[1],a=u[3],i=u[2];fGe(r);var c=lGe(r),f=iye(Dde,iye(i,iye(vde,a)));sGe(r);var o=Kye(RS(a)),s=RS(a)-1|0;if(!(s<0))for(var l=0;;){var v=MS(a,l),D=v-103|0;if(18>>0);else switch(D){case 0:case 2:case 6:case 12:case 14:case 18:rCe(o,v)}var p=l+1|0;if(s===l)break;l=p}var b=Qye(o);return hx(b,a)&&tGe(r,[14,a]),[0,e,[14,[0,[4,[0,i,b]],f,mMe([0,t],[0,c])]]]}throw[0,jx,pde]})),XB(M,(function(r){var e=AXe(rr,r),t=JXe(e);if(11===UXe(1,e))var n=0,u=0;else{var a=gx(HGe[1],e);n=a[1],u=a[2]}var i=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(ZXe(r)&&0===e){var t=Bx($Ge[13],lde,r),n=t[1];return[0,e,[0,n,[0,0,[0,[0,n,[0,[0,n,[2,[0,t,[0,qXe(r)],0]]],0]],0],0,0]],[0,[0,n[1],n[3],n[3]]],0]}var u=Sx(HGe[4],r[18],r[17],r),a=yXe(1,r),i=gx(YGe[12],a);return[0,e,u,i[1],i[2]]}),e),c=i[2],f=c[2],o=f[2];if(o[1])var s=0;else{if(o[3])var l=1;else if(o[2])s=0,l=0;else l=1;if(l){var v=SXe(e);s=1}}if(!s)v=e;var D=f[2],p=D[1],b=p?(sXe(v,[0,p[1][1],Bb]),[0,f[1],[0,0,D[2],D[3],D[4]]]):f,F=YXe(v);(F?11===GXe(v)?1:0:F)&&tGe(v,57),pGe(v,11);var m=SXe(v),d=XGe(0,(function(r){var e=xXe(r,n,0),t=GXe(e);if("number"==typeof t&&0===t){var u=Bx($Ge[16],1,e);return[0,[0,[0,u[1],u[2]]],u[3]]}return[0,[1,gx($Ge[10],e)],e[6]]}),m),E=d[2],k=gx(HGe[6],b);Tx(HGe[7],m,E[2],k,0,b);var h=lMe(t,d[1]),y=i[1],C=mMe([0,u],0);return[0,[0,h,[1,[0,0,b,E[1],n,0,c[4],c[3],c[1],C,y]]]]})),XB(j,(function(r,e,t){return XGe([0,e],(function(r){for(var e=t;;){var u=GXe(r);if("number"!=typeof u||9!==u)return[22,[0,wye(e),0]];fGe(r);e=[0,gx(n,r),e]}}),r)})),XB(U,(function(r){var e=JXe(r),t=XGe(0,(function(r){var e=GXe(r);if("number"==typeof e)if(14===e){var t=WXe(r);fGe(r);var n=1,u=t,a=1}else a=0;else a=0;if(!a)n=0,u=0;return[0,n,jGe(r),u]}),r),n=t[2],u=n[2],a=n[1],i=t[1];return(a?px(e[3],u[1][2]):a)&&sXe(r,[0,i,EE]),[0,i,u,a,n[3]]})),[0,n,t,f,U,function(r){var e=r[2];switch(e[0]){case 17:var t=e[1];if(!hx(t[1][2][1],$Ee)){var n=hx(t[2][2][1],YEe);if(!n)return n}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1},F,g,j]}(KGe),ZGe=function(r){function e(r){var e=WXe(r);fGe(r);var t=mMe([0,e],0),n=gx(QGe[6],r);return[0,Bx((YXe(r)?wGe(r):CGe(r))[2],n,(function(r,e){return Bx(wS(r,LD,78),r,e)})),t]}function t(r){var t=r[26][4];if(t)for(var n=0;;){var u=GXe(r);if("number"!=typeof u||13!==u)return wye(n);n=[0,XGe(0,e,r),n]}return t}function n(r,e){var t=r?r[1]:r,n=WXe(e),u=GXe(e);if("number"==typeof u)switch(u){case 6:var a=XGe(0,(function(r){var e=WXe(r);pGe(r,6);var t=hXe(0,r),n=gx($Ge[10],t);return pGe(r,7),[0,n,mMe([0,e],[0,lGe(r)])]}),e),i=a[1];return[0,i,[3,[0,i,a[2]]]];case 14:if(t){var c=gx(QGe[4],e),f=c[2],o=c[1],s=pMe(f),l=e[28][1];if(l){var v=l[1],D=l[2],p=v[2],b=[0,[0,Bx(uXe[4],s,v[1]),p],D];e[28][1]=b}else nye($ue);return[0,o,[2,[0,o,[0,f,mMe([0,c[4]],0)]]]]}}else switch(u[0]){case 0:var F=u[2],m=JXe(e);return[0,m,[0,[0,m,[0,[2,Sx(QGe[7],e,u[1],F)],F,mMe([0,n],[0,lGe(e)])]]]];case 2:var d=u[1],E=d[4],k=d[3],h=d[2],y=d[1];return E&&aGe(e,43),pGe(e,[2,[0,y,h,k,E]]),[0,y,[0,[0,y,[0,[0,h],k,mMe([0,n],[0,lGe(e)])]]]]}var C=gx(QGe[4],e),w=C[1];return C[3]&&sXe(e,[0,w,88]),[0,w,[1,C[2]]]}function u(r,e,t){var u=gx(HGe[2],r),a=u[1],i=u[2],c=n([0,e],r),f=c[1];return[0,TGe(r,c[2]),XGe(0,(function(r){var e=dXe(1,r),n=XGe(0,(function(r){var e=Sx(HGe[4],0,0,r),n=83===GXe(r)?e:SGe(r,e);if(0===t){var u=n[2];if(u[1])sXe(r,[0,f,Uu]);else{var a=u[2];(a?a[2]||u[3]?0:1:0)||(u[3],sXe(r,[0,f,79]))}}else{var i=n[2];if(i[1])sXe(r,[0,f,Ma]);else(i[2]||i[3]?0:1)||sXe(r,[0,f,78])}return[0,0,n,BGe(r,gx(YGe[10],r))]}),e),u=n[2],c=u[2],o=xx(HGe[5],e,0,a,0),s=gx(HGe[6],c);Tx(HGe[7],e,o[2],s,0,c);var l=n[1],v=mMe([0,i],0);return[0,0,c,o[1],0,a,0,u[3],u[1],v,l]}),r)]}function a(e){var t=gx(QGe[2],e);return 0===t[0]?[0,t[1],r[3]]:[0,t[1],t[2]]}function i(r,e,t){function n(n){var u=dXe(1,n),a=XGe(0,(function(t){var n=gGe(t,gx(YGe[3],t));if(0===r)if(0===e)var u=0,a=0;else u=1,a=0;else if(0===e)u=0,a=t[18];else u=1,a=1;var i=Sx(HGe[4],a,u,t);return[0,n,83===GXe(t)?i:SGe(t,i),BGe(t,gx(YGe[10],t))]}),u),i=a[2],c=i[2],f=xx(HGe[5],u,r,e,0),o=gx(HGe[6],c);Tx(HGe[7],u,f[2],o,0,c);var s=a[1],l=mMe([0,t],0);return[0,0,c,f[1],r,e,0,i[3],i[1],l,s]}return function(r){return XGe(0,n,r)}}function c(r){return pGe(r,83),a(r)}function f(e,t,n,u,a,f){var o=XGe([0,t],(function(e){if(!u&&!a){var t=GXe(e);if("number"==typeof t){if(79===t){if(1===n[0])var o=n[1],s=JXe(e),l=[0,XGe([0,o[1]],(function(r){var e=WXe(r);pGe(r,79);var t=lGe(r);return[2,[0,0,Bx($Ge[19],r,[0,o[1],[10,o]]),gx($Ge[10],r),mMe([0,e],[0,t])]]}),e),[0,[0,[0,s,[11,BMe(mke)]],0],0]];else l=c(e);return[0,[0,n,l[1],1],l[2]]}if(95===t)var v=1;else if(10<=t)v=0;else switch(t){case 4:v=1;break;case 1:case 9:switch(n[0]){case 0:var D=n[1],p=D[1];sXe(e,[0,p,94]);var b=[0,p,[14,D[2]]];break;case 1:var F=n[1],m=F[2][1],d=F[1];(MXe(m)&&hx(m,dke)&&hx(m,Eke)?(sXe(e,[0,d,2]),1):0)||OXe(m)&&iGe(e,[0,d,52]);b=[0,d,[10,F]];break;case 2:b=nye(kke);break;default:var E=n[1][2][1];sXe(e,[0,E[1],95]);b=E}return[0,[0,n,b,1],r[3]];default:v=0}if(v)return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}var k=c(e);return[0,[0,n,k[1],0],k[2]]}return[0,[1,TGe(e,n),gx(i(u,a,f),e)],r[3]]}),e),s=o[2];return[0,[0,[0,o[1],s[1]]],s[2]]}function o(r,e,t,n){var u=t[2][1][2][1],a=t[1];if(Ex(u,vke))return sXe(r,[0,a,[21,u,0,1]]),e;var i=Bx(qGe[28],u,e);if(i){var c=i[1];return(Rv===n?Hn===c?1:0:Hn===n&&Rv===c?1:0)||sXe(r,[0,a,[20,u]]),Sx(qGe[4],u,Ed,e)}return Sx(qGe[4],u,n,e)}function s(r,e){return XGe(0,(function(r){var t=e?WXe(r):e;pGe(r,52);for(var n=0;;){var u=[0,XGe(0,(function(r){var e=gx(YGe[2],r);if(95===GXe(r))var t=Bx(AGe(r)[2],e,(function(r,e){return Bx(wS(r,sB,79),r,e)}));else t=e;return[0,t,gx(YGe[4],r)]}),r),n],a=GXe(r);if("number"!=typeof a||9!==a)return[0,wye(u),mMe([0,t],0)];pGe(r,9);n=u}}),r)}function l(r,e){return e?sXe(r,[0,e[1][1],7]):e}function v(r,e){return e?sXe(r,[0,e[1],65]):e}function D(r,e,t,n,u,a,i){var c=XGe([0,e],(function(r){var e=gx(YGe[10],r),a=r[26],c=GXe(r);if(u){if("number"==typeof c)if(79===c){tGe(r,66),fGe(r);var f=0,o=1}else o=0;else o=0;if(!o)f=0}else{if("number"==typeof c)if(79===c){if(n&&a[3]?1:0)var s=1;else{if(n)var l=1;else if(a[2])s=1,l=0;else l=1;if(l){f=1;var v=1;s=0}}if(s){pGe(r,79);var D=dXe(1,r);f=[0,gx($Ge[7],D)],v=1}}else v=0;else v=0;if(!v)f=1}var p=GXe(r);if("number"==typeof p)if(9<=p)var b=0;else switch(p){case 8:fGe(r);var F=GXe(r);if("number"==typeof F){if(1===F)var m=1;else if(Ve===F)m=1;else{var d=0;m=0}if(m){var E=lGe(r);d=1}}else d=0;if(!d){var k=YXe(r);E=k?vGe(r):k}var h=[0,t,e,f,E];b=1;break;case 4:case 6:nGe(0,r);h=[0,t,e,f,0],b=1;break;default:b=0}else b=0;if(!b){var y=GXe(r);if("number"==typeof y){if(1===y)var C=1;else if(Ve===y)C=1;else{var w=0;C=0}if(C){var A=[0,0,function(r,e){return r}];w=1}}else w=0;if(!w)A=YXe(r)?wGe(r):CGe(r);if("number"==typeof f)if(0===e[0])var _=Bx(A[2],t,(function(r,e){return Bx(wS(r,Iw,82),r,e)})),g=e,B=f;else _=t,g=[1,Bx(A[2],e[1],(function(r,e){return Bx(wS(r,zv,83),r,e)}))],B=f;else _=t,g=e,B=[0,Bx(A[2],f[1],(function(r,e){return Bx(wS(r,LD,84),r,e)}))];h=[0,_,g,B,0]}var S=mMe([0,i],[0,h[4]]);return[0,h[1],h[2],h[3],S]}),r),f=c[2],o=f[4],s=f[3],l=f[2],v=f[1],D=c[1];return 2===v[0]?[2,[0,D,[0,v[1],s,l,n,a,o]]]:[1,[0,D,[0,v,s,l,n,a,o]]]}function p(r,e,t,n,u,a,i,c,f,o){for(;;){var s=GXe(r);if("number"==typeof s){var p=s-1|0;if(7

>>0){var b=p-78|0;if(4>>0)var F=1;else switch(b){case 3:nGe(0,r),fGe(r);continue;case 0:case 4:F=0;break;default:F=1}}else F=5<(p-1|0)>>>0?0:1;if(!F&&!u&&!a)return D(r,e,n,i,c,f,o)}if(KXe(r))return D(r,e,n,i,c,f,o);if(v(r,c),l(r,f),0===i){switch(n[0]){case 0:var m=n[1][2][1];if("number"==typeof m)var d=1;else if(0===m[0])if(hx(m[1],ake)){var E=0,k=0;d=0}else k=1,d=0;else d=1;if(d)E=0,k=0;break;case 1:if(hx(n[1][2][1],ike))E=0,k=0;else k=1;break;default:E=0,k=0}if(k){var h=0,y=dXe(2,r);E=1}}else E=0;if(!E)h=1,y=dXe(1,r);var C=TGe(y,n),w=XGe(0,(function(r){var e=XGe(0,(function(r){var e=gGe(r,gx(YGe[3],r));if(0===u)if(0===a)var t=0,n=0;else t=1,n=0;else if(0===a)t=0,n=r[18];else t=1,n=1;var i=Sx(HGe[4],n,t,r),c=83===GXe(r)?i:SGe(r,i),f=c[2],o=f[1];if(o)if(0===h){sXe(r,[0,o[1][1],ak]);var s=[0,c[1],[0,0,f[2],f[3],f[4]]],l=1}else l=0;else l=0;if(!l)s=c;return[0,e,s,BGe(r,gx(YGe[10],r))]}),r),t=e[2],n=t[2],i=xx(HGe[5],r,u,a,0),c=gx(HGe[6],n);return Tx(HGe[7],r,i[2],c,0,n),[0,0,n,i[1],u,a,0,t[3],t[1],0,e[1]]}),y),A=[0,h,C,w,i,t,mMe([0,o],0)];return[0,[0,lMe(e,w[1]),A]]}}function b(r,e){var t=UXe(r,e);if("number"==typeof t){if(83<=t)var n=95===t?1:84<=t?0:1;else if(79===t)n=1;else if(9<=t)n=0;else switch(t){case 1:case 4:case 8:n=1;break;default:n=0}if(n)return 1}return 0}function F(r){return b(0,r)}function m(r,e,a,i){var c=r?r[1]:r,f=pXe(1,e),D=fye(c,t(f)),m=WXe(f);pGe(f,40);var d=EXe(1,f),E=GXe(d);if(0===a)var k=0;else if("number"==typeof E){if(52<=E)if(95===E)var h=1;else if(53<=E)k=0,h=0;else h=1;else if(41===E)h=1;else if(0===E)h=1;else k=0,h=0;if(h){var y=0;k=1}}else k=0;if(!k){var C=Bx($Ge[13],0,d);y=[0,Bx(AGe(f)[2],C,(function(r,e){return Bx(wS(r,sB,85),r,e)}))]}var w=gx(YGe[3],f);if(w)var A=[0,Bx(AGe(f)[2],w[1],(function(r,e){return Bx(wS(r,iE,86),r,e)}))];else A=w;var _=WXe(f),g=FGe(f,41);if(g)var B=XGe(0,(function(r){var e=bXe(0,r),t=gx(QGe[6],e);if(95===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){return Bx(wS(r,LD,80),r,e)}));else n=t;return[0,n,gx(YGe[4],r),mMe([0,_],0)]}),f),S=B[1],x=AGe(f),T=[0,[0,S,Bx(x[2],B[2],(function(r,e){return Sx(wS(r,-663447790,81),r,S,e)}))]];else T=g;var I=52===GXe(f)?1:0;if(I){1-oXe(f)&&tGe(f,16);var N=[0,NGe(f,s(f,1))]}else N=I;return[0,y,XGe(0,(function(r){var e=WXe(r);if(FGe(r,0)){r[28][1]=[0,[0,uXe[1],0],r[28][1]];for(var a=0,c=qGe[1],f=0;;){var s=GXe(r);if("number"==typeof s){var D=s-2|0;if(Uu>>0){if(!(ak<(D+1|0)>>>0)){var m=wye(f),d=function(r,e){return gx(Nye((function(e){return 1-Bx(uXe[3],e[1],r)})),e)},E=r[28][1];if(E){var k=E[2],h=E[1],y=h[2],C=h[1];if(k){var w=d(C,y),A=hye(k),_=yye(k),g=fye(A[2],w);r[28][1]=[0,[0,A[1],g],_]}else{Bye((function(e){return sXe(r,[0,e[2],[22,e[1]]])}),d(C,y)),r[28][1]=0}}else nye(Yue);pGe(r,1);var B=GXe(r);if(0===i){if("number"==typeof B)if(1===B)var S=0,x=0;else if(Ve===B)S=0,x=0;else x=1;else x=1;if(x){var T=YXe(r);if(T){var I=vGe(r);S=1}else I=T,S=1}}else S=0;if(!S)I=lGe(r);return[0,m,mMe([0,e],[0,I])]}}else if(6===D){pGe(r,8);continue}}var N=JXe(r),O=t(r),L=GXe(r);if("number"==typeof L)if(60===L)if(b(1,r))var P=0;else{var R=[0,JXe(r)],M=WXe(r);fGe(r);var j=R,U=M;P=1}else P=0;else P=0;if(!P)j=0,U=0;var X=4!==UXe(1,r)?1:0;if(X)var G=95!==UXe(1,r)?1:0,J=G?42===GXe(r)?1:0:G;else J=X;if(J){var q=WXe(r);fGe(r);var z=q}else z=J;var W=64===GXe(r)?1:0;if(W)var V=1-b(1,r),$=V?1-$Xe(1,r):V;else $=W;if($){var Y=WXe(r);fGe(r);var H=Y}else H=$;var K=gx(HGe[2],r),Q=K[1],Z=Sx(HGe[3],r,$,Q);if(0===Q)if(Z)var rr=gx(HGe[2],r),er=rr[1],tr=rr[2],nr=1;else nr=0;else nr=0;if(!nr)er=Q,tr=K[2];var ur=Aye([0,U,[0,z,[0,H,[0,tr,0]]]]),ar=GXe(r);if(0===$)if(0===er)if("number"==typeof ar)var ir=0;else if(4===ar[0]){var cr=ar[3];if(hx(cr,cke))if(hx(cr,fke))ir=0;else{var fr=WXe(r),or=n(oke,r)[2];if(F(r)){var sr=p(r,N,O,or,$,er,J,j,Z,ur);ir=1}else{v(r,j),l(r,Z),TGe(r,or);var lr=fye(ur,fr),vr=XGe([0,N],(function(r){return u(r,1,0)}),r),Dr=vr[2],pr=mMe([0,lr],0);sr=[0,[0,vr[1],[0,3,Dr[1],Dr[2],J,O,pr]]],ir=1}}else{var br=WXe(r),Fr=n(ske,r)[2];if(F(r))sr=p(r,N,O,Fr,$,er,J,j,Z,ur),ir=1;else{v(r,j),l(r,Z),TGe(r,Fr);var mr=fye(ur,br),dr=XGe([0,N],(function(r){return u(r,1,1)}),r),Er=dr[2],kr=mMe([0,mr],0);sr=[0,[0,dr[1],[0,2,Er[1],Er[2],J,O,kr]]],ir=1}}}else ir=0;else ir=0;else ir=0;if(!ir)sr=p(r,N,O,n(lke,r)[2],$,er,J,j,Z,ur);switch(sr[0]){case 0:var hr=sr[1],yr=hr[2],Cr=hr[1];switch(yr[1]){case 0:if(yr[4])var wr=[0,a,c];else{a&&sXe(r,[0,Cr,85]);wr=[0,1,c]}break;case 1:2===yr[2][0]&&sXe(r,[0,Cr,86]);wr=[0,a,c];break;case 2:var Ar=yr[2];wr=[0,a,2===Ar[0]?o(r,c,Ar[1],Rv):c];break;default:var _r=yr[2];wr=[0,a,2===_r[0]?o(r,c,_r[1],Hn):c]}var gr=wr;break;case 1:var Br=sr[1][2],Sr=Br[1];switch(Sr[0]){case 0:var xr=Sr[1],Tr=xr[2][1];if("number"==typeof Tr)var Ir=1;else if(0===Tr[0]){var Nr=Tr[1],Or=xr[1],Lr=0;Ir=0}else Ir=1;if(Ir)Lr=1;break;case 1:var Pr=Sr[1];Nr=Pr[2][1],Or=Pr[1],Lr=0;break;case 2:nye(nke);Lr=2;break;default:Lr=1}switch(Lr){case 0:var Rr=Br[4],Mr=Ex(Nr,Dke);if(Mr)var jr=Mr;else{var Ur=Ex(Nr,pke);jr=Ur?Rr:Ur}jr&&sXe(r,[0,Or,[21,Nr,Rr,0]])}gr=[0,a,c];break;default:gr=[0,a,o(r,c,sr[1][2][1],Ed)]}a=gr[1],c=gr[2],f=[0,sr,f]}}return DGe(r,0),uke}),f),A,T,N,D,mMe([0,m],0)]}function d(r){return[5,m(0,r,1,1)]}return[0,n,function(e){var t=XGe(0,(function(e){var t=WXe(e);pGe(e,0);for(var i=0,c=[0,0,r[3]];;){var o=c[2],s=c[1],l=GXe(e);if("number"==typeof l)if(1===l||Ve===l?1:0){var v=i?[0,o[1],[0,[0,i[1],97],o[2]]]:o,D=gx(r[5],v),p=wye(s),b=WXe(e);return pGe(e,1),[0,[0,p,dMe([0,t],[0,lGe(e)],b)],D]}if(12===GXe(e))var F=WXe(e),m=XGe(0,(function(r){return pGe(r,12),a(r)}),e),d=m[2],E=d[2],k=mMe([0,F],0),h=[0,[1,[0,m[1],[0,d[1],k]]],E];else{var y=JXe(e),C=UXe(1,e);if("number"==typeof C){if(83<=C)if(95===C)var w=1;else if(84<=C){var A=0;w=0}else w=1;else if(79===C)w=1;else if(10<=C)A=0,w=0;else switch(C){case 1:case 4:case 9:w=1;break;default:A=0,w=0}if(w){var _=0,g=0;A=1}}else A=0;if(!A){var B=gx(HGe[1],e);_=B[1],g=B[2]}var S=gx(HGe[2],e),x=S[1],T=fye(g,S[2]),I=GXe(e);if(0===_)if(0===x)if("number"==typeof I)var N=0;else if(4===I[0]){var O=I[3];if(hx(O,bke))if(hx(O,Fke))N=0;else{var L=WXe(e),P=n(0,e)[2],R=GXe(e);if("number"==typeof R){if(83<=R)if(95===R)var M=1;else if(84<=R){var j=1;M=0}else M=1;else if(79===R)M=1;else if(10<=R)j=1,M=0;else switch(R){case 1:case 4:case 9:M=1;break;default:j=1,M=0}if(M)h=f(e,y,P,0,0,0),N=1,j=0}else j=1;if(j){TGe(e,P);var U=r[3],X=XGe([0,y],(function(r){return u(r,0,0)}),e),G=X[2],J=mMe([0,L],0);h=[0,[0,[0,X[1],[3,G[1],G[2],J]]],U],N=1}}else{var q=WXe(e),z=n(0,e)[2],W=GXe(e);if("number"==typeof W){if(83<=W)if(95===W)var V=1;else if(84<=W){var $=1;V=0}else V=1;else if(79===W)V=1;else if(10<=W)$=1,V=0;else switch(W){case 1:case 4:case 9:V=1;break;default:$=1,V=0}if(V)h=f(e,y,z,0,0,0),N=1,$=0}else $=1;if($){TGe(e,z);var Y=r[3],H=XGe([0,y],(function(r){return u(r,0,1)}),e),K=H[2],Q=mMe([0,q],0);h=[0,[0,[0,H[1],[2,K[1],K[2],Q]]],Y],N=1}}}else N=0;else N=0;else N=0;if(!N)h=f(e,y,n(0,e)[2],_,x,T)}var Z=h[1];if(1===Z[0])if(9===GXe(e))var rr=[0,JXe(e)],er=1;else er=0;else er=0;if(!er)rr=0;var tr=GXe(e);if("number"==typeof tr){if(1===tr)var nr=1;else if(Ve===tr)nr=1;else{var ur=0;nr=0}if(nr)ur=1}else ur=0;ur||pGe(e,9);i=rr,c=[0,[0,Z,s],Bx(r[4],h[2],o)]}}),e),i=t[2];return[0,t[1],i[1],i[2]]},function(r,e){return XGe(0,(function(r){return[2,m([0,e],r,r[7],0)]}),r)},function(r){return XGe(0,d,r)},s,t]}(KGe),rJe=function(r){function e(r){var e=gx(HGe[11],r);if(r[6])cGe(r,e[1]);else{var t=e[2],n=e[1];if(23===t[0]){var u=t[1];0===u[4]?0===u[5]||sXe(r,[0,n,59]):sXe(r,[0,n,58])}}return e}function t(r,e,t){var n=t[2][1],u=t[1];if(hx(n,Che)){if(hx(n,whe))return hx(n,Ahe)?OXe(n)?iGe(e,[0,u,52]):MXe(n)?sXe(e,[0,u,[11,BMe(n)]]):r&&PXe(n)?iGe(e,[0,u,r[1]]):0:e[17]?sXe(e,[0,u,2]):iGe(e,[0,u,52]);if(e[6])return iGe(e,[0,u,52]);var a=e[14];return a?sXe(e,[0,u,[11,BMe(n)]]):a}var i=e[18];return i?sXe(e,[0,u,2]):i}function n(r,e){var t=e[4],n=e[3],u=e[2],a=e[1];t&&aGe(r,43);var i=WXe(r);return pGe(r,[2,[0,a,u,n,t]]),[0,a,[0,u,n,mMe([0,i],[0,lGe(r)])]]}function u(r,e,t){var n=r?r[1]:khe,u=e?e[1]:1,a=GXe(t);if("number"==typeof a){var i=a-2|0;if(Uu>>0){if(!(ak<(i+1|0)>>>0)){return[1,[0,lGe(t),function(r,e){return r}]]}}else if(6===i){fGe(t);var c=GXe(t);if("number"==typeof c)if(1===c||Ve===c?1:0)return[0,lGe(t)];return YXe(t)?[0,vGe(t)]:hhe}}return YXe(t)?[1,wGe(t)]:(u&&nGe([0,n],t),yhe)}function a(r){var e=GXe(r);if("number"==typeof e&&(1===e||Ve===e?1:0)){return[0,lGe(r),function(r,e){return r}]}return YXe(r)?wGe(r):CGe(r)}function i(r,e,t){var n=u(0,0,e);if(0===n[0])return[0,n[1],t];var a=wye(t);if(a)var i=wye([0,Bx(n[1][2],a[1],(function(e,t){return Sx(wS(e,634872468,87),e,r,t)})),a[2]]);else i=a;return[0,0,i]}var c=function r(e){return r.fun(e)},f=function r(e){return r.fun(e)},o=function r(e){return r.fun(e)},s=function r(e){return r.fun(e)},l=function r(e){return r.fun(e)},v=function r(e,t){return r.fun(e,t)},D=function r(e){return r.fun(e)},p=function r(e){return r.fun(e)},b=function r(e,t,n){return r.fun(e,t,n)},F=function r(e){return r.fun(e)},m=function r(e){return r.fun(e)},d=function r(e,t){return r.fun(e,t)},E=function r(e){return r.fun(e)},k=function r(e){return r.fun(e)},h=function r(e,t){return r.fun(e,t)},y=function r(e){return r.fun(e)},C=function r(e,t){return r.fun(e,t)},w=function r(e){return r.fun(e)},A=function r(e,t){return r.fun(e,t)},_=function r(e){return r.fun(e)},g=function r(e,t){return r.fun(e,t)},B=function r(e,t){return r.fun(e,t)},S=function r(e,t){return r.fun(e,t)},x=function r(e){return r.fun(e)},T=function r(e){return r.fun(e)},I=function r(e){return r.fun(e)},N=function r(e,t,n){return r.fun(e,t,n)},O=function r(e,t){return r.fun(e,t)},L=function r(e){return r.fun(e)},P=function r(e){return r.fun(e)};function R(r){var e=WXe(r);pGe(r,59);var t=8===GXe(r)?1:0,n=t?lGe(r):t,a=u(0,0,r),i=0===a[0]?a[1]:a[1][1];return[4,[0,mMe([0,e],[0,fye(n,i)])]]}function M(r){var e=WXe(r);pGe(r,37);var t=kXe(1,r),n=gx($Ge[2],t),a=1-r[6];(a?UGe(n):a)&&cGe(r,n[1]);var i=lGe(r);pGe(r,25);var c=lGe(r);pGe(r,4);var f=gx($Ge[7],r);pGe(r,5);var o=8===GXe(r)?1:0,s=o?lGe(r):o,l=u(0,Ehe,r),v=0===l[0]?fye(s,l[1]):l[1][1];return[14,[0,n,f,mMe([0,e],[0,fye(i,fye(c,v))])]]}function j(r,e,t){var n=t[2][1];if(n&&!n[1][2][2]){var u=n[2];if(!u)return u}return sXe(r,[0,t[1],e])}function U(r,e){var t=1-r[6],n=t?UGe(e):t;return n?cGe(r,e[1]):n}function X(e){var t=WXe(e);pGe(e,39);var n=e[18],u=n?FGe(e,65):n,a=fye(t,WXe(e));pGe(e,4);var i=mMe([0,a],0),c=hXe(1,e),f=GXe(c);if("number"==typeof f)if(24<=f)if(29<=f)var o=0;else{switch(f-24|0){case 0:var s=XGe(0,HGe[10],c),l=s[2],v=l[3],D=mMe([0,l[2]],0),p=[0,[0,[1,[0,s[1],[0,l[1],0,D]]]],v],b=1;break;case 3:var F=XGe(0,HGe[9],c),m=F[2],d=m[3],E=mMe([0,m[2]],0);p=[0,[0,[1,[0,F[1],[0,m[1],2,E]]]],d],b=1;break;case 4:var k=XGe(0,HGe[8],c),h=k[2],y=h[3],C=mMe([0,h[2]],0);p=[0,[0,[1,[0,k[1],[0,h[1],1,C]]]],y],b=1;break;default:o=0,b=0}if(b){var w=p[1],A=p[2];o=1}}else if(8===f)w=0,A=0,o=1;else o=0;else o=0;if(!o){var _=EXe(1,c);w=[0,[0,gx($Ge[8],_)]],A=0}var g=GXe(e);if(63!==g&&!u){if("number"==typeof g&&17===g){if(w){var B=w[1];if(0===B[0])var S=[1,Sx(r[2],mhe,e,B[1])];else{var x=B[1];j(e,28,x);S=[0,x]}pGe(e,17);var T=gx($Ge[7],e);pGe(e,5);var I=kXe(1,e),N=gx($Ge[2],I);return U(e,N),[21,[0,S,T,N,0,i]]}throw[0,jx,dhe]}if(Bye((function(r){return sXe(e,r)}),A),pGe(e,8),w)var O=w[1],L=0===O[0]?[0,[1,Bx(r[1],e,O[1])]]:[0,[0,O[1]]];else L=w;var P=GXe(e);if("number"==typeof P){var R=8!==P?1:0;if(R)var M=0;else{var X=R;M=1}}else M=0;if(!M)X=[0,gx($Ge[7],e)];pGe(e,8);var G=GXe(e);if("number"==typeof G){var J=5!==G?1:0;if(J)var q=0;else{var z=J;q=1}}else q=0;if(!q)z=[0,gx($Ge[7],e)];pGe(e,5);var W=kXe(1,e),V=gx($Ge[2],W);return U(e,V),[20,[0,L,X,z,V,i]]}if(w){var $=w[1];if(0===$[0])var Y=[1,Sx(r[2],bhe,e,$[1])];else{var H=$[1];j(e,29,H);Y=[0,H]}pGe(e,63);var K=gx($Ge[10],e);pGe(e,5);var Q=kXe(1,e),Z=gx($Ge[2],Q);return U(e,Z),[22,[0,Y,K,Z,u,i]]}throw[0,jx,Fhe]}function G(r){var t=rGe(r)?e(r):gx($Ge[2],r),n=1-r[6];return(n?UGe(t):n)&&cGe(r,t[1]),t}function J(r){var e=WXe(r);return pGe(r,43),[0,G(r),mMe([0,e],0)]}function q(r){var e=WXe(r);pGe(r,16);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=G(r),a=43===GXe(r)?1:0;return[24,[0,n,u,a?[0,XGe(0,J,r)]:a,mMe([0,t],0)]]}function z(r){1-r[11]&&tGe(r,35);var e=WXe(r);pGe(r,19);var t=8===GXe(r)?1:0,n=t?lGe(r):t;if(8===GXe(r))var a=0;else if(KXe(r))a=0;else{var i=[0,gx($Ge[7],r)];a=1}if(!a)i=0;var c=u(0,0,r);if(0===c[0])var f=c[1],o=0;else{var s=c[1];if(i){var l=n,v=[0,Bx(s[2],i[1],(function(r,e){return Bx(wS(r,LD,88),r,e)}))];o=1}else f=s[1],o=0}if(!o)l=fye(n,f),v=i;return[28,[0,v,mMe([0,e],[0,l])]]}function W(r){var e=WXe(r);pGe(r,20),pGe(r,4);var t=gx($Ge[7],r);pGe(r,5),pGe(r,0);for(var n=phe;;){var u=n[2],i=n[1],c=GXe(r);if("number"==typeof c)if(1===c||Ve===c?1:0){var f=wye(u);return pGe(r,1),[29,[0,t,f,mMe([0,e],[0,a(r)[1]])]]}var o=JXe(r),s=WXe(r),l=GXe(r);if("number"==typeof l)if(36===l){i&&tGe(r,31),pGe(r,36);var v=0,D=lGe(r),p=1}else p=0;else p=0;if(!p){pGe(r,33);v=[0,gx($Ge[7],r)],D=0}var b=i||(0===v?1:0),F=JXe(r);pGe(r,83);var m=fye(D,a(r)[1]),d=Bx($Ge[4],(function(r){if("number"==typeof r){var e=r-1|0;if(32>>0?35===e?1:0:30<(e-1|0)>>>0?1:0)return 1}return 0}),[0,r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],1,r[10],r[11],r[12],r[13],r[14],r[15],r[16],r[17],r[18],r[19],r[20],r[21],r[22],r[23],r[24],r[25],r[26],r[27],r[28],r[29]]),E=wye(d),k=E?E[1][1]:F,h=[0,v,d,mMe([0,s],[0,m])];n=[0,b,[0,[0,lMe(o,k),h],u]]}}function V(r){var e=WXe(r),t=JXe(r);pGe(r,22),YXe(r)&&sXe(r,[0,t,21]);var n=gx($Ge[7],r),a=u(0,0,r);if(0===a[0])var i=[0,a[1],n];else i=[0,0,Bx(a[1][2],n,(function(r,e){return Bx(wS(r,LD,89),r,e)}))];var c=mMe([0,e],[0,i[1]]);return[30,[0,i[2],c]]}function $(r){var e=WXe(r);pGe(r,23);var t=gx($Ge[15],r);if(34===GXe(r))var n=Bx(AGe(r)[2],t,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,27),r,t,e[2])]}));else n=t;var u=GXe(r);if("number"==typeof u)if(34===u)var i=[0,XGe(0,(function(r){var e=WXe(r);pGe(r,34);var t=lGe(r),n=4===GXe(r)?1:0;if(n){pGe(r,4);var u=[0,Bx($Ge[18],r,38)];pGe(r,5);var i=u}else i=n;var c=gx($Ge[15],r);if(38===GXe(r))var f=c;else f=Bx(a(r)[2],c,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,uD,90),r,t,e[2])]}));return[0,i,f,mMe([0,e],[0,t])]}),r)],c=1;else c=0;else c=0;if(!c)i=0;var f=GXe(r);if("number"==typeof f)if(38===f){pGe(r,38);var o=gx($Ge[15],r),s=o[1],l=a(r),v=[0,[0,s,Bx(l[2],o[2],(function(r,e){return Sx(wS(r,uD,91),r,s,e)}))]],D=1}else D=0;else D=0;if(!D)v=0;var p=0===i?1:0;return(p?0===v?1:0:p)&&sXe(r,[0,n[1],32]),[31,[0,n,i,v,mMe([0,e],0)]]}function Y(r){var e=gx(HGe[10],r),t=i(0,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],0,n]]}function H(r){var e=gx(HGe[9],r),t=i(2,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],2,n]]}function K(r){var e=gx(HGe[8],r),t=i(1,r,e[1]);Bye((function(e){return sXe(r,e)}),e[3]);var n=mMe([0,e[2]],[0,t[1]]);return[34,[0,t[2],1,n]]}function Q(r){var e=WXe(r);pGe(r,25);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=kXe(1,r),a=gx($Ge[2],u),i=1-r[6];return(i?UGe(a):i)&&cGe(r,a[1]),[35,[0,n,a,mMe([0,t],0)]]}function Z(r){var t=WXe(r),n=gx($Ge[7],r),a=GXe(r),i=n[2];if(10===i[0]&&"number"==typeof a&&83===a){var c=i[1],f=c[2][1];pGe(r,83),Bx(WGe[3],f,r[3])&&sXe(r,[0,n[1],[16,vhe,f]]);var o=r[29],s=r[28],l=r[27],v=r[26],D=r[25],p=r[24],b=r[23],F=r[22],m=r[21],d=r[20],E=r[19],k=r[18],h=r[17],y=r[16],C=r[15],w=r[14],A=r[13],_=r[12],g=r[11],B=r[10],S=r[9],x=r[8],T=r[7],I=r[6],N=r[5],O=r[4],L=Bx(uXe[4],f,r[3]),P=[0,r[1],r[2],L,O,N,I,T,x,S,B,g,_,A,w,C,y,h,k,E,d,m,F,b,p,D,v,l,s,o];return[27,[0,c,rGe(P)?e(P):gx($Ge[2],P),mMe([0,t],0)]]}var R=u(Dhe,0,r);if(0===R[0])var M=[0,R[1],n];else M=[0,0,Bx(R[1][2],n,(function(r,e){return Bx(wS(r,LD,92),r,e)}))];var j=mMe(0,[0,M[1]]);return[19,[0,M[2],0,j]]}function rr(r){var e=gx($Ge[7],r),t=u(lhe,0,r);if(0===t[0])var n=[0,t[1],e];else n=[0,0,Bx(t[1][2],e,(function(r,e){return Bx(wS(r,LD,93),r,e)}))];var a=n[2],i=r[19];if(i){var c=a[2];if(14===c[0]){var f=c[1],o=f[1];if("number"==typeof o)var s=1;else if(0===o[0]){var l=f[2],v=[0,Gye(l,1,RS(l)-2|0)],D=1;s=0}else s=1;if(s)D=0}else D=0;if(!D)v=0;var p=v}else p=i;return[19,[0,a,p,mMe(0,[0,n[1]])]]}function er(r){return XGe(0,rr,r)}function tr(r,e){var t=e[2];switch(t[0]){case 0:return Sye((function(r,e){return tr(r,0===e[0]?e[1][2][2]:e[1][2][1])}),r,t[1][1]);case 1:return Sye((function(r,e){return 2===e[0]?r:tr(r,e[1][2][1])}),r,t[1][1]);case 2:return[0,t[1][1],r];default:return nye(she)}}function nr(r){bGe(r,che);var e=GXe(r);if("number"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),fhe];return nGe(ohe,r),t}function ur(r,e,t){function n(e){return r?gx(YGe[2],e):Bx($Ge[13],0,e)}var u=UXe(1,t);if("number"==typeof u)switch(u){case 1:case 9:case 110:return[0,n(t),0]}else if(4===u[0]&&!hx(u[3],ihe)){var a=jGe(t);return fGe(t),[0,a,[0,n(t)]]}var i=GXe(t);if(e&&"number"==typeof i&&!(46===i||61===i?0:1))return tGe(t,e[1]),fGe(t),[0,gx(YGe[2],t),0];return[0,n(t),0]}function ar(r,e){var n=JXe(r),u=GXe(r);if("number"==typeof u&&$l===u){pGe(r,$l),bGe(r,Zke);var a=2<=e?Bx($Ge[13],0,r):gx(YGe[2],r);return[1,[0,lMe(n,a[1]),a]]}pGe(r,0);for(var i=0,c=0;;){var f=i?i[1]:1,o=GXe(r);if("number"==typeof o)if(1===o||Ve===o?1:0){var s=wye(c);return pGe(r,1),[0,s]}switch(1-f&&tGe(r,82),e){case 0:var l=ur(1,ehe,r),v=[0,0,l[2],l[1]];break;case 1:var D=ur(1,rhe,r);v=[0,0,D[2],D[1]];break;default:var p=GXe(r);if("number"==typeof p)if(46===p)var b=nhe,F=1;else if(61===p)b=the,F=1;else F=0;else F=0;if(!F)b=0;var m=GXe(r);if("number"==typeof m){if(46===m)var d=1;else if(61===m)d=1;else{var E=0;d=0}if(d){var k=1;E=1}}else E=0;if(!E)k=0;if(k){var h=jGe(r),y=GXe(r);if("number"==typeof y)switch(y){case 1:case 9:case 110:t(0,r,h);var C=[0,0,0,h],w=1;break;default:w=0}else if(4===y[0])if(hx(y[3],uhe))w=0;else{var A=UXe(1,r);if("number"==typeof A)switch(A){case 1:case 9:case 110:C=[0,b,0,gx(YGe[2],r)],w=1;var _=0;break;default:_=1}else if(4===A[0])if(hx(A[3],ahe))_=1;else{var g=jGe(r);fGe(r);C=[0,b,[0,gx(YGe[2],r)],g],w=1,_=0}else _=1;if(_){t(0,r,h),fGe(r);C=[0,0,[0,Bx($Ge[13],0,r)],h],w=1}}else w=0;if(!w){var B=ur(1,0,r);C=[0,b,B[2],B[1]]}}else{var S=ur(0,0,r);C=[0,0,S[2],S[1]]}v=C}i=[0,FGe(r,9)],c=[0,v,c]}}function ir(r,e){var t=u(0,0,r);if(0===t[0])return[0,t[1],e];return[0,0,Bx(t[1][2],e,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,94),r,t,e[2])]}))]}function cr(r,e,t){var n=[0,ar(e,r)],u=ir(e,nr(e)),a=mMe([0,t],[0,u[1]]);return[25,[0,r,u[2],0,n,a]]}function fr(r,e,t){var n=2<=r?Bx($Ge[13],0,e):gx(YGe[2],e),u=GXe(e);if("number"==typeof u)if(9===u){pGe(e,9);var a=[0,ar(e,r)],i=1}else i=0;else i=0;if(!i)a=0;var c=ir(e,nr(e)),f=mMe([0,t],[0,c[1]]);return[25,[0,r,c[2],[0,n],a,f]]}function or(r){var e=pXe(1,r),t=WXe(e);pGe(e,50);var u=GXe(e);if("number"==typeof u)switch(u){case 46:if(oXe(e)){pGe(e,46);var a=GXe(e);if("number"==typeof a)if($l===a||0===a?1:0)return cr(1,e,t);return fr(1,e,t)}break;case 61:if(oXe(e)){var i=UXe(1,e);if("number"==typeof i)switch(i){case 0:return fGe(e),cr(0,e,t);case 103:return fGe(e),nGe(0,e),cr(0,e,t);case 9:var c=1;break;default:c=0}else c=4===i[0]?hx(i[3],Qke)?0:1:0;return c?fr(2,e,t):(fGe(e),fr(0,e,t))}break;case 0:case 103:return cr(2,e,t)}else if(2===u[0]){var f=ir(e,n(e,u[1])),o=mMe([0,t],[0,f[1]]);return[25,[0,2,f[2],0,0,o]]}return fr(2,e,t)}function sr(r){return XGe(0,or,r)}return XB(c,(function(r){var e=JXe(r),t=WXe(r);return pGe(r,8),[0,e,[15,[0,mMe([0,t],[0,a(r)[1]])]]]})),XB(f,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,32),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,95),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=n[1],i=t[1],c=0===a?1:0;if(c)var f=1-(r[8]||r[9]);else f=c;return f&&sXe(r,[0,i,34]),[0,i,[1,[0,a,mMe([0,e],[0,n[2]])]]]})),XB(o,(function(r){var e=WXe(r),t=XGe(0,(function(r){if(pGe(r,35),8===GXe(r))var e=0;else if(KXe(r))e=0;else{var t=Bx($Ge[13],0,r),n=t[2][1];1-Bx(WGe[3],n,r[3])&&tGe(r,[15,n]);var a=[0,t];e=1}if(!e)a=0;var i=u(0,0,r);if(0===i[0])var c=i[1],f=0;else{var o=i[1];if(a){var s=0,l=[0,Bx(o[2],a[1],(function(r,e){return Bx(wS(r,sB,96),r,e)}))];f=1}else c=o[1],f=0}if(!f)s=c,l=a;return[0,l,s]}),r),n=t[2],a=t[1];1-r[8]&&sXe(r,[0,a,33]);var i=mMe([0,e],[0,n[2]]);return[0,a,[3,[0,n[1],i]]]})),XB(s,(function(r){var e=XGe(0,(function(r){var e=WXe(r);pGe(r,26);var t=fye(e,WXe(r));pGe(r,4);var n=gx($Ge[7],r);pGe(r,5);var u=gx($Ge[2],r),a=1-r[6];return(a?UGe(u):a)&&cGe(r,u[1]),[36,[0,n,u,mMe([0,t],0)]]}),r),t=e[1];return iGe(r,[0,t,37]),[0,t,e[2]]})),XB(l,(function(r){var e=gx($Ge[15],r),t=e[1],n=a(r);return[0,t,[0,Bx(n[2],e[2],(function(r,e){return Sx(wS(r,uD,97),r,t,e)}))]]})),XB(v,(function(r,e){1-oXe(e)&&tGe(e,10);var t=fye(r,WXe(e));pGe(e,61),oGe(e,1);var n=gx(YGe[2],e),a=95===GXe(e)?_Ge(e,n):n,i=gx(YGe[3],e);pGe(e,79);var c=gx(YGe[1],e);sGe(e);var f=u(0,0,e);if(0===f[0])var o=[0,f[1],c];else o=[0,0,Bx(f[1][2],c,(function(r,e){return Bx(wS(r,lc,98),r,e)}))];var s=mMe([0,t],[0,o[1]]);return[0,a,i,o[2],s]})),XB(D,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[11,Bx(v,e,r)]}),r)})),XB(p,(function(r){if(QXe(1,r)&&!HXe(1,r)){var e=XGe(0,gx(v,0),r);return[0,e[1],[32,e[2]]]}return gx($Ge[2],r)})),XB(b,(function(r,e,t){var n=r?r[1]:r;1-oXe(t)&&tGe(t,11);var a=fye(e,WXe(t));pGe(t,62);var i=WXe(t);pGe(t,61);var c=fye(a,i);oGe(t,1);var f=gx(YGe[2],t),o=95===GXe(t)?_Ge(t,f):f,s=gx(YGe[3],t),l=GXe(t);if("number"==typeof l)if(83===l){pGe(t,83);var v=[0,gx(YGe[1],t)],D=1}else D=0;else D=0;if(!D)v=0;var p=1-n,b=p?(pGe(t,79),[0,gx(YGe[1],t)]):p;sGe(t);var F=u(0,0,t);if(0===F[0])var m=[0,F[1],o,s,v,b];else{var d=F[1][2];if(b)var E=[0,0,o,s,v,[0,Bx(d,b[1],(function(r,e){return Bx(wS(r,lc,99),r,e)}))]];else if(v)E=[0,0,o,s,[0,Bx(d,v[1],(function(r,e){return Bx(wS(r,lc,Fu),r,e)}))],0];else if(s)E=[0,0,o,[0,Bx(d,s[1],(function(r,e){return Bx(wS(r,iE,CE),r,e)}))],0,0];else E=[0,0,Bx(d,o,(function(r,e){return Bx(wS(r,sB,EE),r,e)})),0,0,0];m=E}var k=mMe([0,c],[0,m[1]]);return[0,m[2],m[3],m[5],m[4],k]})),XB(F,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[12,Sx(b,Kke,e,r)]}),r)})),XB(m,(function(r){var e=UXe(1,r);if("number"==typeof e&&61===e){var t=XGe(0,Bx(b,Hke,0),r);return[0,t[1],[33,t[2]]]}return gx($Ge[2],r)})),XB(d,(function(r,e){1-oXe(e)&&tGe(e,16);var t=fye(r,WXe(e));pGe(e,53);var n=gx(YGe[2],e),u=41===GXe(e)?n:_Ge(e,n),i=gx(YGe[3],e),c=41===GXe(e)?i:gGe(e,i),f=gx(YGe[7],e);var o=Bx(a(e)[2],f[2],(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,$l),r,t,e[2])]})),s=mMe([0,t],0);return[0,u,c,f[1],o,s]})),XB(E,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[8,Bx(d,e,r)]}),r)})),XB(k,(function(r){var e=QXe(1,r);if(e)var t=e;else{var n=fXe(r);if(1===n){var u=UXe(1,r);if("number"==typeof u)var a=0;else if(4===u[0])t=1,a=1;else a=0;if(!a)t=0}else if(0===n){var i=UXe(1,r);if("number"==typeof i)switch(i){case 42:case 46:case 47:t=0;var c=1;break;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:c=0;break;default:t=0,c=1}else switch(i[0]){case 4:if(jXe(i[3]))t=0,c=1;else c=0;break;case 9:case 10:case 11:c=0;break;default:t=0,c=1}if(!c)t=1}else t=0}if(t){var f=XGe(0,gx(d,0),r);return[0,f[1],[26,f[2]]]}return er(r)})),XB(h,(function(r,e){var t=pXe(1,e),n=fye(r,WXe(t));pGe(t,40);var u=Bx($Ge[13],0,t),i=GXe(t);if("number"==typeof i){if(95===i)var c=1;else if(0===i)c=1;else{var f=0;c=0}if(c){var o=_Ge(t,u);f=1}}else f=0;if(!f)o=u;var s=gx(YGe[3],t),l=GXe(t);if("number"==typeof l)if(0===l)var v=gGe(t,s),D=1;else D=0;else D=0;if(!D)v=s;var p=FGe(t,41);if(p){var b=gx(YGe[5],t),F=GXe(t);if("number"==typeof F)if(0===F)var m=[0,Bx(AGe(t)[2],b,(function(r,e){return uMe(gx(wS(r,Ea,34),r),e)}))],d=1;else d=0;else d=0;if(!d)m=[0,b];var E=m}else E=p;var k=GXe(t);if("number"==typeof k)var h=0;else if(4===k[0])if(hx(k[3],Yke))h=0;else{fGe(t);for(var y=0;;){var C=[0,gx(YGe[5],t),y],w=GXe(t);if("number"!=typeof w||9!==w){var A=wye(C),_=GXe(t);if("number"==typeof _)if(0===_)var g=IGe(t,A),B=1;else B=0;else B=0;if(!B)g=A;var S=g;h=1;break}pGe(t,9);y=C}}else h=0;if(!h)S=0;var x=GXe(t);if("number"==typeof x)if(52===x){var T=Bx(ZGe[5],t,0),I=GXe(t);if("number"==typeof I)if(0===I)var N=[0,NGe(t,T)],O=1;else O=0;else O=0;if(!O)N=[0,T];var L=N,P=1}else P=0;else P=0;if(!P)L=0;var R=Bx(YGe[6],1,t);return[0,o,v,Bx(a(t)[2],R,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,pv,sE),r,t,e[2])]})),E,S,L,mMe([0,n],0)]})),XB(y,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[5,Bx(h,e,r)]}),r)})),XB(C,(function(r,e){var t=fye(r?r[1]:r,WXe(e));pGe(e,15);var n=_Ge(e,Bx($Ge[13],0,e)),a=JXe(e),i=gGe(e,gx(YGe[3],e)),c=gx(YGe[8],e);pGe(e,83);var f=gx(YGe[1],e);oGe(e,1);var o=GXe(e);if(sGe(e),66===o)var s=Bx(AGe(e)[2],f,(function(r,e){return Bx(wS(r,lc,29),r,e)}));else s=f;var l=lMe(a,s[1]),v=[0,l,[12,[0,i,c,s,0]]],D=gx(YGe[11],e),p=u(0,0,e);if(0===p[0])var b=[0,p[1],v,D];else{var F=p[1][2];if(D)var m=[0,0,v,[0,Bx(F,D[1],(function(r,e){return Bx(wS(r,zo,tg),r,e)}))]];else m=[0,0,Bx(F,v,(function(r,e){return Bx(wS(r,lc,Ma),r,e)})),0];b=m}var d=[0,l,b[2]],E=mMe([0,t],[0,b[1]]);return[0,n,d,b[3],E]})),XB(w,(function(r){return XGe(0,(function(r){var e=WXe(r);pGe(r,60);var t=GXe(r);"number"==typeof t&&64===t&&(tGe(r,64),pGe(r,64));return[7,Bx(C,[0,e],r)]}),r)})),XB(A,(function(r,e){var t=fye(e,WXe(r));pGe(r,24);var n=Sx($Ge[14],r,$ke,39)[2],a=n[2],i=n[1],c=u(0,0,r);if(0===c[0])var f=[0,c[1],i,a];else{var o=c[1][2];f=0===a[0]?[0,0,Bx(o,i,(function(r,e){return Bx(wS(r,sB,Uu),r,e)})),a]:[0,0,i,Bx(o,a,(function(r,e){return Bx(wS(r,PF,Bb),r,e)}))]}var s=mMe([0,t],[0,f[1]]);return[0,f[2],f[3],s]})),XB(_,(function(r){return XGe(0,(function(r){var e=WXe(r);return pGe(r,60),[13,Bx(A,r,e)]}),r)})),XB(g,(function(r,e){var t=r?r[1]:r,u=JXe(e),i=WXe(e);pGe(e,60);var c=fye(i,WXe(e));if(bGe(e,Vke),!t&&10!==GXe(e)){var f=GXe(e);if("number"==typeof f)var o=0;else if(2===f[0]){var s=n(e,f[1]),l=[1,Bx(AGe(e)[2],s,(function(r,e){var t=e[1];return[0,t,Sx(wS(r,mB,37),r,t,e[2])]}))];o=1}else o=0;if(!o)l=[0,_Ge(e,Bx($Ge[13],0,e))];var v=XGe(0,(function(r){var e=WXe(r);pGe(r,0);for(var t=0,n=0;;){var u=GXe(r);if("number"==typeof u)if(1===u||Ve===u?1:0){var i=wye(n),c=0===i?1:0,f=c?WXe(r):c;return pGe(r,1),[0,[0,t,i],dMe([0,e],[0,a(r)[1]],f)]}var o=Bx(S,Wke,r),s=o[2],l=o[1];if(t)if(0===t[1][0])switch(s[0]){case 6:var v=s[1][2];if(v)switch(v[1][0]){case 4:case 6:var D=1;break;default:D=0}else D=0;D||tGe(r,77);var p=t,b=1;break;case 10:tGe(r,76);p=t,b=1;break;default:b=0}else if(10===s[0]){tGe(r,77);p=t,b=1}else b=0;else switch(s[0]){case 6:var F=s[1][2];if(F)switch(F[1][0]){case 4:case 6:var m=t,d=1;break;default:d=0}else d=0;if(!d)m=[0,[1,l]];p=m,b=1;break;case 10:p=[0,[0,l]],b=1;break;default:b=0}if(!b)p=t;t=p,n=[0,o,n]}}),e),D=v[2],p=D[1],b=p[1],F=v[1],m=[0,F,[0,p[2],D[2]]],d=lMe(u,F);return[0,d,[9,[0,l,m,b?b[1]:[0,d],mMe([0,c],0)]]]}var E=XGe(0,gx(B,c),e),k=E[2];return[0,lMe(u,E[1]),k]})),XB(B,(function(r,e){var t=WXe(e);pGe(e,10);var n=WXe(e);bGe(e,zke);var a=Aye([0,r,[0,t,[0,n,[0,WXe(e),0]]]]),i=gx(YGe[9],e),c=u(0,0,e);if(0===c[0])var f=[0,i,c[1]];else f=[0,Bx(c[1][2],i,(function(r,e){return Bx(wS(r,zv,ak),r,e)})),0];var o=mMe([0,a],[0,f[2]]);return[10,[0,f[1],o]]})),XB(S,(function(r,e){var t=r?r[1]:r;1-oXe(e)&&tGe(e,13);var n=UXe(1,e);if("number"==typeof n)switch(n){case 24:return gx(_,e);case 40:return gx(y,e);case 46:if(50===GXe(e))return sr(e);break;case 49:if(t)return Bx(P,[0,t],e);break;case 53:return gx(E,e);case 61:var u=GXe(e);return"number"==typeof u&&50===u&&t?sr(e):gx(D,e);case 62:return gx(F,e);case 15:case 64:return gx(w,e)}else if(4===n[0]&&!hx(n[3],qke))return Bx(g,[0,t],e);if(t){var a=GXe(e);return"number"==typeof a&&50===a?(tGe(e,80),gx($Ge[2],e)):gx(_,e)}return gx($Ge[2],e)})),XB(x,(function(r){bGe(r,Xke);var e=GXe(r);if("number"!=typeof e&&2===e[0])return n(r,e[1]);var t=[0,JXe(r),Gke];return nGe(Jke,r),t})),XB(T,(function(r){var e=gx(x,r),t=e[2],n=e[1],a=u(0,0,r);if(0===a[0])return[0,[0,n,t],a[1]];return[0,[0,n,Bx(a[1][2],t,(function(r,e){return Sx(wS(r,mB,Ve),r,n,e)}))],0]})),XB(I,(function(r){return r[2][1]})),XB(N,(function(r,e,t){var n=r?r[1]:1,u=GXe(e);if("number"==typeof u&&(1===u||Ve===u?1:0))return wye(t);1-n&&tGe(e,83);var a=XGe(0,(function(r){var e=jGe(r),t=GXe(r);if("number"==typeof t)var n=0;else if(4===t[0])if(hx(t[3],Uke))n=0;else{fGe(r);var u=jGe(r);lXe(r,u);var a=[0,u];n=1}else n=0;if(!n){lXe(r,e);a=0}return[0,e,a]}),e);return Sx(N,[0,FGe(e,9)],e,[0,a,t])})),XB(O,(function(r,e){return Bye((function(e){var n=e[2];return n[2]?0:t(jke,r,n[1])}),e)})),XB(L,(function(r){function e(e){var t=CXe(1,pXe(1,e)),n=JXe(t),a=WXe(t);pGe(t,49);var i=GXe(t);if("number"==typeof i)if(65<=i){if($l===i){var c=JXe(t);pGe(t,$l);var f=t[26][5],o=GXe(t);if("number"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],Nke))s=0;else{fGe(t);var l=f?[0,Bx($Ge[13],0,t)]:(tGe(t,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,t),p=mMe([0,a],[0,D[2]]);return[18,[0,0,[0,[1,c,l]],[0,D[1]],1,p]]}}else if(13<=i)switch(i-13|0){case 23:var F=fye(a,WXe(t)),m=XGe(0,(function(r){return pGe(r,36)}),t);if(lXe(t,bMe(0,[0,lMe(n,JXe(t)),Oke])),rGe(t))var d=[0,gx(HGe[11],t)],E=0;else if(eGe(t))d=[0,Bx(ZGe[3],t,r)],E=0;else if(48===GXe(t))d=[0,gx(HGe[12],t)],E=0;else{var h=gx($Ge[10],t),y=u(0,0,t);if(0===y[0])var C=[0,h,y[1]];else C=[0,Bx(y[1][2],h,(function(r,e){return Bx(wS(r,LD,Jr),r,e)})),0];d=[1,C[1]],E=C[2]}var w=mMe([0,F],[0,E]);return[17,[0,m[1],d,w]];case 40:1-oXe(t)&&tGe(t,15);var A=gx(k,t),_=A[2];if(26===_[0]){var g=gx(I,_[1][1]);lXe(t,bMe(0,[0,A[1],g]))}else nye(iye(Pke,Lke));return[18,[0,[0,A],0,0,0,mMe([0,a],0)]];case 48:if(0!==UXe(1,t)){1-oXe(t)&&tGe(t,15);var B=UXe(1,t);if("number"==typeof B){if(48===B)return tGe(t,0),pGe(t,61),[18,[0,0,0,0,0,mMe([0,a],0)]];if($l===B){pGe(t,61);var S=JXe(t);pGe(t,$l);var x=gx(T,t),L=mMe([0,a],[0,x[2]]);return[18,[0,0,[0,[1,S,0]],[0,x[1]],0,L]]}}var P=XGe(0,gx(v,0),t),R=P[2],M=P[1];return lXe(t,bMe(0,[0,M,gx(I,R[1])])),[18,[0,[0,[0,M,[32,R]]],0,0,0,mMe([0,a],0)]]}break;case 49:var j=XGe(0,(function(r){return gx(Bx(b,0,0),r)}),t),U=j[2],X=j[1];return lXe(t,bMe(0,[0,X,gx(I,U[1])])),[18,[0,[0,[0,X,[33,U]]],0,0,0,mMe([0,a],0)]];case 0:case 2:case 11:case 14:case 15:case 27:case 35:case 51:var G=Bx($Ge[3],[0,r],t),J=G[2],q=G[1];switch(J[0]){case 2:var z=J[1][1];if(z)var W=z[1],V=1;else{sXe(t,[0,q,72]);var $=0;V=0}break;case 16:W=J[1][1],V=1;break;case 23:var Y=J[1][1];if(Y)W=Y[1],V=1;else{sXe(t,[0,q,73]);$=0,V=0}break;case 34:$=Sye((function(r,e){return Sye(tr,r,[0,e[2][1],0])}),0,J[1][1]),V=0;break;default:$=nye(Mke),V=0}return Bye((function(r){return lXe(t,r)}),V?[0,bMe(0,[0,q,gx(I,W)]),0]:$),[18,[0,[0,G],0,0,1,mMe([0,a],0)]]}var H=GXe(t);if("number"==typeof H)if(61===H){fGe(t);var K=0,Q=1}else Q=0;else Q=0;if(!Q)K=1;pGe(t,0);var Z=Sx(N,0,t,0);pGe(t,1);var rr=GXe(t);if("number"==typeof rr)var er=0;else if(4===rr[0])if(hx(rr[3],Rke))er=0;else{var nr=gx(T,t),ur=[0,nr[1]],ar=nr[2];er=1}else er=0;if(!er){Bx(O,t,Z);var ir=u(0,0,t);ur=0,ar=0===ir[0]?ir[1]:ir[1][1]}return[18,[0,0,[0,[0,Z]],ur,K,mMe([0,a],[0,ar])]]}return function(r){return XGe(0,e,r)}})),XB(P,(function(r){var e=r?r[1]:r;function t(r){1-oXe(r)&&tGe(r,13);var t=WXe(r);pGe(r,60);var n=CXe(1,pXe(1,r)),a=fye(t,WXe(n));pGe(n,49);var i=GXe(n);if("number"==typeof i)if(53<=i){if($l===i){var c=JXe(n);pGe(n,$l);var f=n[26][5],o=GXe(n);if("number"==typeof o)var s=0;else if(4===o[0])if(hx(o[3],xke))s=0;else{fGe(n);var l=f?[0,Bx($Ge[13],0,n)]:(tGe(n,13),0);s=1}else s=0;if(!s)l=0;var D=gx(T,n),p=mMe([0,a],[0,D[2]]);return[6,[0,0,0,[0,[1,c,l]],[0,D[1]],p]]}if(!(63<=i))switch(i-53|0){case 0:if(e)return[6,[0,0,[0,[6,XGe(0,gx(d,0),n)]],0,0,mMe([0,a],0)]];break;case 8:if(e)return[6,[0,0,[0,[4,XGe(0,gx(v,0),n)]],0,0,mMe([0,a],0)]];break;case 9:return[6,[0,0,[0,[5,XGe(0,Bx(b,Ske,0),n)]],0,0,mMe([0,a],0)]]}}else{var F=i-15|0;if(!(25>>0))switch(F){case 21:var m=fye(a,WXe(n)),E=XGe(0,(function(r){return pGe(r,36)}),n),k=GXe(n);if("number"==typeof k)if(15===k)var y=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],w=0,_=1;else if(40===k)y=[0,[2,XGe(0,gx(h,0),n)]],w=0,_=1;else _=0;else _=0;if(!_){var g=gx(YGe[1],n),B=u(0,0,n);if(0===B[0])var S=[0,g,B[1]];else S=[0,Bx(B[1][2],g,(function(r,e){return Bx(wS(r,lc,Be),r,e)})),0];y=[0,[3,S[1]]],w=S[2]}var x=mMe([0,m],[0,w]);return[6,[0,[0,E[1]],y,0,0,x]];case 0:case 9:case 12:case 13:case 25:var I=GXe(n);if("number"==typeof I){if(25<=I)if(29<=I)if(40===I)var L=[0,[2,XGe(0,gx(h,0),n)]],P=2;else P=0;else P=27<=I?1:0;else if(15===I)L=[0,[1,XGe(0,(function(r){return Bx(C,0,r)}),n)]],P=2;else P=24<=I?1:0;switch(P){case 0:var R=0;break;case 1:"number"==typeof I&&(27===I?tGe(n,68):28===I&&tGe(n,67)),L=[0,[0,XGe(0,(function(r){return Bx(A,r,0)}),n)]],R=1;break;default:R=1}if(R)return[6,[0,0,L,0,0,mMe([0,a],0)]]}throw[0,jx,Ike]}}var M=GXe(n);"number"==typeof M&&(53===M?tGe(n,70):61===M&&tGe(n,69));pGe(n,0);var j=Sx(N,0,n,0);pGe(n,1);var U=GXe(n);if("number"==typeof U)var X=0;else if(4===U[0])if(hx(U[3],Tke))X=0;else{var G=gx(T,n),J=[0,G[1]],q=G[2];X=1}else X=0;if(!X){Bx(O,n,j);var z=u(0,0,n);J=0,q=0===z[0]?z[1]:z[1][1]}return[6,[0,0,0,[0,[0,j]],J,mMe([0,a],[0,q])]]}return function(r){return XGe(0,t,r)}})),[0,function(r){return XGe(0,X,r)},function(r){return XGe(0,q,r)},function(r){return XGe(0,K,r)},function(r){return XGe(0,$,r)},function(r){return XGe(0,Q,r)},s,l,f,o,function(r){return XGe(0,R,r)},S,P,F,function(r){return XGe(0,M,r)},c,L,er,sr,k,function(r){return XGe(0,Z,r)},m,function(r){return XGe(0,z,r)},function(r){return XGe(0,W,r)},function(r){return XGe(0,V,r)},p,function(r){return XGe(0,Y,r)},function(r){return XGe(0,H,r)}]}(KGe),eJe=function(r){var e=function r(e,t){return r.fun(e,t)},t=function r(e,t){return r.fun(e,t)},n=function r(e,t){return r.fun(e,t)};function u(r,e){return gx($Ge[23],e)?[0,Bx(n,r,e)]:(sXe(r,[0,e[1],26]),0)}function a(e){function t(r){var e=GXe(r);return"number"==typeof e&&79===e?(pGe(r,79),[0,gx($Ge[10],r)]):0}function n(n){var u=WXe(n);pGe(n,0);for(var a=0,i=0,f=0;;){var o=GXe(n);if("number"==typeof o)if(1===o||Ve===o?1:0){i&&sXe(n,[0,i[1],97]);var s=wye(f),l=WXe(n);pGe(n,1);var v=lGe(n);return[0,[0,s,83===GXe(n)?[1,gx(r[9],n)]:zGe(n),dMe([0,u],[0,v],l)]]}if(12===GXe(n))var D=WXe(n),p=XGe(0,(function(r){return pGe(r,12),c(r,e)}),n),b=mMe([0,D],0),F=[0,[1,[0,p[1],[0,p[2],b]]]];else{var m=JXe(n),d=Bx($Ge[20],0,n),E=GXe(n);if("number"==typeof E)if(83===E){pGe(n,83);var k=XGe([0,m],(function(r){return[0,c(r,e),t(r)]}),n),h=k[2],y=d[2];switch(y[0]){case 0:var C=[0,y[1]];break;case 1:C=[1,y[1]];break;case 2:C=nye(hke);break;default:C=[2,y[1]]}F=[0,[0,[0,k[1],[0,C,h[1],h[2],0]]]];var w=1}else w=0;else w=0;if(!w){var A=d[2];if(1===A[0]){var _=A[1],g=_[2][1],B=_[1];(MXe(g)&&hx(g,Cke)&&hx(g,wke)?(sXe(n,[0,B,2]),1):0)||OXe(g)&&iGe(n,[0,B,52]);var S=XGe([0,m],function(r,e){return function(n){return[0,[0,e,[2,[0,r,zGe(n),0]]],t(n)]}}(_,B),n),x=S[2];F=[0,[0,[0,S[1],[0,[1,_],x[1],x[2],1]]]]}else{nGe(yke,n);F=0}}}if(F){var T=F[1],I=a?(sXe(n,[0,T[1][1],63]),0):i;if(0===T[0])var N=a,O=I;else{var L=9===GXe(n)?1:0;N=1,O=L?[0,JXe(n)]:L}1!==GXe(n)&&pGe(n,9);a=N,i=O,f=[0,T,f]}else;}}return function(r){return XGe(0,n,r)}}function i(e){function t(t){var n=WXe(t);pGe(t,6);for(var u=0;;){var a=GXe(t);if("number"==typeof a){if(13<=a)var i=Ve===a?1:0;else if(7<=a)switch(a-7|0){case 2:var f=JXe(t);pGe(t,9);u=[0,[2,f],u];continue;case 5:var o=WXe(t),s=XGe(0,(function(r){return pGe(r,12),c(r,e)}),t),l=s[1],v=mMe([0,o],0),D=[1,[0,l,[0,s[2],v]]];7!==GXe(t)&&(sXe(t,[0,l,62]),9===GXe(t)&&fGe(t));u=[0,D,u];continue;case 0:i=1;break;default:i=0}else i=0;if(i){var p=wye(u),b=WXe(t);return pGe(t,7),[1,[0,p,83===GXe(t)?[1,gx(r[9],t)]:zGe(t),dMe([0,n],[0,lGe(t)],b)]]}}var F=XGe(0,(function(r){var t=c(r,e),n=GXe(r);if("number"==typeof n)if(79===n){pGe(r,79);var u=[0,gx($Ge[10],r)],a=1}else a=0;else a=0;if(!a)u=0;return[0,t,u]}),t),m=F[2],d=[0,[0,F[1],[0,m[1],m[2]]]];7!==GXe(t)&&pGe(t,9);u=[0,d,u]}}return function(r){return XGe(0,t,r)}}function c(r,e){var t=GXe(r);if("number"==typeof t){if(6===t)return gx(i(e),r);if(0===t)return gx(a(e),r)}var n=Sx($Ge[14],r,0,e);return[0,n[1],[2,n[2]]]}return XB(e,(function(r,e){for(var t=e[2],u=t[2],a=zGe(r),i=0,c=t[1];;){if(!c){var f=[0,[0,wye(i),a,u]];return[0,e[1],f]}var o=c[1];if(0!==o[0]){var s=c[2],l=o[1],v=l[2],D=l[1];if(s){sXe(r,[0,D,63]);c=s}else{var p=v[2];i=[0,[1,[0,D,[0,Bx(n,r,v[1]),p]]],i],c=0}}else{var b=o[1],F=b[2];switch(F[0]){case 0:var m=F[2],d=F[1];switch(d[0]){case 0:var E=[0,d[1]];break;case 1:E=[1,d[1]];break;case 2:E=nye(gke);break;default:E=[2,d[1]]}var k=m[2];if(2===k[0]){var h=k[1];if(h[1])var y=0;else{var C=h[2],w=[0,h[3]];y=1}}else y=0;if(!y)C=Bx(n,r,m),w=0;var A=[0,[0,[0,b[1],[0,E,C,w,F[3]]]],i];break;case 1:sXe(r,[0,F[2][1],96]);A=i;break;default:sXe(r,[0,F[2][1],Bke]);A=i}var i=A,c=c[2]}}})),XB(t,(function(r,e){for(var t=e[2],n=t[2],a=zGe(r),i=0,c=t[1];;){if(c){var f=c[1];switch(f[0]){case 0:var o=f[1],s=o[2];if(2===s[0]){var l=s[1];if(!l[1]){i=[0,[0,[0,o[1],[0,l[2],[0,l[3]]]]],i],c=c[2];continue}}var v=u(r,o);if(v)var D=v[1],p=[0,[0,[0,D[1],[0,D,0]]],i];else p=i;i=p,c=c[2];continue;case 1:var b=c[2],F=f[1],m=F[2],d=F[1];if(b){sXe(r,[0,d,62]);c=b;continue}var E=u(r,m[1]);i=E?[0,[1,[0,d,[0,E[1],m[2]]]],i]:i,c=0;continue;default:i=[0,[2,f[1]],i],c=c[2];continue}}var k=[1,[0,wye(i),a,n]];return[0,e[1],k]}})),XB(n,(function(r,n){var u=n[2],a=n[1];switch(u[0]){case 0:return Bx(t,r,[0,a,u[1]]);case 10:var i=u[1],c=i[2][1],f=i[1];if(!(r[6]&&PXe(c)?(sXe(r,[0,f,49]),1):0)&&1-r[6])if(!(r[17]&&Ex(c,Ake)?(sXe(r,[0,f,92]),1):0)){var o=r[18];(o?Ex(c,_ke):o)&&sXe(r,[0,f,91])}return[0,a,[2,[0,i,zGe(r),0]]];case 19:return Bx(e,r,[0,a,u[1]]);default:return[0,a,[3,[0,a,u]]]}})),[0,e,t,n,a,i,c]}(YGe),tJe=function(r){function e(r){var e=GXe(r);if("number"==typeof e){var t=e-96|0;if(6>>0?14===t?1:0:4<(t-1|0)>>>0?1:0)return lGe(r)}var n=YXe(r);return n?vGe(r):n}function t(t){var n=WXe(t);oGe(t,0);var u=XGe(0,(function(e){pGe(e,0),pGe(e,12);var t=gx(r[10],e);return pGe(e,1),t}),t);sGe(t);var a=mMe([0,n],[0,e(t)]);return[0,u[1],[0,u[2],a]]}function n(e){return 1===GXe(e)?0:[0,gx(r[7],e)]}function u(r){var t=WXe(r);oGe(r,0);var u=XGe(0,(function(r){pGe(r,0);var e=n(r);return pGe(r,1),e}),r);sGe(r);var a=dMe([0,t],[0,e(r)],0);return[0,u[1],[0,u[2],a]]}function a(e){oGe(e,0);var t=XGe(0,(function(e){pGe(e,0);var t=GXe(e);if("number"==typeof t)if(12===t){var u=WXe(e);pGe(e,12);var a=[3,[0,gx(r[10],e),mMe([0,u],0)]],i=1}else i=0;else i=0;if(!i){var c=n(e),f=c?0:WXe(e);a=[2,[0,c,dMe(0,0,f)]]}return pGe(e,1),a}),e);return sGe(e),[0,t[1],t[2]]}function i(r){var t=JXe(r),n=GXe(r);if("number"==typeof n)var u=0;else if(7===n[0]){var a=n[1];u=1}else u=0;if(!u){nGe(eke,r);a=tke}var i=WXe(r);fGe(r);var c=GXe(r);if("number"==typeof c){var f=c+-10|0;if(69>>0)if(73===f)var o=1;else{var s=0;o=0}else if(67<(f-1|0)>>>0)o=1;else s=0,o=0;if(o){var l=lGe(r);s=1}}else s=0;if(!s)l=e(r);return[0,t,[0,a,mMe([0,i],[0,l])]]}function c(r){var e=UXe(1,r);if("number"==typeof e){if(10===e)for(var t=XGe(0,(function(r){var e=[0,i(r)];return pGe(r,10),[0,e,i(r)]}),r);;){var n=GXe(r);if("number"!=typeof n||10!==n)return[2,t];var u=function(r){return function(e){return pGe(e,10),[0,[1,r],i(e)]}}(t);t=XGe([0,t[1]],u,r)}if(83===e)return[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)]}return[0,i(r)]}function f(r){return XGe(0,(function(r){var t=UXe(1,r);if("number"==typeof t)if(83===t)var n=[1,XGe(0,(function(r){var e=i(r);return pGe(r,83),[0,e,i(r)]}),r)],a=1;else a=0;else a=0;if(!a)n=[0,i(r)];var c=GXe(r);if("number"==typeof c)if(79===c){pGe(r,79);var f=WXe(r),o=GXe(r);if("number"==typeof o)if(0===o){var s=u(r),l=s[2],v=s[1];l[1]||sXe(r,[0,v,53]);var D=[0,[1,v,l]],p=1}else p=0;else if(8===o[0]){var b=o[1];pGe(r,o);var F=[0,b[2]],m=mMe([0,f],[0,e(r)]);D=[0,[0,b[1],[0,F,b[3],m]]],p=1}else p=0;if(!p){tGe(r,54);D=[0,[0,JXe(r),[0,rke,ZEe,0]]]}var d=D,E=1}else E=0;else E=0;if(!E)d=0;return[0,n,d]}),r)}function o(r){return XGe(0,(function(r){pGe(r,95);var e=GXe(r);if("number"==typeof e)if(96===e)var n=on,u=1;else u=0;else u=0;if(!u)for(var a=0,i=c(r);;){var o=GXe(r);if("number"==typeof o){if(EE<=o)if(Ve===o)var s=1;else if($l<=o){var l=0;s=0}else s=1;else if(96===o)s=1;else{if(0===o){a=[0,[1,t(r)],a];continue}l=0,s=0}if(s){var v=wye(a);n=[0,rC,[0,i,FGe(r,EE),v]],l=1}}else l=0;if(l)break;a=[0,[0,f(r)],a]}return pGe(r,96),n}),r)}function s(r){return XGe(0,(function(r){pGe(r,95),pGe(r,EE);var e=GXe(r);if("number"==typeof e)if(96===e)var t=on,n=1;else n=0;else n=0;if(!n)t=[0,rC,[0,c(r)]];return pGe(r,96),t}),r)}var l=function r(e){return r.fun(e)},v=function r(e){return r.fun(e)},D=function r(e){return r.fun(e)};function p(r){switch(r[0]){case 0:return r[1][2][1];case 1:var e=r[1][2],t=iye(HEe,e[2][2][1]);return iye(e[1][2][1],t);default:var n=r[1][2],u=n[1];return iye(0===u[0]?u[1][2][1]:p([2,u[1]]),iye(KEe,n[2][2][1]))}}return XB(l,(function(r){var e=GXe(r);if("number"==typeof e){if(0===e)return a(r)}else if(8===e[0]){var t=e[1];return pGe(r,e),[0,t[1],[4,[0,t[2],t[3]]]]}var n=gx(D,r),u=n[2],i=n[1];return on<=u[1]?[0,i,[1,u[2]]]:[0,i,[0,u[2]]]})),XB(v,(function(r){var e=WXe(r),t=o(r);sGe(r);var n=t[2];if("number"==typeof n?0:n[2][2])var u=XGe(0,(function(r){return 0}),r),a=870530776;else{oGe(r,3);for(var i=JXe(r),c=0;;){var f=gXe(r),D=GXe(r);if("number"==typeof D){if(95===D){oGe(r,2);var b=GXe(r),F=UXe(1,r);if("number"==typeof b)if(95===b)if("number"==typeof F){if(EE===F)var m=1;else if(Ve===F)m=1;else{var d=1;m=0}if(m){var E=s(r),k=E[2],h=E[1],y="number"==typeof k?[0,on,h]:[0,rC,[0,h,k[2]]],C=r[22][1];if(C){var w=C[2];if(w)var A=w[2],_=1;else _=0}else _=0;if(!_)A=nye(xne);r[22][1]=A;var g=fXe(r),B=aXe(r[23][1],g);r[24][1]=B;var S=[0,wye(c),f,y],x=1;d=0}}else d=1;else d=1;else d=1;if(d){var T=gx(v,r),I=T[2],N=T[1];c=[0,on<=I[1]?[0,N,[1,I[2]]]:[0,N,[0,I[2]]],c];continue}}else if(Ve===D){nGe(0,r);S=[0,wye(c),f,Rt],x=1}else{var O=1;x=0}if(x){var L=f?f[1]:i;u=[0,lMe(i,L),S[1]],a=S[3],O=0}}else O=1;if(!O)break;c=[0,gx(l,r),c]}}var P=lGe(r);if("number"==typeof a)var R=0;else{var M=a[1];if(rC===M){var j=a[2],U=t[2];if("number"==typeof U)tGe(r,QEe);else{var X=p(U[2][1]);hx(p(j[2][1]),X)&&tGe(r,[17,X])}var G=j[1],J=1}else if(on===M){var q=t[2];"number"==typeof q||rC===q[1]&&tGe(r,[17,p(q[2][1])]),G=a[2],J=1}else R=0,J=0;if(J){var z=G;R=1}}if(!R)z=t[1];var W=t[2],V=t[1];if("number"==typeof W){var $=mMe([0,e],[0,P]);if("number"==typeof a)var Y=0;else{var H=a[1];if(rC===H)var K=a[2][1],Q=1;else if(on===H)K=a[2],Q=1;else Y=0,Q=0;if(Q){var Z=K;Y=1}}if(!Y)Z=z;var rr=[0,on,[0,V,Z,u,$]]}else{var er=mMe([0,e],[0,P]);if("number"==typeof a)var tr=0;else if(rC===a[1]){var nr=[0,a[2]];tr=1}else tr=0;if(!tr)nr=0;rr=[0,rC,[0,[0,V,W[2]],nr,u,er]]}return[0,lMe(t[1],z),rr]})),XB(D,(function(r){return oGe(r,2),gx(v,r)})),[0,e,t,n,u,a,i,c,f,o,s,l,v,D]}($Ge),nJe=function(r,e){var t=GXe(e);if(!("number"==typeof t?28===t?e[6]?(tGe(e,52),1):e[14]?(nGe(0,e),1):1:58===t?e[17]?(tGe(e,2),1):e[6]?(tGe(e,52),1):1:65===t?e[18]?(tGe(e,2),1):1:0:0))if(LXe(t))aGe(e,52);else{if("number"==typeof t)switch(t){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var n=1,u=1;break;default:u=0}else if(4===t[0])if(TXe(t[3]))n=1,u=1;else u=0;else u=0;if(!u)n=0;if(n)var a=n,i=0;else{var c=NXe(t);if(c)a=c,i=0;else{if("number"==typeof t)switch(t){case 29:case 30:case 31:var f=1;break;default:f=0}else if(4===t[0]){var o=t[3];f=hx(o,Hne)&&hx(o,Kne)&&hx(o,Qne)?0:1}else f=0;if(f)a=1,i=0;else{var s=0;i=1}}}if(!i)s=a;if(s)nGe(0,e);else r&&RXe(t)&&aGe(e,r[1])}return jGe(e)},uJe=function r(e){return r.fun(e)},aJe=function r(e,t,n){return r.fun(e,t,n)},iJe=function r(e){return r.fun(e)},cJe=function r(e,t){return r.fun(e,t)},fJe=function r(e,t){return r.fun(e,t)},oJe=function r(e,t){return r.fun(e,t)},sJe=function r(e,t){return r.fun(e,t)},lJe=function r(e,t){return r.fun(e,t)},vJe=function r(e){return r.fun(e)},DJe=function r(e){return r.fun(e)},pJe=function r(e){return r.fun(e)},bJe=function r(e,t,n){return r.fun(e,t,n)},FJe=function r(e){return r.fun(e)},mJe=function r(e,t){return r.fun(e,t)},dJe=ZGe[3],EJe=QGe[3],kJe=QGe[1],hJe=QGe[6],yJe=ZGe[2],CJe=ZGe[1],wJe=ZGe[4],AJe=QGe[5],_Je=QGe[7],gJe=tJe[13],BJe=eJe[6],SJe=eJe[3];XB(uJe,(function(r){var e=WXe(r),t=wye(e);r:for(;;){if(t)for(var n=t[2],u=t[1],a=u[2],i=u[1],c=a[2],f=0,o=RS(c);;){if(o<(f+5|0))var s=0;else{var l=Ex(Gye(c,f,5),Sne);if(!l){f=f+1|0;continue}s=l}if(!s){t=n;continue r}r[29][1]=i[3];var v=wye([0,[0,i,a],n]);break}else v=t;if(0===v){if(e){var D=e[1],p=D[2];if(0===p[1]){var b=p[2];if(1<=RS(b))if(42===kx(b,0)){r[29][1]=D[1][3];var F=[0,D,0],m=1,d=0}else d=1;else d=1;if(d)m=0}else m=0}else m=0;if(!m)F=0}else F=v;var E=Bx(cJe,r,(function(r){return 0})),k=JXe(r);if(pGe(r,Ve),E)var h=hye(wye(E))[1],y=lMe(hye(E)[1],h);else y=k;var C=wye(r[2][1]);return[0,y,[0,E,mMe([0,F],0),C]]}})),XB(aJe,(function(r,e,t){for(var n=mXe(1,r),u=xhe;;){var a=u[2],i=u[1],c=GXe(n);if("number"==typeof c)if(Ve===c)var f=[0,n,i,a],o=1;else o=0;else o=0;if(!o)if(gx(e,c))f=[0,n,i,a];else{if("number"==typeof c)var s=0;else if(2===c[0]){var l=gx(t,n),v=[0,l,a],D=l[2];if(19===D[0]){var p=D[1][2];if(p){var b=n[6]||Ex(p[1],She);n=pXe(b,n),u=[0,[0,c,i],v];continue}}f=[0,n,i,v],s=1}else s=0;if(!s)f=[0,n,i,a]}var F=mXe(0,n);return Bye((function(r){if("number"!=typeof r&&2===r[0]){var e=r[1],t=e[4];return t?iGe(F,[0,e[1],43]):t}return nye(iye(Ihe,iye(_Me(r),The)))}),wye(i)),[0,F,f[3]]}})),XB(iJe,(function(r){var e=gx(ZGe[6],r),t=GXe(r);if("number"==typeof t){var n=t-49|0;if(!(11>>0))switch(n){case 0:return Bx(rJe[16],e,r);case 1:gx(uGe(r),e);var u=UXe(1,r);return gx("number"==typeof u&&4===u?rJe[17]:rJe[18],r);case 11:if(49===UXe(1,r))return gx(uGe(r),e),Bx(rJe[12],0,r)}}return Bx(lJe,[0,e],r)})),XB(cJe,(function(r,e){var t=Sx(aJe,r,e,iJe);return Sye((function(r,e){return[0,e,r]}),Bx(fJe,e,t[1]),t[2])})),XB(fJe,(function(r,e){for(var t=0;;){var n=GXe(e);if("number"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,gx(iJe,e),t]}})),XB(oJe,(function(r,e){var t=Sx(aJe,e,r,(function(r){return Bx(lJe,0,r)})),n=t[1];return[0,Sye((function(r,e){return[0,e,r]}),Bx(sJe,r,n),t[2]),n[6]]})),XB(sJe,(function(r,e){for(var t=0;;){var n=GXe(e);if("number"==typeof n&&Ve===n)return wye(t);if(gx(r,n))return wye(t);t=[0,Bx(lJe,0,e),t]}})),XB(lJe,(function(r,e){var t=r?r[1]:r;1-eGe(e)&&gx(uGe(e),t);var n=GXe(e);if("number"==typeof n){if(27===n)return gx(rJe[27],e);if(28===n)return gx(rJe[3],e)}if(rGe(e))return gx(HGe[11],e);if(eGe(e))return Bx(dJe,e,t);if("number"==typeof n){var u=n+$A|0;if(!(14>>0))switch(u){case 0:if(e[26][1])return gx(HGe[12],e);break;case 5:return gx(rJe[19],e);case 12:return Bx(rJe[11],0,e);case 13:return gx(rJe[25],e);case 14:return gx(rJe[21],e)}}return gx(vJe,e)})),XB(vJe,(function(r){var e=GXe(r);if("number"==typeof e)switch(e){case 0:return gx(rJe[7],r);case 8:return gx(rJe[15],r);case 19:return gx(rJe[22],r);case 20:return gx(rJe[23],r);case 22:return gx(rJe[24],r);case 23:return gx(rJe[4],r);case 24:return gx(rJe[26],r);case 25:return gx(rJe[5],r);case 26:return gx(rJe[6],r);case 32:return gx(rJe[8],r);case 35:return gx(rJe[9],r);case 37:return gx(rJe[14],r);case 39:return gx(rJe[1],r);case 59:return gx(rJe[10],r);case 110:return nGe(_he,r),[0,JXe(r),ghe];case 16:case 43:return gx(rJe[2],r);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 80:case 83:return nGe(Bhe,r),fGe(r),gx(vJe,r)}if(rGe(r)){var t=gx(HGe[11],r);return cGe(r,t[1]),t}if("number"==typeof e&&28===e&&6===UXe(1,r)){var n=XXe(1,r);return sXe(r,[0,lMe(JXe(r),n),93]),gx(rJe[17],r)}return ZXe(r)?gx(rJe[20],r):eGe(r)?(nGe(0,r),fGe(r),gx(rJe[17],r)):gx(rJe[17],r)})),XB(DJe,(function(r){var e=JXe(r),t=gx(QGe[1],r),n=GXe(r);return"number"==typeof n&&9===n?Sx(QGe[8],r,e,[0,t,0]):t})),XB(pJe,(function(r){var e=JXe(r),t=gx(QGe[2],r),n=GXe(r);if("number"==typeof n&&9===n){var u=[0,Bx(KGe[1],r,t),0];return[0,Sx(QGe[8],r,e,u)]}return t})),XB(bJe,(function(r,e,t){var n=e?e[1]:e;return XGe(0,(function(r){var e=1-n,u=nJe([0,t],r),a=e?82===GXe(r)?1:0:e;return a&&(1-oXe(r)&&tGe(r,12),pGe(r,82)),[0,u,gx(YGe[10],r),a]}),r)})),XB(FJe,(function(r){var e=JXe(r),t=WXe(r);pGe(r,0);var n=Bx(sJe,(function(r){return 1===r?1:0}),r),u=0===n?1:0,a=JXe(r),i=u?WXe(r):u;pGe(r,1);var c=[0,n,dMe([0,t],[0,lGe(r)],i)];return[0,lMe(e,a),c]})),XB(mJe,(function(r,e){var t=JXe(e),n=WXe(e);pGe(e,0);var u=Bx(oJe,(function(r){return 1===r?1:0}),e),a=u[1],i=0===a?1:0,c=JXe(e),f=i?WXe(e):i;pGe(e,1);var o=GXe(e);if(0===r){if("number"==typeof o)if(1===o)var s=0,l=0;else if(Ve===o)s=0,l=0;else l=1;else l=1;if(l){var v=YXe(e);if(v){var D=vGe(e);s=1}else D=v,s=1}}else s=0;if(!s)D=lGe(e);var p=u[2],b=[0,a,dMe([0,n],[0,D],f)];return[0,lMe(t,c),b,p]})),Sx(eAe,Lhe,$Ge,[0,uJe,vJe,lJe,sJe,oJe,fJe,DJe,pJe,EJe,kJe,hJe,yJe,nJe,bJe,FJe,mJe,gJe,BJe,SJe,CJe,dJe,wJe,AJe,_Je]);var xJe=[0,0],TJe=HS,IJe=YS,NJe=function(r){return KS($ye(r))},OJe=function(r){return $S($ye(r))},LJe=function(r,e,t){try{var n=new RegExp(e.toString(),t.toString())}catch(e){xJe[1]=[0,[0,r,24],xJe[1]];n=new RegExp(qC,t.toString())}return n},PJe=function(r){function e(r,e){return OJe(wye(gye(r,e)))}function t(r,e){return e?gx(r,e[1]):SAe}function n(r,e){return 0===e[0]?SAe:gx(r,e[1])}function u(r){return NJe([0,[0,CFe,r[1]],[0,[0,yFe,r[2]],0]])}function a(r){var e=r[1];if(e)var t=e[1],n="number"==typeof t?nn:t[1].toString();else n=SAe;var a=[0,[0,EFe,u(r[3])],0];return NJe([0,[0,hFe,n],[0,[0,kFe,u(r[2])],a]])}function i(r){if(r){var e=r[1],t=[0,fye(e[3],e[2])];return mMe([0,e[1]],t)}return r}function c(u){function c(e,t,n,i){var c=r[1];if(c){if(u)var f=u[1],o=[0,MGe(f,t[3]),0],s=[0,[0,pae,OJe([0,MGe(f,t[2]),o])],0];else s=u;var l=fye(s,[0,[0,bae,a(t)],0])}else l=c;if(0===r[3])var v=0;else if(n){var D=n[1],p=D[1];if(p){var b=D[2];if(b)var F=[0,[0,Fae,Cr(b)],0],m=[0,[0,mae,Cr(p)],F];else m=[0,[0,dae,Cr(p)],0];var d=m}else{var E=D[2];d=E?[0,[0,Eae,Cr(E)],0]:E}var k=d;v=1}else v=0;if(!v)k=0;return NJe(Cye(fye(l,fye(k,[0,[0,kae,e.toString()],0])),i))}function f(r){return e(d,r)}function o(r){var t=r[2];switch(t[2]){case 0:var n=Yve;break;case 1:n=Hve;break;default:n=Kve}var u=[0,[0,Qve,n.toString()],0],a=[0,[0,Zve,e(K,t[1])],u];return c(rDe,r[1],t[3],a)}function s(r){var n=r[2],u=[0,[0,mle,e(P,n[3])],0],a=[0,[0,dle,rr(0,n[4])],u],i=[0,[0,Ele,t(fr,n[2])],a],f=[0,[0,kle,C(n[1])],i];return c(hle,r[1],n[5],f)}function l(r,n){var u=n[2],a=u[7],i=u[5],f=u[4];if(f)var o=f[1][2],s=EMe(o[3],a),l=[0,o[1]],v=o[2],D=s;else l=0,v=0,D=a;if(i)var p=i[1][2],b=EMe(p[2],D),F=e(O,p[1]),m=b;else F=OJe(0),m=D;var d=[0,[0,rse,F],[0,[0,Zoe,e(N,u[6])],0]],E=[0,[0,ese,t(sr,v)],d],k=[0,[0,tse,t(A,l)],E],h=[0,[0,nse,t(fr,u[3])],k],y=u[2],w=y[2],_=[0,[0,lse,e(L,w[1])],0],g=[0,[0,use,c(vse,y[1],w[2],_)],h],B=[0,[0,ase,t(C,u[1])],g];return c(r,n[1],m,B)}function v(r,e){var n=e[2],u=r?zoe:Woe,a=[0,[0,Voe,t(tr,n[4])],0],i=[0,[0,$oe,t(tr,n[3])],a],f=[0,[0,Yoe,t(fr,n[2])],i],o=[0,[0,Hoe,C(n[1])],f];return c(u,e[1],n[5],o)}function D(r){var e=r[2],n=[0,[0,Xoe,tr(e[3])],0],u=[0,[0,Goe,t(fr,e[2])],n],a=[0,[0,Joe,C(e[1])],u];return c(qoe,r[1],e[4],a)}function p(r){var n=r[2],u=n[6],a=n[4],i=OJe(a?[0,P(a[1]),0]:0),f=u?e(O,u[1][2][1]):OJe(0),o=[0,[0,Coe,i],[0,[0,yoe,f],[0,[0,hoe,e(P,n[5])],0]]],s=[0,[0,woe,rr(0,n[3])],o],l=[0,[0,Aoe,t(fr,n[2])],s],v=[0,[0,_oe,C(n[1])],l];return c(goe,r[1],n[7],v)}function b(r){var e=r[2],n=e[2],u=e[1],a=lMe(u[1],n[1]),i=[0,[0,doe,t(Ar,e[3])],0],f=[0,[0,Eoe,g(a,[0,u,[1,n],0])],i];return c(koe,r[1],e[4],f)}function F(r){var e=r[2],t=e[2],n=e[1],u=0===t[0]?n[1]:t[1][1],a=[0,[0,Foe,g(lMe(n[1],u),[0,n,t,0])],0];return c(moe,r[1],e[3],a)}function m(r){var e=r[2],t=[0,[0,poe,f(e[1])],0],n=i(e[2]);return c(boe,r[1],n,t)}function d(r){var n=r[2],u=r[1];switch(n[0]){case 0:return m([0,u,n[1]]);case 1:var a=n[1],f=[0,[0,Aae,t(C,a[1])],0];return c(_ae,u,a[2],f);case 2:return l(Koe,[0,u,n[1]]);case 3:var E=n[1],k=[0,[0,gae,t(C,E[1])],0];return c(Bae,u,E[2],k);case 4:return c(Sae,u,n[1][1],0);case 5:return p([0,u,n[1]]);case 6:var h=n[1],y=h[5],w=h[4],_=h[3],g=h[2];if(_){var B=_[1];if(0!==B[0]&&!B[2])return c(Tae,u,y,[0,[0,xae,t(Y,w)],0])}if(g){var N=g[1];switch(N[0]){case 0:var O=F(N[1]);break;case 1:O=b(N[1]);break;case 2:O=p(N[1]);break;case 3:O=tr(N[1]);break;case 4:O=D(N[1]);break;case 5:O=v(1,N[1]);break;default:O=s(N[1])}var L=O}else L=SAe;var M=[0,[0,Iae,t(Y,w)],0],j=[0,[0,Oae,L],[0,[0,Nae,I(_)],M]],X=h[1];return c(Pae,u,y,[0,[0,Lae,!!(X?1:X)],j]);case 7:return b([0,u,n[1]]);case 8:var G=n[1],J=[0,[0,Boe,e(P,G[3])],0],q=[0,[0,Soe,rr(0,G[4])],J],z=[0,[0,xoe,t(fr,G[2])],q],W=[0,[0,Toe,C(G[1])],z];return c(Ioe,u,G[5],W);case 9:var V=n[1],$=V[1],H=0===$[0]?C($[1]):Y($[1]),K=0===V[3][0]?"CommonJS":"ES",Q=[0,[0,jae,H],[0,[0,Mae,m(V[2])],[0,[0,Rae,K],0]]];return c(Uae,u,V[4],Q);case 10:var Z=n[1],er=[0,[0,Xae,cr(Z[1])],0];return c(Gae,u,Z[2],er);case 11:var nr=n[1],ur=[0,[0,Roe,tr(nr[3])],0],ar=[0,[0,Moe,t(fr,nr[2])],ur],ir=[0,[0,joe,C(nr[1])],ar];return c(Uoe,u,nr[4],ir);case 12:return v(1,[0,u,n[1]]);case 13:return F([0,u,n[1]]);case 14:var or=n[1],sr=[0,[0,Jae,A(or[2])],0],lr=[0,[0,qae,d(or[1])],sr];return c(zae,u,or[3],lr);case 15:return c(Wae,u,n[1][1],0);case 16:var vr=n[1],Dr=vr[2],pr=Dr[2],br=Dr[1];switch(pr[0]){case 0:var Fr=pr[1],mr=[0,[0,rle,!!Fr[2]],[0,[0,Zse,!!Fr[3]],0]],dr=Fr[1],Er=[0,[0,ele,e((function(r){var e=r[2],t=[0,[0,Hse,!!e[2][2][1]],0],n=[0,[0,Kse,C(e[1])],t];return c(Qse,r[1],0,n)}),dr)],mr],kr=c(tle,br,Fr[4],Er);break;case 1:var hr=pr[1],yr=[0,[0,ule,!!hr[2]],[0,[0,nle,!!hr[3]],0]],Cr=hr[1],wr=[0,[0,ale,e((function(r){var e=r[2],t=e[2],n=t[2],u=[0,[0,Vse,c(Tve,t[1],n[3],[0,[0,xve,n[1]],[0,[0,Sve,n[2].toString()],0]])],0],a=[0,[0,$se,C(e[1])],u];return c(Yse,r[1],0,a)}),Cr)],yr];kr=c(ile,br,hr[4],wr);break;case 2:var _r=pr[1],gr=_r[1];if(0===gr[0])var Br=_ye((function(r){var e=[0,[0,zse,C(r[2][1])],0];return c(Wse,r[1],0,e)}),gr[1]);else Br=_ye((function(r){var e=r[2],t=[0,[0,Gse,Y(e[2])],0],n=[0,[0,Jse,C(e[1])],t];return c(qse,r[1],0,n)}),gr[1]);var Sr=[0,[0,fle,!!_r[2]],[0,[0,cle,!!_r[3]],0]],xr=[0,[0,ole,OJe(Br)],Sr];kr=c(sle,br,_r[4],xr);break;default:var Tr=pr[1],Ir=[0,[0,lle,!!Tr[2]],0],Nr=Tr[1],Or=[0,[0,vle,e((function(r){var e=[0,[0,Use,C(r[2][1])],0];return c(Xse,r[1],0,e)}),Nr)],Ir];kr=c(Dle,br,Tr[3],Or)}var Lr=[0,[0,ble,C(vr[1])],[0,[0,ple,kr],0]];return c(Fle,u,vr[3],Lr);case 17:var Pr=n[1],Rr=Pr[2],Mr=0===Rr[0]?d(Rr[1]):A(Rr[1]),jr=[0,[0,$ae,Mr],[0,[0,Vae,T(1).toString()],0]];return c(Yae,u,Pr[3],jr);case 18:var Ur=n[1],Xr=Ur[5],Gr=Ur[4],Jr=Ur[3],qr=Ur[2];if(qr){var zr=qr[1];if(0!==zr[0]&&!zr[2]){var Wr=[0,[0,Hae,T(Gr).toString()],0];return c(Qae,u,Xr,[0,[0,Kae,t(Y,Jr)],Wr])}}var $r=[0,[0,Zae,T(Gr).toString()],0],Yr=[0,[0,rie,t(Y,Jr)],$r],Hr=[0,[0,eie,I(qr)],Yr];return c(nie,u,Xr,[0,[0,tie,t(d,Ur[1])],Hr]);case 19:var Kr=n[1],Qr=[0,[0,uie,t(TJe,Kr[2])],0],Zr=[0,[0,aie,A(Kr[1])],Qr];return c(iie,u,Kr[3],Zr);case 20:var re=n[1],ee=[0,[0,cie,d(re[4])],0],te=[0,[0,fie,t(A,re[3])],ee],ne=[0,[0,oie,t(A,re[2])],te],ue=[0,[0,sie,t((function(r){return 0===r[0]?o(r[1]):A(r[1])}),re[1])],ne];return c(lie,u,re[5],ue);case 21:var ae=n[1],ie=ae[1],ce=0===ie[0]?o(ie[1]):R(ie[1]),fe=[0,[0,vie,!!ae[4]],0],oe=[0,[0,Die,d(ae[3])],fe],se=[0,[0,bie,ce],[0,[0,pie,A(ae[2])],oe]];return c(Fie,u,ae[5],se);case 22:var le=n[1],ve=le[1],De=0===ve[0]?o(ve[1]):R(ve[1]),pe=[0,[0,mie,!!le[4]],0],be=[0,[0,die,d(le[3])],pe],Fe=[0,[0,kie,De],[0,[0,Eie,A(le[2])],be]];return c(hie,u,le[5],Fe);case 23:var me=n[1],de=me[7],Ee=me[3],ke=me[2],he=0===Ee[0]?Ee[1]:nye(xfe),ye=0===de[0]?0:[0,de[1]],Ce=me[9],we=EMe(i(ke[2][4]),Ce),Ae=[0,[0,Tfe,t(fr,me[8])],0],_e=[0,[0,Nfe,!1],[0,[0,Ife,t(cr,ye)],Ae]],ge=[0,[0,Ofe,t(Ar,me[6])],_e],Be=[0,[0,Pfe,!!me[4]],[0,[0,Lfe,!!me[5]],ge]],Se=[0,[0,Rfe,m(he)],Be],xe=[0,[0,Mfe,U(ke)],Se];return c(Ufe,u,we,[0,[0,jfe,t(C,me[1])],xe]);case 24:var Te=n[1],Ie=Te[3];if(Ie){var Ne=Ie[1][2],Oe=Ne[2],Le=Ne[1],Pe=Le[2],Re=function(r){return EMe(r,Oe)};switch(Pe[0]){case 0:var Me=Pe[1],je=kMe(Me[2],Oe),Ue=[0,[0,Me[1],je]];break;case 1:var Xe=Pe[1],Ge=Re(Xe[2]);Ue=[1,[0,Xe[1],Ge]];break;case 2:var Je=Pe[1],qe=Re(Je[7]);Ue=[2,[0,Je[1],Je[2],Je[3],Je[4],Je[5],Je[6],qe]];break;case 3:var ze=Pe[1],We=Re(ze[2]);Ue=[3,[0,ze[1],We]];break;case 4:Ue=[4,[0,Re(Pe[1][1])]];break;case 5:var Ve=Pe[1],$e=Re(Ve[7]);Ue=[5,[0,Ve[1],Ve[2],Ve[3],Ve[4],Ve[5],Ve[6],$e]];break;case 6:var Ye=Pe[1],He=Re(Ye[5]);Ue=[6,[0,Ye[1],Ye[2],Ye[3],Ye[4],He]];break;case 7:var Ke=Pe[1],Qe=Re(Ke[4]);Ue=[7,[0,Ke[1],Ke[2],Ke[3],Qe]];break;case 8:var Ze=Pe[1],rt=Re(Ze[5]);Ue=[8,[0,Ze[1],Ze[2],Ze[3],Ze[4],rt]];break;case 9:var et=Pe[1],tt=Re(et[4]);Ue=[9,[0,et[1],et[2],et[3],tt]];break;case 10:var nt=Pe[1],ut=Re(nt[2]);Ue=[10,[0,nt[1],ut]];break;case 11:var at=Pe[1],it=Re(at[4]);Ue=[11,[0,at[1],at[2],at[3],it]];break;case 12:var ct=Pe[1],ft=Re(ct[5]);Ue=[12,[0,ct[1],ct[2],ct[3],ct[4],ft]];break;case 13:var ot=Pe[1],st=Re(ot[3]);Ue=[13,[0,ot[1],ot[2],st]];break;case 14:var lt=Pe[1],vt=Re(lt[3]);Ue=[14,[0,lt[1],lt[2],vt]];break;case 15:Ue=[15,[0,Re(Pe[1][1])]];break;case 16:var Dt=Pe[1],pt=Re(Dt[3]);Ue=[16,[0,Dt[1],Dt[2],pt]];break;case 17:var bt=Pe[1],Ft=Re(bt[3]);Ue=[17,[0,bt[1],bt[2],Ft]];break;case 18:var mt=Pe[1],dt=Re(mt[5]);Ue=[18,[0,mt[1],mt[2],mt[3],mt[4],dt]];break;case 19:var Et=Pe[1],kt=Re(Et[3]);Ue=[19,[0,Et[1],Et[2],kt]];break;case 20:var ht=Pe[1],yt=Re(ht[5]);Ue=[20,[0,ht[1],ht[2],ht[3],ht[4],yt]];break;case 21:var Ct=Pe[1],wt=Re(Ct[5]);Ue=[21,[0,Ct[1],Ct[2],Ct[3],Ct[4],wt]];break;case 22:var At=Pe[1],_t=Re(At[5]);Ue=[22,[0,At[1],At[2],At[3],At[4],_t]];break;case 23:var gt=Pe[1],Bt=gt[10],St=Re(gt[9]);Ue=[23,[0,gt[1],gt[2],gt[3],gt[4],gt[5],gt[6],gt[7],gt[8],St,Bt]];break;case 24:var xt=Pe[1],Tt=Re(xt[4]);Ue=[24,[0,xt[1],xt[2],xt[3],Tt]];break;case 25:var It=Pe[1],Nt=Re(It[5]);Ue=[25,[0,It[1],It[2],It[3],It[4],Nt]];break;case 26:var Ot=Pe[1],Lt=Re(Ot[5]);Ue=[26,[0,Ot[1],Ot[2],Ot[3],Ot[4],Lt]];break;case 27:var Pt=Pe[1],Rt=Re(Pt[3]);Ue=[27,[0,Pt[1],Pt[2],Rt]];break;case 28:var Mt=Pe[1],jt=Re(Mt[2]);Ue=[28,[0,Mt[1],jt]];break;case 29:var Ut=Pe[1],Xt=Re(Ut[3]);Ue=[29,[0,Ut[1],Ut[2],Xt]];break;case 30:var Gt=Pe[1],Jt=Re(Gt[2]);Ue=[30,[0,Gt[1],Jt]];break;case 31:var qt=Pe[1],zt=Re(qt[4]);Ue=[31,[0,qt[1],qt[2],qt[3],zt]];break;case 32:var Wt=Pe[1],Vt=Re(Wt[4]);Ue=[32,[0,Wt[1],Wt[2],Wt[3],Vt]];break;case 33:var $t=Pe[1],Yt=Re($t[5]);Ue=[33,[0,$t[1],$t[2],$t[3],$t[4],Yt]];break;case 34:var Ht=Pe[1],Kt=Re(Ht[3]);Ue=[34,[0,Ht[1],Ht[2],Kt]];break;case 35:var Qt=Pe[1],Zt=Re(Qt[3]);Ue=[35,[0,Qt[1],Qt[2],Zt]];break;default:var rn=Pe[1],en=Re(rn[3]);Ue=[36,[0,rn[1],rn[2],en]]}var tn=d([0,Le[1],Ue])}else tn=SAe;var nn=[0,[0,Cie,d(Te[2])],[0,[0,yie,tn],0]],un=[0,[0,wie,A(Te[1])],nn];return c(Aie,u,Te[4],un);case 25:var an=n[1],cn=an[4],fn=an[3];if(cn){var on=cn[1];if(0===on[0])var sn=_ye((function(r){var e=r[1],t=r[3],n=r[2],u=n?lMe(t[1],n[1][1]):t[1],a=n?n[1]:t;if(e)switch(e[1]){case 0:var i=Vr,f=1;break;case 1:i=Cf,f=1;break;default:f=0}else f=0;if(!f)i=SAe;var o=[0,[0,tFe,C(a)],[0,[0,eFe,i],0]];return c(uFe,u,0,[0,[0,nFe,C(t)],o])}),on[1]);else{var ln=on[1],vn=[0,[0,Zbe,C(ln[2])],0];sn=[0,c(rFe,ln[1],0,vn),0]}var Dn=sn}else Dn=cn;if(fn)var pn=fn[1],bn=[0,[0,Kbe,C(pn)],0],Fn=[0,c(Qbe,pn[1],0,bn),Dn];else Fn=Dn;switch(an[1]){case 0:var mn=_ie;break;case 1:mn=gie;break;default:mn=Bie}var dn=[0,[0,Sie,mn.toString()],0],En=[0,[0,xie,Y(an[2])],dn],kn=[0,[0,Tie,OJe(Fn)],En];return c(Iie,u,an[5],kn);case 26:return s([0,u,n[1]]);case 27:var hn=n[1],yn=[0,[0,Nie,d(hn[2])],0],Cn=[0,[0,Oie,C(hn[1])],yn];return c(Lie,u,hn[3],Cn);case 28:var wn=n[1],An=[0,[0,Pie,t(A,wn[1])],0];return c(Rie,u,wn[2],An);case 29:var _n=n[1],gn=[0,[0,Mie,e(S,_n[2])],0],Bn=[0,[0,jie,A(_n[1])],gn];return c(Uie,u,_n[3],Bn);case 30:var Sn=n[1],xn=[0,[0,Xie,A(Sn[1])],0];return c(Gie,u,Sn[2],xn);case 31:var Tn=n[1],In=[0,[0,Jie,t(m,Tn[3])],0],Nn=[0,[0,qie,t(x,Tn[2])],In],On=[0,[0,zie,m(Tn[1])],Nn];return c(Wie,u,Tn[4],On);case 32:return D([0,u,n[1]]);case 33:return v(0,[0,u,n[1]]);case 34:return o([0,u,n[1]]);case 35:var Ln=n[1],Pn=[0,[0,Vie,d(Ln[2])],0],Rn=[0,[0,$ie,A(Ln[1])],Pn];return c(Yie,u,Ln[3],Rn);default:var Mn=n[1],jn=[0,[0,Hie,d(Mn[2])],0],Un=[0,[0,Kie,A(Mn[1])],jn];return c(Qie,u,Mn[3],Un)}}function E(r){var t=r[2],n=[0,[0,bbe,c(_be,t[2],0,0)],0],u=[0,[0,Fbe,e(Fr,t[3][2])],n],a=[0,[0,mbe,c(Cbe,t[1],0,0)],u];return c(dbe,r[1],t[4],a)}function k(r){var n=r[2],u=[0,[0,lbe,e(Fr,n[3][2])],0],a=[0,[0,vbe,t(pr,n[2])],u],i=n[1],f=i[2],o=[0,[0,Ebe,!!f[2]],0],s=[0,[0,kbe,e(Dr,f[3])],o],l=[0,[0,hbe,kr(f[1])],s],v=[0,[0,Dbe,c(ybe,i[1],0,l)],a];return c(pbe,r[1],n[4],v)}function h(r){var t=r[2],n=[0,[0,Mve,e(A,t[2])],0],u=[0,[0,jve,e(H,t[1])],n];return c(Uve,r[1],t[3],u)}function y(r){var e=r[2],t=e[2],n=e[1],u=r[1];if("number"==typeof n)var a=SAe;else switch(n[0]){case 0:a=n[1].toString();break;case 1:a=!!n[1];break;case 2:a=n[1];break;case 3:a=nye(kve);break;default:var i=n[1];a=LJe(u,i[1],i[2])}if("number"==typeof n)var f=0;else if(4===n[0]){var o=n[1],s=[0,[0,Cve,NJe([0,[0,yve,o[1].toString()],[0,[0,hve,o[2].toString()],0]])],0],l=[0,[0,Ave,a],[0,[0,wve,t.toString()],s]];f=1}else f=0;if(!f)l=[0,[0,gve,a],[0,[0,_ve,t.toString()],0]];return c(Bve,u,e[3],l)}function C(r){var e=r[2];return c(eoe,r[1],e[2],[0,[0,roe,e[1].toString()],[0,[0,Zfe,SAe],[0,[0,Qfe,!1],0]]])}function w(r){var e=r[2],n=e[7],u=e[3],a=e[2],f=0===u[0]?u[1]:nye(Xfe),o=0===n[0]?0:[0,n[1]],s=e[9],l=EMe(i(a[2][4]),s),v=[0,[0,Gfe,t(fr,e[8])],0],D=[0,[0,qfe,!1],[0,[0,Jfe,t(cr,o)],v]],p=[0,[0,zfe,t(Ar,e[6])],D],b=[0,[0,Vfe,!!e[4]],[0,[0,Wfe,!!e[5]],p]],F=[0,[0,$fe,m(f)],b],d=[0,[0,Yfe,U(a)],F],E=[0,[0,Hfe,t(C,e[1])],d];return c(Kfe,r[1],l,E)}function A(r){var n=r[2],u=r[1];switch(n[0]){case 0:var a=n[1],f=[0,[0,Zie,e(V,a[1])],0];return c(rce,u,i(a[2]),f);case 1:var o=n[1],s=o[7],v=o[3],D=o[2],p=0===v[0]?[0,m(v[1]),0]:[0,A(v[1]),1],b=0===s[0]?0:[0,s[1]],F=o[9],d=EMe(i(D[2][4]),F),_=[0,[0,ece,t(fr,o[8])],0],g=[0,[0,tce,t(cr,b)],_],S=[0,[0,nce,!!p[2]],g],x=[0,[0,ace,!1],[0,[0,uce,t(Ar,o[6])],S]],T=[0,[0,cce,p[1]],[0,[0,ice,!!o[4]],x]];return c(sce,u,d,[0,[0,oce,SAe],[0,[0,fce,U(D)],T]]);case 2:var I=n[1],N=I[1];if(N){switch(N[1]){case 0:var O=_zr;break;case 1:O=gzr;break;case 2:O=Bzr;break;case 3:O=Szr;break;case 4:O=xzr;break;case 5:O=Tzr;break;case 6:O=Izr;break;case 7:O=Nzr;break;case 8:O=Ozr;break;case 9:O=Lzr;break;case 10:O=Pzr;break;default:O=Rzr}var L=O}else L=lce;var P=[0,[0,vce,A(I[3])],0],M=[0,[0,Dce,R(I[2])],P];return c(bce,u,I[4],[0,[0,pce,L.toString()],M]);case 3:var j=n[1],X=[0,[0,Fce,A(j[3])],0],G=[0,[0,mce,A(j[2])],X];switch(j[1]){case 0:var q=uzr;break;case 1:q=azr;break;case 2:q=izr;break;case 3:q=czr;break;case 4:q=fzr;break;case 5:q=ozr;break;case 6:q=szr;break;case 7:q=lzr;break;case 8:q=vzr;break;case 9:q=Dzr;break;case 10:q=pzr;break;case 11:q=bzr;break;case 12:q=Fzr;break;case 13:q=mzr;break;case 14:q=dzr;break;case 15:q=Ezr;break;case 16:q=kzr;break;case 17:q=hzr;break;case 18:q=yzr;break;case 19:q=Czr;break;case 20:q=wzr;break;default:q=Azr}return c(Ece,u,j[4],[0,[0,dce,q.toString()],G]);case 4:var z=n[1],W=z[4],Y=EMe(i(z[3][2][2]),W);return c(kce,u,Y,_r(z));case 5:return l(Qoe,[0,u,n[1]]);case 6:var H=n[1],K=[0,[0,hce,t(A,H[2])],0];return c(Cce,u,0,[0,[0,yce,e($,H[1])],K]);case 7:var Q=n[1],Z=[0,[0,wce,A(Q[3])],0],rr=[0,[0,Ace,A(Q[2])],Z],er=[0,[0,_ce,A(Q[1])],rr];return c(gce,u,Q[4],er);case 8:return w([0,u,n[1]]);case 9:var tr=n[1],nr=[0,[0,Bce,t(A,tr[2])],0];return c(xce,u,0,[0,[0,Sce,e($,tr[1])],nr]);case 10:return C(n[1]);case 11:var ur=n[1],ar=[0,[0,Tce,A(ur[1])],0];return c(Ice,u,ur[2],ar);case 12:return k([0,u,n[1]]);case 13:return E([0,u,n[1]]);case 14:var ir=n[1],or=ir[1];return"number"!=typeof or&&3===or[0]?c(Ove,u,ir[3],[0,[0,Nve,SAe],[0,[0,Ive,ir[2].toString()],0]]):y([0,u,ir]);case 15:var sr=n[1];switch(sr[1]){case 0:var vr=Nce;break;case 1:vr=Oce;break;default:vr=Lce}var Dr=[0,[0,Pce,A(sr[3])],0],pr=[0,[0,Rce,A(sr[2])],Dr];return c(jce,u,sr[4],[0,[0,Mce,vr.toString()],pr]);case 16:var br=n[1],Fr=gr(br);return c(Uce,u,br[3],Fr);case 17:var mr=n[1],dr=[0,[0,Xce,C(mr[2])],0],Er=[0,[0,Gce,C(mr[1])],dr];return c(Jce,u,mr[3],Er);case 18:var kr=n[1],hr=kr[4],yr=kr[3];if(yr)var Cr=yr[1],wr=EMe(i(Cr[2][2]),hr),Br=B(Cr),Sr=wr;else Br=OJe(0),Sr=hr;var xr=[0,[0,zce,t(lr,kr[2])],[0,[0,qce,Br],0]];return c(Vce,u,Sr,[0,[0,Wce,A(kr[1])],xr]);case 19:var Tr=n[1],Ir=[0,[0,$ce,e(J,Tr[1])],0];return c(Yce,u,i(Tr[2]),Ir);case 20:var Nr=n[1],Or=Nr[1],Lr=Or[4],Pr=EMe(i(Or[3][2][2]),Lr),Rr=[0,[0,Hce,!!Nr[2]],0];return c(Kce,u,Pr,fye(_r(Or),Rr));case 21:var Mr=n[1],jr=Mr[1],Ur=[0,[0,Qce,!!Mr[2]],0],Xr=fye(gr(jr),Ur);return c(Zce,u,jr[3],Xr);case 22:var Gr=n[1],Jr=[0,[0,rfe,e(A,Gr[1])],0];return c(efe,u,Gr[2],Jr);case 23:return c(tfe,u,n[1][1],0);case 24:var qr=n[1],zr=[0,[0,Wve,h(qr[2])],0],Wr=[0,[0,Vve,A(qr[1])],zr];return c($ve,u,qr[3],Wr);case 25:return h([0,u,n[1]]);case 26:return c(nfe,u,n[1][1],0);case 27:var Vr=n[1],$r=[0,[0,ufe,cr(Vr[2])],0],Yr=[0,[0,afe,A(Vr[1])],$r];return c(ife,u,Vr[3],Yr);case 28:var Hr=n[1],Kr=Hr[3],Qr=Hr[2],Zr=Hr[1];if(7<=Zr)return c(ffe,u,Kr,[0,[0,cfe,A(Qr)],0]);switch(Zr){case 0:var re=ofe;break;case 1:re=sfe;break;case 2:re=lfe;break;case 3:re=vfe;break;case 4:re=Dfe;break;case 5:re=pfe;break;case 6:re=bfe;break;default:re=nye(Ffe)}var ee=[0,[0,dfe,!0],[0,[0,mfe,A(Qr)],0]];return c(kfe,u,Kr,[0,[0,Efe,re.toString()],ee]);case 29:var te=n[1],ne=0===te[1]?yfe:hfe,ue=[0,[0,Cfe,!!te[3]],0],ae=[0,[0,wfe,A(te[2])],ue];return c(_fe,u,te[4],[0,[0,Afe,ne.toString()],ae]);default:var ie=n[1],ce=[0,[0,gfe,!!ie[3]],0],fe=[0,[0,Bfe,t(A,ie[1])],ce];return c(Sfe,u,ie[2],fe)}}function _(r){var e=r[2],t=[0,[0,toe,C(e[1])],0];return c(noe,r[1],e[2],t)}function g(r,e){var t=e[1][2],u=[0,[0,uoe,!!e[3]],0],a=[0,[0,aoe,n(cr,e[2])],u];return c(coe,r,t[2],[0,[0,ioe,t[1].toString()],a])}function B(r){return e(W,r[2][1])}function S(r){var n=r[2],u=[0,[0,foe,e(d,n[2])],0],a=[0,[0,ooe,t(A,n[1])],u];return c(soe,r[1],n[3],a)}function x(r){var e=r[2],n=[0,[0,loe,m(e[2])],0],u=[0,[0,voe,t(R,e[1])],n];return c(Doe,r[1],e[3],u)}function T(r){return 0===r?Ooe:Noe}function I(r){if(r){var t=r[1];if(0===t[0])return e(yr,t[1]);var n=t[2];if(n){var u=[0,[0,Loe,C(n[1])],0];return OJe([0,c(Poe,t[1],0,u),0])}return OJe(0)}return OJe(0)}function N(r){var e=r[2],t=[0,[0,ise,A(e[1])],0];return c(cse,r[1],e[2],t)}function O(r){var e=r[2],n=[0,[0,fse,t(sr,e[2])],0],u=[0,[0,ose,C(e[1])],n];return c(sse,r[1],0,u)}function L(r){switch(r[0]){case 0:var u=r[1],a=u[2],i=a[6],f=a[2];switch(f[0]){case 0:var o=[0,y(f[1]),0,i];break;case 1:o=[0,C(f[1]),0,i];break;case 2:o=[0,_(f[1]),0,i];break;default:var s=f[1][2],l=EMe(s[2],i);o=[0,A(s[1]),1,l]}switch(a[1]){case 0:var v=Dse;break;case 1:v=pse;break;case 2:v=bse;break;default:v=Fse}var D=[0,[0,mse,e(N,a[5])],0],p=[0,[0,kse,v.toString()],[0,[0,Ese,!!a[4]],[0,[0,dse,!!o[2]],D]]],b=[0,[0,hse,w(a[3])],p];return c(Cse,u[1],o[3],[0,[0,yse,o[1]],b]);case 1:var F=r[1],m=F[2],d=m[6],E=m[2],k=m[1];switch(k[0]){case 0:var h=[0,y(k[1]),0,d];break;case 1:h=[0,C(k[1]),0,d];break;case 2:h=nye(Tse);break;default:var g=k[1][2],B=EMe(g[2],d);h=[0,A(g[1]),1,B]}if("number"==typeof E)if(0===E)var S=0,x=1;else S=0,x=0;else S=[0,E[1]],x=0;var T=x?[0,[0,Ise,!!x],0]:x,I=[0,[0,Nse,t(Q,m[5])],0],O=[0,[0,Lse,!!h[2]],[0,[0,Ose,!!m[4]],I]],L=[0,[0,Pse,n(cr,m[3])],O],P=[0,[0,Rse,t(A,S)],L],R=fye([0,[0,Mse,h[1]],P],T);return c(jse,F[1],h[3],R);default:var M=r[1],j=M[2],U=j[2],X=j[1][2];if("number"==typeof U)if(0===U)var G=0,J=1;else G=0,J=0;else G=[0,U[1]],J=0;var q=EMe(X[2],j[6]),z=J?[0,[0,wse,!!J],0]:J,W=[0,[0,Ase,t(Q,j[5])],0],V=[0,[0,_se,!!j[4]],W],$=[0,[0,gse,n(cr,j[3])],V],Y=[0,[0,Bse,t(A,G)],$],H=fye([0,[0,Sse,C(X[1])],Y],z);return c(xse,M[1],q,H)}}function P(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,Cle,u],[0,[0,yle,t(sr,e[2])],0]];return c(wle,r[1],e[3],a)}function R(r){var t=r[2],u=r[1];switch(t[0]){case 0:var a=t[1],f=[0,[0,Ale,n(cr,a[2])],0],o=[0,[0,_le,e(q,a[1])],f];return c(gle,u,i(a[3]),o);case 1:var s=t[1],l=[0,[0,Ble,n(cr,s[2])],0],v=[0,[0,Sle,e(G,s[1])],l];return c(xle,u,i(s[3]),v);case 2:return g(u,t[1]);default:return A(t[1])}}function M(r){var e=r[2],t=e[2],n=e[1];if(t){var u=[0,[0,Tle,A(t[1])],0],a=[0,[0,Ile,R(n)],u];return c(Nle,r[1],0,a)}return R(n)}function j(r){var e=r[2],t=[0,[0,Lle,cF],[0,[0,Ole,cr(e[1])],0]];return c(Ple,r[1],e[2],t)}function U(r){var e=r[2],t=e[3],n=e[2],u=e[1];if(t){var a=t[1],i=a[2],f=[0,[0,Rle,R(i[1])],0],o=wye([0,c(Mle,a[1],i[2],f),gye(M,n)]),s=u?[0,j(u[1]),o]:o;return OJe(s)}var l=_ye(M,n),v=u?[0,j(u[1]),l]:l;return OJe(v)}function X(r,e){var t=[0,[0,jle,R(e[1])],0];return c(Ule,r,e[2],t)}function G(r){switch(r[0]){case 0:var e=r[1],t=e[2],n=t[2],u=t[1];if(n){var a=[0,[0,Xle,A(n[1])],0],i=[0,[0,Gle,R(u)],a];return c(Jle,e[1],0,i)}return R(u);case 1:var f=r[1];return X(f[1],f[2]);default:return SAe}}function J(r){if(0===r[0]){var e=r[1],t=e[2];switch(t[0]){case 0:var n=t[3],u=A(t[2]),a=[0,t[1],u,qle,0,n,0];break;case 1:var i=t[2],f=w([0,i[1],i[2]]);a=[0,t[1],f,zle,1,0,0];break;case 2:var o=t[2],s=t[3],l=w([0,o[1],o[2]]);a=[0,t[1],l,Wle,0,0,s];break;default:var v=t[2],D=t[3],p=w([0,v[1],v[2]]);a=[0,t[1],p,Vle,0,0,D]}var b=a[6],F=a[1];switch(F[0]){case 0:var m=[0,y(F[1]),0,b];break;case 1:m=[0,C(F[1]),0,b];break;case 2:m=nye($le);break;default:var d=F[1][2],E=EMe(d[2],b);m=[0,A(d[1]),1,E]}return c(eve,e[1],m[3],[0,[0,rve,m[1]],[0,[0,Zle,a[2]],[0,[0,Qle,a[3].toString()],[0,[0,Kle,!!a[4]],[0,[0,Hle,!!a[5]],[0,[0,Yle,!!m[2]],0]]]]]])}var k=r[1],h=k[2],_=[0,[0,tve,A(h[1])],0];return c(nve,k[1],h[2],_)}function q(r){if(0===r[0]){var e=r[1],t=e[2],n=t[3],u=t[2],a=t[1];switch(a[0]){case 0:var i=[0,y(a[1]),0,0];break;case 1:i=[0,C(a[1]),0,0];break;default:var f=a[1][2],o=f[2];i=[0,A(f[1]),1,o]}if(n)var s=n[1],l=lMe(u[1],s[1]),v=[0,[0,uve,A(s)],0],D=c(ive,l,0,[0,[0,ave,R(u)],v]);else D=R(u);return c(Dve,e[1],i[3],[0,[0,vve,i[1]],[0,[0,lve,D],[0,[0,sve,nk],[0,[0,ove,!1],[0,[0,fve,!!t[4]],[0,[0,cve,!!i[2]],0]]]]]])}var p=r[1];return X(p[1],p[2])}function z(r){var e=r[2],t=[0,[0,pve,A(e[1])],0];return c(bve,r[1],e[2],t)}function W(r){return 0===r[0]?A(r[1]):z(r[1])}function V(r){switch(r[0]){case 0:return A(r[1]);case 1:return z(r[1]);default:return SAe}}function $(r){var e=r[2],t=[0,[0,Fve,!!e[3]],0],n=[0,[0,mve,A(e[2])],t],u=[0,[0,dve,R(e[1])],n];return c(Eve,r[1],0,u)}function Y(r){var e=r[2];return c(Rve,r[1],e[3],[0,[0,Pve,e[1].toString()],[0,[0,Lve,e[2].toString()],0]])}function H(r){var e=r[2],t=e[1],n=NJe([0,[0,Gve,t[1].toString()],[0,[0,Xve,t[2].toString()],0]]);return c(zve,r[1],0,[0,[0,qve,n],[0,[0,Jve,!!e[2]],0]])}function K(r){var e=r[2],n=[0,[0,eDe,t(A,e[2])],0],u=[0,[0,tDe,R(e[1])],n];return c(nDe,r[1],0,u)}function Q(r){var e=r[2],t=0===e[1]?"plus":lh;return c(aDe,r[1],e[2],[0,[0,uDe,t],0])}function Z(r){var e=r[2],n=e[1],u=0===n[0]?C(n[1]):ir(n[1]),a=[0,[0,_pe,u],[0,[0,Ape,t(sr,e[2])],0]];return c(gpe,r[1],e[3],a)}function rr(r,e){var n=e[2],u=n[3],a=Sye((function(r,e){var n=r[4],u=r[3],a=r[2],i=r[1];switch(e[0]){case 0:var f=e[1],o=f[2],s=o[2],l=o[1];switch(l[0]){case 0:var v=y(l[1]);break;case 1:v=C(l[1]);break;case 2:v=nye(UDe);break;default:v=nye(XDe)}switch(s[0]){case 0:var D=[0,tr(s[1]),GDe];break;case 1:var p=s[1];D=[0,er([0,p[1],p[2]]),JDe];break;default:var b=s[1];D=[0,er([0,b[1],b[2]]),qDe]}var F=[0,[0,zDe,D[2].toString()],0],m=[0,[0,WDe,t(Q,o[7])],F];return[0,[0,c(ZDe,f[1],o[8],[0,[0,QDe,v],[0,[0,KDe,D[1]],[0,[0,HDe,!!o[6]],[0,[0,YDe,!!o[3]],[0,[0,$De,!!o[4]],[0,[0,VDe,!!o[5]],m]]]]]]),i],a,u,n];case 1:var d=e[1],E=d[2],k=[0,[0,rpe,tr(E[1])],0];return[0,[0,c(epe,d[1],E[2],k),i],a,u,n];case 2:var h=e[1],w=h[2],A=[0,[0,tpe,t(Q,w[5])],0],_=[0,[0,npe,!!w[4]],A],g=[0,[0,upe,tr(w[3])],_],B=[0,[0,ape,tr(w[2])],g],S=[0,[0,ipe,t(C,w[1])],B];return[0,i,[0,c(cpe,h[1],w[6],S),a],u,n];case 3:var x=e[1],T=x[2],I=[0,[0,fpe,!!T[2]],0],N=[0,[0,ope,er(T[1])],I];return[0,i,a,[0,c(spe,x[1],T[3],N),u],n];default:var O=e[1],L=O[2],P=[0,[0,lpe,tr(L[2])],0],R=[0,[0,ppe,!!L[3]],[0,[0,Dpe,!!L[4]],[0,[0,vpe,!!L[5]],P]]],M=[0,[0,bpe,C(L[1])],R];return[0,i,a,u,[0,c(Fpe,O[1],L[6],M),n]]}}),IDe,u),f=[0,[0,NDe,OJe(wye(a[4]))],0],o=[0,[0,ODe,OJe(wye(a[3]))],f],s=[0,[0,LDe,OJe(wye(a[2]))],o],l=[0,[0,PDe,OJe(wye(a[1]))],s],v=[0,[0,RDe,!!n[1]],l],D=r?[0,[0,MDe,!!n[2]],v]:v,p=i(n[4]);return c(jDe,e[1],p,D)}function er(r){var n=r[2],u=n[2][2],a=n[4],f=EMe(i(u[4]),a),o=[0,[0,dDe,t(fr,n[1])],0],s=[0,[0,EDe,t(ur,u[3])],o],l=[0,[0,kDe,tr(n[3])],s],v=[0,[0,hDe,t(ar,u[1])],l],D=u[2],p=[0,[0,yDe,e((function(r){return nr(0,r)}),D)],v];return c(CDe,r[1],f,p)}function tr(r){var t=r[2],n=r[1];switch(t[0]){case 0:return c(iDe,n,t[1],0);case 1:return c(cDe,n,t[1],0);case 2:return c(fDe,n,t[1],0);case 3:return c(oDe,n,t[1],0);case 4:return c(sDe,n,t[1],0);case 5:return c(vDe,n,t[1],0);case 6:return c(DDe,n,t[1],0);case 7:return c(pDe,n,t[1],0);case 8:return c(bDe,n,t[1],0);case 9:return c(lDe,n,t[1],0);case 10:return c(Hpe,n,t[1],0);case 11:var u=t[1],a=[0,[0,FDe,tr(u[1])],0];return c(mDe,n,u[2],a);case 12:return er([0,n,t[1]]);case 13:return rr(1,[0,n,t[1]]);case 14:var i=t[1],f=[0,[0,mpe,rr(0,i[1])],0],o=[0,[0,dpe,e(P,i[2])],f];return c(Epe,n,i[3],o);case 15:var s=t[1],l=[0,[0,kpe,tr(s[1])],0];return c(hpe,n,s[2],l);case 16:return Z([0,n,t[1]]);case 17:var v=t[1],D=v[1],p=[0,[0,Bpe,e(tr,[0,D[1],[0,D[2],D[3]]])],0];return c(Spe,n,v[2],p);case 18:var b=t[1],F=b[1],m=[0,[0,xpe,e(tr,[0,F[1],[0,F[2],F[3]]])],0];return c(Tpe,n,b[2],m);case 19:var d=t[1],E=[0,[0,Ipe,tr(d[1])],0];return c(Npe,n,d[3],E);case 20:var k=t[1],h=[0,[0,Ope,e(tr,k[1])],0];return c(Lpe,n,k[2],h);case 21:var y=t[1];return c(Mpe,n,y[3],[0,[0,Rpe,y[1].toString()],[0,[0,Ppe,y[2].toString()],0]]);case 22:var C=t[1];return c(Xpe,n,C[3],[0,[0,Upe,C[1]],[0,[0,jpe,C[2].toString()],0]]);case 23:var w=t[1];return c(qpe,n,w[3],[0,[0,Jpe,SAe],[0,[0,Gpe,w[2].toString()],0]]);default:var A=t[1],_=A[1],g=_?zpe:Wpe;return c(Ype,n,A[2],[0,[0,$pe,!!_],[0,[0,Vpe,g.toString()],0]])}}function nr(r,e){var n=e[2],u=[0,[0,wDe,!!n[3]],0],a=[0,[0,ADe,tr(n[2])],u],i=[0,[0,_De,t(C,n[1])],a];return c(gDe,e[1],r,i)}function ur(r){var e=r[2];return nr(e[2],e[1])}function ar(r){var e=r[2],n=[0,[0,SDe,tr(e[1][2])],[0,[0,BDe,!1],0]],u=[0,[0,xDe,t(C,0)],n];return c(TDe,r[1],e[2],u)}function ir(r){var e=r[2],t=e[1],n=0===t[0]?C(t[1]):ir(t[1]),u=[0,[0,Cpe,n],[0,[0,ype,C(e[2])],0]];return c(wpe,r[1],0,u)}function cr(r){var e=[0,[0,Kpe,tr(r[2])],0];return c(Qpe,r[1],0,e)}function fr(r){var t=r[2],n=[0,[0,Zpe,e(or,t[1])],0],u=i(t[2]);return c(rbe,r[1],u,n)}function or(r){var e=r[2],u=e[1][2],a=[0,[0,ebe,t(tr,e[4])],0],i=[0,[0,tbe,t(Q,e[3])],a],f=[0,[0,nbe,n(cr,e[2])],i];return c(abe,r[1],u[2],[0,[0,ube,u[1].toString()],f])}function sr(r){var t=r[2],n=[0,[0,ibe,e(tr,t[1])],0],u=i(t[2]);return c(cbe,r[1],u,n)}function lr(r){var t=r[2],n=[0,[0,fbe,e(vr,t[1])],0],u=i(t[2]);return c(obe,r[1],u,n)}function vr(r){if(0===r[0])return tr(r[1]);var e=r[1],t=e[1],n=e[2][1];return Z([0,t,[0,[0,bMe(0,[0,t,sbe])],0,n]])}function Dr(r){if(0===r[0]){var e=r[1],n=e[2],u=n[1],a=0===u[0]?mr(u[1]):dr(u[1]),i=[0,[0,Bbe,a],[0,[0,gbe,t(hr,n[2])],0]];return c(Sbe,e[1],0,i)}var f=r[1],o=f[2],s=[0,[0,xbe,A(o[1])],0];return c(Tbe,f[1],o[2],s)}function pr(r){var e=[0,[0,wbe,kr(r[2][1])],0];return c(Abe,r[1],0,e)}function br(r){var e=r[2],t=e[1],n=r[1],u=t?A(t[1]):c(Ibe,[0,n[1],[0,n[2][1],n[2][2]+1|0],[0,n[3][1],n[3][2]-1|0]],0,0);return c(Obe,n,i(e[2]),[0,[0,Nbe,u],0])}function Fr(r){var e=r[2],t=r[1];switch(e[0]){case 0:return k([0,t,e[1]]);case 1:return E([0,t,e[1]]);case 2:return br([0,t,e[1]]);case 3:var n=e[1],u=[0,[0,Lbe,A(n[1])],0];return c(Pbe,t,n[2],u);default:var a=e[1];return c(jbe,t,0,[0,[0,Mbe,a[1].toString()],[0,[0,Rbe,a[2].toString()],0]])}}function mr(r){var e=r[2];return c(Vbe,r[1],e[2],[0,[0,Wbe,e[1].toString()],0])}function dr(r){var e=r[2],t=[0,[0,Jbe,mr(e[2])],0],n=[0,[0,qbe,mr(e[1])],t];return c(zbe,r[1],0,n)}function Er(r){var e=r[2],t=e[1],n=0===t[0]?mr(t[1]):Er(t[1]),u=[0,[0,Xbe,n],[0,[0,Ube,mr(e[2])],0]];return c(Gbe,r[1],0,u)}function kr(r){switch(r[0]){case 0:return mr(r[1]);case 1:return dr(r[1]);default:return Er(r[1])}}function hr(r){return 0===r[0]?y([0,r[1],r[2]]):br([0,r[1],r[2]])}function yr(r){var e=r[2],t=e[2],n=e[1],u=C(t?t[1]:n),a=[0,[0,Ybe,C(n)],[0,[0,$be,u],0]];return c(Hbe,r[1],0,a)}function Cr(r){return e(wr,r)}function wr(r){var e=r[2];if(0===e[1])var t=iFe,n=e[2];else t=aFe,n=e[2];return c(t,r[1],0,[0,[0,cFe,n.toString()],0])}function Ar(r){var e=r[2],t=e[1];if(t)var n=oFe,u=[0,[0,fFe,A(t[1])],0];else n=sFe,u=0;return c(n,r[1],e[2],u)}function _r(r){var e=[0,[0,lFe,B(r[3])],0],n=[0,[0,vFe,t(lr,r[2])],e];return[0,[0,DFe,A(r[1])],n]}function gr(r){var e=r[2];switch(e[0]){case 0:var t=[0,C(e[1]),0];break;case 1:t=[0,_(e[1]),0];break;default:t=[0,A(e[1]),1]}var n=[0,[0,bFe,t[1]],[0,[0,pFe,!!t[2]],0]];return[0,[0,FFe,A(r[1])],n]}return[0,function(e){var t=e[2],n=f(t[1]),u=r[2]?[0,[0,yae,n],[0,[0,hae,Cr(t[3])],0]]:[0,[0,Cae,n],0];return c(wae,e[1],t[2],u)},A]}return[0,function(r){return c(r)[1]},function(r){return c(r)[2]},function(r){return e((function(r){var e=r[2];if("number"==typeof e){var t=e;if(55<=t)switch(t){case 55:var n=qWr;break;case 56:n=zWr;break;case 57:n=WWr;break;case 58:n=iye($Wr,VWr);break;case 59:n=iye(HWr,YWr);break;case 60:n=iye(QWr,KWr);break;case 61:n=ZWr;break;case 62:n=rVr;break;case 63:n=eVr;break;case 64:n=tVr;break;case 65:n=nVr;break;case 66:n=uVr;break;case 67:n=aVr;break;case 68:n=iVr;break;case 69:n=cVr;break;case 70:n=fVr;break;case 71:n=oVr;break;case 72:n=sVr;break;case 73:n=lVr;break;case 74:n=vVr;break;case 75:n=DVr;break;case 76:n=pVr;break;case 77:n=bVr;break;case 78:n=FVr;break;case 79:n=mVr;break;case 80:n=iye(EVr,dVr);break;case 81:n=kVr;break;case 82:n=hVr;break;case 83:n=yVr;break;case 84:n=CVr;break;case 85:n=wVr;break;case 86:n=AVr;break;case 87:n=_Vr;break;case 88:n=gVr;break;case 89:n=BVr;break;case 90:n=SVr;break;case 91:n=xVr;break;case 92:n=TVr;break;case 93:n=iye(NVr,IVr);break;case 94:n=OVr;break;case 95:n=LVr;break;case 96:n=PVr;break;case 97:n=RVr;break;case 98:n=MVr;break;case 99:n=jVr;break;case 100:n=UVr;break;case 101:n=XVr;break;case 102:n=GVr;break;case 103:n=JVr;break;case 104:n=qVr;break;case 105:n=zVr;break;case 106:n=WVr;break;case 107:n=VVr;break;case 108:n=$Vr;break;default:n=YVr}else switch(t){case 0:n=Gzr;break;case 1:n=Jzr;break;case 2:n=qzr;break;case 3:n=zzr;break;case 4:n=Wzr;break;case 5:n=Vzr;break;case 6:n=$zr;break;case 7:n=Yzr;break;case 8:n=Hzr;break;case 9:n=Kzr;break;case 10:n=Qzr;break;case 11:n=Zzr;break;case 12:n=rWr;break;case 13:n=eWr;break;case 14:n=tWr;break;case 15:n=nWr;break;case 16:n=uWr;break;case 17:n=aWr;break;case 18:n=iWr;break;case 19:n=cWr;break;case 20:n=fWr;break;case 21:n=oWr;break;case 22:n=sWr;break;case 23:n=lWr;break;case 24:n=vWr;break;case 25:n=DWr;break;case 26:n=pWr;break;case 27:n=bWr;break;case 28:n=FWr;break;case 29:n=mWr;break;case 30:n=iye(EWr,dWr);break;case 31:n=kWr;break;case 32:n=hWr;break;case 33:n=yWr;break;case 34:n=CWr;break;case 35:n=wWr;break;case 36:n=AWr;break;case 37:n=_Wr;break;case 38:n=gWr;break;case 39:n=BWr;break;case 40:n=SWr;break;case 41:n=xWr;break;case 42:n=TWr;break;case 43:n=IWr;break;case 44:n=NWr;break;case 45:n=OWr;break;case 46:n=LWr;break;case 47:n=PWr;break;case 48:n=RWr;break;case 49:n=MWr;break;case 50:n=jWr;break;case 51:n=UWr;break;case 52:n=XWr;break;case 53:n=GWr;break;default:n=JWr}}else switch(e[0]){case 0:n=iye(HVr,e[1]);break;case 1:var u=e[2],i=e[1];n=Sx(LCe(KVr),u,u,i);break;case 2:var c=e[1],f=e[2];n=Bx(LCe(QVr),f,c);break;case 3:var o=e[1];n=gx(LCe(ZVr),o);break;case 4:var s=e[2],l=e[1],v=gx(LCe(r$r),l);if(s){var D=s[1];n=Bx(LCe(e$r),D,v)}else n=gx(LCe(t$r),v);break;case 5:var p=e[1];n=Bx(LCe(n$r),p,p);break;case 6:var b=e[3],F=e[2],m=e[1];if(F){var d=F[1];if(3<=d)n=Bx(LCe(u$r),b,m);else{switch(d){case 0:var E=Mzr;break;case 1:E=jzr;break;case 2:E=Uzr;break;default:E=Xzr}n=xx(LCe(a$r),m,E,b,E)}}else n=Bx(LCe(i$r),b,m);break;case 7:var k=e[2],h=k;if(0===ZS(h))var y=h;else{var C=Pye(h);tS(C,0,pye(uS(h,0)));y=C}var w=e[1];n=Sx(LCe(c$r),k,y,w);break;case 8:n=e[1]?f$r:o$r;break;case 9:var A=e[1],_=e[2];n=Bx(LCe(s$r),_,A);break;case 10:var g=e[1];n=gx(LCe(l$r),g);break;case 11:var B=e[1];n=gx(LCe(v$r),B);break;case 12:var S=e[2],x=e[1];n=Bx(LCe(D$r),x,S);break;case 13:var T=e[2],I=e[1];n=Bx(LCe(p$r),I,T);break;case 14:n=iye(F$r,iye(e[1],b$r));break;case 15:n=iye(d$r,iye(e[1],m$r));break;case 16:var N=iye(k$r,iye(e[2],E$r));n=iye(e[1],N);break;case 17:n=iye(h$r,e[1]);break;case 18:n=e[1]?iye(C$r,y$r):iye(A$r,w$r);break;case 19:var O=e[1];n=gx(LCe(_$r),O);break;case 20:n=iye(B$r,iye(e[1],g$r));break;case 21:var L=e[1],P=e[2]?S$r:x$r,R=e[3]?iye(T$r,L):L;n=iye(O$r,iye(P,iye(N$r,iye(R,I$r))));break;case 22:n=iye(P$r,iye(e[1],L$r));break;default:var M=e[1];n=gx(LCe(R$r),M)}var j=[0,[0,mFe,n.toString()],0];return NJe([0,[0,dFe,a(r[1])],j])}),r)}]}([0,1,1,0]),RJe=function(r){function e(e,t){var n=t[2],u=t[1],a=gMe(n),i=[0,[0,Phe,gx(r[1],a)],0],c=MGe(e,u[3]),f=[0,gx(r[5],c),0],o=MGe(e,u[2]),s=[0,gx(r[5],o),f],l=[0,[0,Rhe,gx(r[4],s)],i],v=[0,[0,Mhe,gx(r[5],u[3][2])],0],D=[0,[0,jhe,gx(r[5],u[3][1])],v],p=[0,[0,Uhe,gx(r[3],D)],0],b=[0,[0,Xhe,gx(r[5],u[2][2])],0],F=[0,[0,Ghe,gx(r[5],u[2][1])],b],m=[0,[0,Jhe,gx(r[3],F)],p],d=[0,[0,qhe,gx(r[3],m)],l];switch(t[3]){case 0:var E=zhe;break;case 1:E=Whe;break;case 2:E=Vhe;break;case 3:E=$he;break;case 4:E=Yhe;break;default:E=Hhe}var k=[0,[0,Khe,gx(r[1],E)],d],h=_Me(n),y=[0,[0,Qhe,gx(r[1],h)],k];return gx(r[3],y)}return[0,e,function(t,n){var u=wye(gye((function(r){return e(t,r)}),n));return gx(r[4],u)}]}([0,TJe,IJe,NJe,OJe,function(r){return r},function(r){return r},SAe,LJe]),MJe=function(r,e){var t=DS(e,xAe)?{}:e,n=_S(r),u=t.enums,a=TAe(u)?[0,0|u,Wx[2],Wx[3],Wx[4],Wx[5],Wx[6],Wx[7],Wx[8],Wx[9]]:Wx,i=t.esproposal_decorators,c=TAe(i)?[0,a[1],a[2],a[3],0|i,a[5],a[6],a[7],a[8],a[9]]:a,f=t.esproposal_class_instance_fields,o=TAe(f)?[0,c[1],0|f,c[3],c[4],c[5],c[6],c[7],c[8],c[9]]:c,s=t.esproposal_class_static_fields,l=TAe(s)?[0,o[1],o[2],0|s,o[4],o[5],o[6],o[7],o[8],o[9]]:o,v=t.esproposal_export_star_as,D=TAe(v)?[0,l[1],l[2],l[3],l[4],0|v,l[6],l[7],l[8],l[9]]:l,p=t.esproposal_optional_chaining,b=TAe(p)?[0,D[1],D[2],D[3],D[4],D[5],0|p,D[7],D[8],D[9]]:D,F=t.esproposal_nullish_coalescing,m=TAe(F)?[0,b[1],b[2],b[3],b[4],b[5],b[6],0|F,b[8],b[9]]:b,d=t.types,E=TAe(d)?[0,m[1],m[2],m[3],m[4],m[5],m[6],m[7],0|d,m[9]]:m,k=t.tokens,h=TAe(k),y=h?0|k:h,C=[0,0],w=[0,[0,E]],A=[0,y?[0,function(r){return C[1]=[0,r,C[1]],0}]:y],_=Hx?Hx[1]:1,g=[0,w?w[1]:w],B=[0,A?A[1]:A],S=cXe([0,B?B[1]:B],[0,g?g[1]:g],0,n),x=gx($Ge[1],S),T=wye(S[1][1]),I=wye(Sye((function(r,e){var t=r[2],n=r[1];return Bx(VGe[3],e,n)?[0,n,t]:[0,Bx(VGe[4],e,n),[0,e,t]]}),[0,VGe[1],0],T)[2]);if(_?0!==I?1:0:_)throw[0,yMe,I];xJe[1]=0;for(var N=RS(n)-0|0,O=n,L=0,P=0;;){if(P===N)var R=L;else{var M=uS(O,P);if(0<=M)if(zy>>0)throw[0,jx,gO];switch(q){case 0:var W=uS(O,P);break;case 1:W=(31&uS(O,P))<<6|63&uS(O,P+1|0);break;case 2:W=(15&uS(O,P))<<12|(63&uS(O,P+1|0))<<6|63&uS(O,P+2|0);break;default:W=(7&uS(O,P))<<18|(63&uS(O,P+1|0))<<12|(63&uS(O,P+2|0))<<6|63&uS(O,P+3|0)}L=LGe(L,0,[0,W]),P=z;continue}R=LGe(L,0,0)}for(var V=vae,$=wye([0,6,R]);;){var Y=V[3],H=V[2],K=V[1];if(!$){var Q=$ye(wye(Y)),Z=Bx(PJe[1],[0,Q],x),rr=fye(I,xJe[1]);if(Z.errors=gx(PJe[3],rr),y){var er=C[1];Z.tokens=OJe(gye(gx(RJe[1],Q),er))}return Z}var tr=$[1];if(5===tr){var nr=$[2];if(nr&&6===nr[1]){V=[0,K+2|0,0,[0,$ye(wye([0,K,H])),Y]],$=nr[2];continue}}else if(!(6<=tr)){var ur=$[2];V=[0,K+OGe(tr)|0,[0,K,H],Y],$=ur;continue}var ar=$ye(wye([0,K,H])),ir=$[2];V=[0,K+OGe(tr)|0,0,[0,ar,Y]],$=ir}}},jJe=function(r){if(r[1]===NAe)return gx(LAe,r[2]);return gx(LAe,new OAe(iye(Zhe,function(e){for(var t=e;;){if(!t){if(r===Ix)return KN;if(r===Mx)return QN;if(r[1]===Rx){var n=r[2],u=n[3],a=n[2],i=n[1];return Tx(LCe(Xx),i,a,u,u+5|0,ZN)}if(r[1]===jx){var c=r[2],f=c[3],o=c[2],s=c[1];return Tx(LCe(Xx),s,o,f,f+6|0,rO)}if(r[1]===Ux){var l=r[2],v=l[3],D=l[2],p=l[1];return Tx(LCe(Xx),p,D,v,v+6|0,eO)}return 0===Fx(r)?iye(r[1][1],jCe(r)):r[1]}var b=t[2],F=t[1];try{var m=gx(F,r)}catch(r){m=0}if(m)return m[1];t=b}}(PCe[1])).toString()))};return e.parse=function(r,e){try{return MJe(r,e)}catch(e){return e=_x(e),jJe(e)}},void gx(lye[1],0)}yAe=CAe}else kAe=hAe}else dAe=EAe}else FAe=mAe}}(new Function("return this")())}));const{hasPragma:qt}=zr,{locStart:zt,locEnd:Wt}=Yr;var Vt={parsers:{flow:{parse:function(e,t,n){const u=Jt.parse(e,{enums:!0,esproposal_decorators:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_export_star_as:!0,esproposal_optional_chaining:!0,esproposal_nullish_coalescing:!0,tokens:!0}),[a]=u.errors;if(a){const{message:e,loc:{start:t,end:n}}=a;throw r(e,{start:{line:t.line,column:t.column+1},end:{line:n.line,column:n.column+1}})}return Lt(u,Object.assign({},n,{originalText:e}))},astFormat:"estree",hasPragma:qt,locStart:zt,locEnd:Wt}}};export default Vt; diff --git a/node_modules/prettier/esm/parser-glimmer.mjs b/node_modules/prettier/esm/parser-glimmer.mjs deleted file mode 100644 index b89fccaf..00000000 --- a/node_modules/prettier/esm/parser-glimmer.mjs +++ /dev/null @@ -1 +0,0 @@ -var t,e,r=(function(t,e){var r="\n",n=function(){function t(t){this.string=t;for(var e=[0],n=0;nthis.string.length)return null;for(var e=0,r=this.offsets;r[e+1]<=t;)e++;return{line:e,column:t-r[e]}},t.prototype.indexForLocation=function(t){var e=t.line,r=t.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},t.prototype.lengthOfLine=function(t){var e=this.offsets[t];return(t===this.offsets.length-1?this.string.length:this.offsets[t+1])-e},t}();e.__esModule=!0,e.default=n}(e={path:t,exports:{},require:function(t,r){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==r&&e.path)}},e.exports),e.exports);var n=function(t,e){const r=new SyntaxError(t+" ("+e.start.line+":"+e.start.column+")");return r.loc=e,r};var s={locStart:function(t){return t.loc.start.offset},locEnd:function(t){return t.loc.end.offset}};Object.freeze([]);function a(){return Object.create(null)}const{keys:i}=Object;function o(t){for(let e=1;et;function c(t){return t.length>0}function h(t,e="unexpected empty list"){if(!c(t))throw new Error(e)}const u=console;const p=Object.freeze({line:1,column:0}),d=Object.freeze({source:"(synthetic)",start:p,end:p}),m=(Object.freeze({source:"(temporary)",start:p,end:p}),Object.freeze({source:"(nonexistent)",start:p,end:p})),f=Object.freeze({source:"(broken)",start:p,end:p});class g{constructor(t){this.loc=t.loc,this.chars=t.chars}static synthetic(t){let e=U.synthetic(t);return new g({loc:e,chars:t})}static load(t,e){return new g({loc:U.load(t,e[1]),chars:e[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}}var b,y,k,v=function(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r},w=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)};class S{constructor(t){b.set(this,void 0),v(this,b,t)}first(t){for(let e of w(this,b)){let r=e.match(t);if(c(r))return r[0]}return null}}b=new WeakMap;class E{constructor(){y.set(this,new Map)}get(t,e){let r=w(this,y).get(t);return r||(r=e(),w(this,y).set(t,r),r)}add(t,e){w(this,y).set(t,e)}match(t){let e=function(t){switch(t){case"Broken":case"InternalsSynthetic":case"NonExistent":return"IS_INVISIBLE";default:return t}}(t),r=[],n=w(this,y).get(e),s=w(this,y).get("MATCH_ANY");return n&&r.push(n),s&&r.push(s),r}}function x(t){return t(new N).check()}y=new WeakMap;class N{constructor(){k.set(this,new E)}check(){return(t,e)=>this.matchFor(t.kind,e.kind)(t,e)}matchFor(t,e){let r=w(this,k).match(t);return new S(r).first(e)}when(t,e,r){return w(this,k).get(t,(()=>new E)).add(e,r),this}}k=new WeakMap;var T,A,P=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},C=function(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r};class L{constructor(t){this.data=t}static forHbsPos(t,e){return new q(t,e,null).wrap()}static broken(t=p){return new O("Broken",t).wrap()}get offset(){let t=this.data.toCharPos();return null===t?null:t.offset}eql(t){return _(this.data,t.data)}until(t){return $(this.data,t.data)}move(t){let e=this.data.toCharPos();if(null===e)return L.broken();{let r=e.offset+t;return e.source.check(r)?new B(e.source,r).wrap():L.broken()}}collapsed(){return $(this.data,this.data)}toJSON(){return this.data.toJSON()}}class B{constructor(t,e){this.source=t,this.charPos=e,this.kind="CharPosition",T.set(this,null)}toCharPos(){return this}toJSON(){let t=this.toHbsPos();return null===t?p:t.toJSON()}wrap(){return new L(this)}get offset(){return this.charPos}toHbsPos(){let t=P(this,T);if(null===t){let e=this.source.hbsPosFor(this.charPos);C(this,T,t=null===e?"BROKEN":new q(this.source,e,this.charPos))}return"BROKEN"===t?null:t}}T=new WeakMap;class q{constructor(t,e,r=null){this.source=t,this.hbsPos=e,this.kind="HbsPosition",A.set(this,void 0),C(this,A,null===r?null:new B(t,r))}toCharPos(){let t=P(this,A);if(null===t){let e=this.source.charPosFor(this.hbsPos);C(this,A,t=null===e?"BROKEN":new B(this.source,e))}return"BROKEN"===t?null:t}toJSON(){return this.hbsPos}wrap(){return new L(this)}toHbsPos(){return this}}A=new WeakMap;class O{constructor(t,e){this.kind=t,this.pos=e}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new L(this)}get offset(){return null}}const _=x((t=>t.when("HbsPosition","HbsPosition",(({hbsPos:t},{hbsPos:e})=>t.column===e.column&&t.line===e.line)).when("CharPosition","CharPosition",(({charPos:t},{charPos:e})=>t===e)).when("CharPosition","HbsPosition",(({offset:t},e)=>{var r;return t===(null===(r=e.toCharPos())||void 0===r?void 0:r.offset)})).when("HbsPosition","CharPosition",((t,{offset:e})=>{var r;return(null===(r=t.toCharPos())||void 0===r?void 0:r.offset)===e})).when("MATCH_ANY","MATCH_ANY",(()=>!1))));var D,H,R,V=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)},I=function(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r};class U{constructor(t){this.data=t,this.isInvisible="CharPosition"!==t.kind&&"HbsPosition"!==t.kind}static get NON_EXISTENT(){return new z("NonExistent",m).wrap()}static load(t,e){return"number"==typeof e?U.forCharPositions(t,e,e):"string"==typeof e?U.synthetic(e):Array.isArray(e)?U.forCharPositions(t,e[0],e[1]):"NonExistent"===e?U.NON_EXISTENT:"Broken"===e?U.broken(f):void function(t,e="unexpected unreachable branch"){throw u.log("unreachable",t),u.log("".concat(e," :: ").concat(JSON.stringify(t)," (").concat(t,")")),new Error("code reached unreachable")}(e)}static forHbsLoc(t,e){let r=new q(t,e.start),n=new q(t,e.end);return new F(t,{start:r,end:n},e).wrap()}static forCharPositions(t,e,r){let n=new B(t,e),s=new B(t,r);return new M(t,{start:n,end:s}).wrap()}static synthetic(t){return new z("InternalsSynthetic",m,t).wrap()}static broken(t=f){return new z("Broken",t).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let t=this.data.toHbsSpan();return null===t?f:t.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(t){return $(t.data,this.data.getEnd())}withEnd(t){return $(this.data.getStart(),t.data)}asString(){return this.data.asString()}toSlice(t){let e=this.data.asString();return new g({loc:this,chars:t||e})}get start(){return this.loc.start}set start(t){this.data.locDidUpdate({start:t})}get end(){return this.loc.end}set end(t){this.data.locDidUpdate({end:t})}get source(){return this.module}collapse(t){switch(t){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(t){return $(this.data.getStart(),t.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:t=0,skipEnd:e=0}){return $(this.getStart().move(t).data,this.getEnd().move(-e).data)}sliceStartChars({skipStart:t=0,chars:e}){return $(this.getStart().move(t).data,this.getStart().move(t+e).data)}sliceEndChars({skipEnd:t=0,chars:e}){return $(this.getEnd().move(t-e).data,this.getStart().move(-t).data)}}class M{constructor(t,e){this.source=t,this.charPositions=e,this.kind="CharPosition",D.set(this,null)}wrap(){return new U(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let t=V(this,D);if(null===t){let e=this.charPositions.start.toHbsPos(),r=this.charPositions.end.toHbsPos();t=I(this,D,null===e||null===r?"BROKEN":new F(this.source,{start:e,end:r}))}return"BROKEN"===t?null:t}serialize(){let{start:{charPos:t},end:{charPos:e}}=this.charPositions;return t===e?t:[t,e]}toCharPosSpan(){return this}}D=new WeakMap;class F{constructor(t,e,r=null){this.source=t,this.hbsPositions=e,this.kind="HbsPosition",H.set(this,null),R.set(this,void 0),I(this,R,r)}serialize(){let t=this.toCharPosSpan();return null===t?"Broken":t.wrap().serialize()}wrap(){return new U(this)}updateProvided(t,e){V(this,R)&&(V(this,R)[e]=t),I(this,H,null),I(this,R,{start:t,end:t})}locDidUpdate({start:t,end:e}){void 0!==t&&(this.updateProvided(t,"start"),this.hbsPositions.start=new q(this.source,t,null)),void 0!==e&&(this.updateProvided(e,"end"),this.hbsPositions.end=new q(this.source,e,null))}asString(){let t=this.toCharPosSpan();return null===t?"":t.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let t=V(this,H);if(null===t){let e=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!e||!r)return t=I(this,H,"BROKEN"),null;t=I(this,H,new M(this.source,{start:e,end:r}))}return"BROKEN"===t?null:t}}H=new WeakMap,R=new WeakMap;class z{constructor(t,e,r=null){this.kind=t,this.loc=e,this.string=r}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new U(this)}asString(){return this.string||""}locDidUpdate({start:t,end:e}){void 0!==t&&(this.loc.start=t),void 0!==e&&(this.loc.end=e)}getModule(){return"an unknown module"}getStart(){return new O(this.kind,this.loc.start)}getEnd(){return new O(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return f}}const $=x((t=>t.when("HbsPosition","HbsPosition",((t,e)=>new F(t.source,{start:t,end:e}).wrap())).when("CharPosition","CharPosition",((t,e)=>new M(t.source,{start:t,end:e}).wrap())).when("CharPosition","HbsPosition",((t,e)=>{let r=e.toCharPos();return null===r?new z("Broken",f).wrap():$(t,r)})).when("HbsPosition","CharPosition",((t,e)=>{let r=t.toCharPos();return null===r?new z("Broken",f).wrap():$(r,e)})).when("IS_INVISIBLE","MATCH_ANY",(t=>new z(t.kind,f).wrap())).when("MATCH_ANY","IS_INVISIBLE",((t,e)=>new z(e.kind,f).wrap()))));class j{constructor(t,e="an unknown module"){this.source=t,this.module=e}check(t){return t>=0&&t<=this.source.length}slice(t,e){return this.source.slice(t,e)}offsetFor(t,e){return L.forHbsPos(this,{line:t,column:e})}spanFor({start:t,end:e}){return U.forHbsLoc(this,{start:{line:t.line,column:t.column},end:{line:e.line,column:e.column}})}hbsPosFor(t){let e=0,r=0;if(t>this.source.length)return null;for(;;){let n=this.source.indexOf("\n",r);if(t<=n||-1===n)return{line:e+1,column:t-r};e+=1,r=n+1}}charPosFor(t){let{line:e,column:r}=t,n=this.source.length,s=0,a=0;for(;;){if(a>=n)return n;let t=this.source.indexOf("\n",a);if(-1===t&&(t=this.source.length),s===e-1)return a+r>t?t:a+r;if(-1===t)return 0;s+=1,a=t+1}}}class G{constructor(t,e,r,n){this.original=t,this.loc=n,this.type="PathExpression",this.this=!1,this.data=!1;let s=r.slice();"ThisHead"===e.type?this.this=!0:"AtHead"===e.type?(this.data=!0,s.unshift(e.name.slice(1))):s.unshift(e.name),this.parts=s}get head(){let t;t=this.this?"this":this.data?"@".concat(this.parts[0]):this.parts[0];let e=this.loc.collapse("start").sliceStartChars({chars:t.length}).loc;return st.head(t,e)}get tail(){return this.this?this.parts:this.parts.slice(1)}}let K;function W(){return K||(K=new j("","(synthetic)")),K}function J(t){switch(t.type){case"AtHead":return{original:t.name,parts:[t.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:t.name,parts:[t.name]}}}function Q(t,e){let r,[n,...s]=t.split(".");return r="this"===n?{type:"ThisHead",loc:nt(e||null)}:"@"===n[0]?{type:"AtHead",name:n,loc:nt(e||null)}:{type:"VarHead",name:n,loc:nt(e||null)},{head:r,tail:s}}function Y(t){return{type:"ThisHead",loc:nt(t||null)}}function Z(t,e){return{type:"AtHead",name:t,loc:nt(e||null)}}function X(t,e){return{type:"VarHead",name:t,loc:nt(e||null)}}function tt(t,e){if("string"!=typeof t){if("type"in t)return t;{let{head:r,tail:n}=Q(t.head,U.broken()),{original:s}=J(r);return new G([s,...n].join("."),r,n,nt(e||null))}}let{head:r,tail:n}=Q(t,U.broken());return new G(t,r,n,nt(e||null))}function et(t,e,r){return{type:t,value:e,original:e,loc:nt(r||null)}}function rt(t,e){return{type:"Hash",pairs:t||[],loc:nt(e||null)}}function nt(...t){if(1===t.length){let e=t[0];return e&&"object"==typeof e?U.forHbsLoc(W(),e):U.forHbsLoc(W(),d)}{let[e,r,n,s,a]=t,i=a?new j("",a):W();return U.forHbsLoc(i,{start:{line:e,column:r},end:{line:n,column:s}})}}var st={mustache:function(t,e,r,n,s,a){return"string"==typeof t&&(t=tt(t)),{type:"MustacheStatement",path:t,params:e||[],hash:r||rt([]),escaped:!n,trusting:!!n,loc:nt(s||null),strip:a||{open:!1,close:!1}}},block:function(t,e,r,n,s,a,i,l,c){let h,u;return h="Template"===n.type?o({},n,{type:"Block"}):n,u=null!=s&&"Template"===s.type?o({},s,{type:"Block"}):s,{type:"BlockStatement",path:tt(t),params:e||[],hash:r||rt([]),program:h||null,inverse:u||null,loc:nt(a||null),openStrip:i||{open:!1,close:!1},inverseStrip:l||{open:!1,close:!1},closeStrip:c||{open:!1,close:!1}}},partial:function(t,e,r,n,s){return{type:"PartialStatement",name:t,params:e||[],hash:r||rt([]),indent:n||"",strip:{open:!1,close:!1},loc:nt(s||null)}},comment:function(t,e){return{type:"CommentStatement",value:t,loc:nt(e||null)}},mustacheComment:function(t,e){return{type:"MustacheCommentStatement",value:t,loc:nt(e||null)}},element:function(t,e){let r,{attrs:n,blockParams:s,modifiers:a,comments:i,children:o,loc:l}=e,c=!1;return"object"==typeof t?(c=t.selfClosing,r=t.name):"/"===t.slice(-1)?(r=t.slice(0,-1),c=!0):r=t,{type:"ElementNode",tag:r,selfClosing:c,attributes:n||[],blockParams:s||[],modifiers:a||[],comments:i||[],children:o||[],loc:l}},elementModifier:function(t,e,r,n){return{type:"ElementModifierStatement",path:tt(t),params:e||[],hash:r||rt([]),loc:nt(n||null)}},attr:function(t,e,r){return{type:"AttrNode",name:t,value:e,loc:nt(r||null)}},text:function(t,e){return{type:"TextNode",chars:t||"",loc:nt(e||null)}},sexpr:function(t,e,r,n){return{type:"SubExpression",path:tt(t),params:e||[],hash:r||rt([]),loc:nt(n||null)}},concat:function(t,e){if(!c(t))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:t||[],loc:nt(e||null)}},hash:rt,pair:function(t,e,r){return{type:"HashPair",key:t,value:e,loc:nt(r||null)}},literal:et,program:function(t,e,r){return{type:"Template",body:t||[],blockParams:e||[],loc:nt(r||null)}},blockItself:function(t,e,r=!1,n){return{type:"Block",body:t||[],blockParams:e||[],chained:r,loc:nt(n||null)}},template:function(t,e,r){return{type:"Template",body:t||[],blockParams:e||[],loc:nt(r||null)}},loc:nt,pos:function(t,e){return{line:t,column:e}},path:tt,fullPath:function(t,e,r){let{original:n,parts:s}=J(t),a=[...n,...[...s,...e]].join(".");return new G(a,t,e,nt(r||null))},head:function(t,e){return"@"===t[0]?Z(t,e):"this"===t?Y(e):X(t,e)},at:Z,var:X,this:Y,blockName:function(t,e){return{type:"NamedBlockName",name:t,loc:nt(e||null)}},string:at("StringLiteral"),boolean:at("BooleanLiteral"),number:at("NumberLiteral"),undefined:()=>et("UndefinedLiteral",void 0),null:()=>et("NullLiteral",null)};function at(t){return function(e,r){return et(t,e,r)}}var it=Object.freeze({__proto__:null});class ot{resolution(){return 33}serialize(){return"Strict"}}const lt=new ot;class ct{constructor(t){this.ambiguity=t}static namespaced(t){return new ct({namespaces:[t],fallback:!1})}static fallback(){return new ct({namespaces:[],fallback:!0})}static append({invoke:t}){return new ct({namespaces:["Component","Helper"],fallback:!t})}static attr(){return new ct({namespaces:["Helper"],fallback:!0})}resolution(){if(0===this.ambiguity.namespaces.length)return 34;if(1!==this.ambiguity.namespaces.length)return this.ambiguity.fallback?35:36;if(this.ambiguity.fallback)return 37;switch(this.ambiguity.namespaces[0]){case"Helper":return 38;case"Modifier":return 39;case"Component":return 40}}serialize(){return 0===this.ambiguity.namespaces.length?"Loose":1===this.ambiguity.namespaces.length?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}}const ht=ct.fallback();function ut(t){if(void 0!==t){const e=t;return{fields:()=>class{constructor(t){this.type=e,this.loc=t.loc,pt(t,this)}}}}return{fields:()=>class{constructor(t){this.loc=t.loc,pt(t,this)}}}}function pt(t,e){for(let n of(r=t,Object.keys(r)))e[n]=t[n];var r}class dt extends(ut().fields()){static empty(t){return new dt({loc:t,positional:mt.empty(t),named:ft.empty(t)})}static named(t){return new dt({loc:t.loc,positional:mt.empty(t.loc.collapse("end")),named:t})}nth(t){return this.positional.nth(t)}get(t){return this.named.get(t)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}}class mt extends(ut().fields()){static empty(t){return new mt({loc:t,exprs:[]})}get size(){return this.exprs.length}nth(t){return this.exprs[t]||null}isEmpty(){return 0===this.exprs.length}}class ft extends(ut().fields()){static empty(t){return new ft({loc:t,entries:[]})}get size(){return this.entries.length}get(t){let e=this.entries.filter((e=>e.name.chars===t))[0];return e?e.value:null}isEmpty(){return 0===this.entries.length}}class gt{constructor(t){this.loc=t.name.loc.extend(t.value.loc),this.name=t.name,this.value=t.value}}class bt extends(ut("HtmlAttr").fields()){}class yt extends(ut("SplatAttr").fields()){}class kt extends(ut().fields()){toNamedArgument(){return new gt({name:this.name,value:this.value})}}class vt extends(ut("ElementModifier").fields()){}var wt,St=function(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r},Et=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)};class xt{constructor(t=[]){wt.set(this,void 0),St(this,wt,t)}static range(t,e=U.NON_EXISTENT){return new xt(t.map(Nt)).getRangeOffset(e)}add(t){Et(this,wt).push(t)}getRangeOffset(t){if(0===Et(this,wt).length)return t;{let t=Et(this,wt)[0],e=Et(this,wt)[Et(this,wt).length-1];return t.extend(e)}}}function Nt(t){if(Array.isArray(t)){let e=t[0],r=t[t.length-1];return Nt(e).extend(Nt(r))}return t instanceof U?t:t.loc}function Tt(t){return!Array.isArray(t)||0!==t.length}wt=new WeakMap;class At extends(ut("GlimmerComment").fields()){}class Pt extends(ut("HtmlText").fields()){}class Ct extends(ut("HtmlComment").fields()){}class Lt extends(ut("AppendContent").fields()){get callee(){return"Call"===this.value.type?this.value.callee:this.value}get args(){return"Call"===this.value.type?this.value.args:dt.empty(this.value.loc.collapse("end"))}}class Bt extends(ut("InvokeBlock").fields()){}class qt extends(ut("InvokeComponent").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return dt.named(new ft({loc:xt.range(t,this.callee.loc.collapse("end")),entries:t}))}}class Ot extends(ut("SimpleElement").fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return dt.named(new ft({loc:xt.range(t,this.tag.loc.collapse("end")),entries:t}))}}class _t extends(ut("Literal").fields()){toSlice(){return new g({loc:this.loc,chars:this.value})}}class Dt extends(ut("Path").fields()){}class Ht extends(ut("Call").fields()){}class Rt extends(ut("Interpolate").fields()){}class Vt extends(ut("This").fields()){}class It extends(ut("Arg").fields()){}class Ut extends(ut("Local").fields()){}class Mt extends(ut("Free").fields()){}class Ft extends(ut().fields()){}class zt extends(ut().fields()){}class $t extends(ut().fields()){get(t){return this.blocks.filter((e=>e.name.chars===t))[0]||null}}class jt extends(ut().fields()){get args(){let t=this.componentArgs.map((t=>t.toNamedArgument()));return dt.named(new ft({loc:xt.range(t,this.name.loc.collapse("end")),entries:t}))}}var Gt=Object.freeze({__proto__:null,StrictResolution:ot,STRICT_RESOLUTION:lt,LooseModeResolution:ct,ARGUMENT_RESOLUTION:ht,loadResolution:function(t){if("string"==typeof t)switch(t){case"Loose":return ct.fallback();case"Strict":return lt}switch(t[0]){case"ambiguous":switch(t[1]){case"Append":return ct.append({invoke:!1});case"Attr":return ct.attr();case"Invoke":return ct.append({invoke:!0})}case"ns":return ct.namespaced(t[1])}},node:ut,Args:dt,PositionalArguments:mt,NamedArguments:ft,NamedArgument:gt,HtmlAttr:bt,SplatAttr:yt,ComponentArg:kt,ElementModifier:vt,GlimmerComment:At,HtmlText:Pt,HtmlComment:Ct,AppendContent:Lt,InvokeBlock:Bt,InvokeComponent:qt,SimpleElement:Ot,LiteralExpression:_t,isLiteral:function(t,e){return"Literal"===t.type&&(void 0===e||("null"===e?null===t.value:typeof t.value===e))},PathExpression:Dt,CallExpression:Ht,InterpolateExpression:Rt,ThisReference:Vt,ArgReference:It,LocalVarReference:Ut,FreeVarReference:Mt,Template:Ft,Block:zt,NamedBlocks:$t,NamedBlock:jt});const Kt=/[\xA0"&]/,Wt=new RegExp(Kt.source,"g"),Jt=/[\xA0&<>]/,Qt=new RegExp(Jt.source,"g");function Yt(t){switch(t.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return t}}function Zt(t){switch(t.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return t}}const Xt=Object.create(null);"area base br col command embed hr img input keygen link meta param source track wbr".split(" ").forEach((t=>{Xt[t]=!0}));const te=/\S/;class ee{constructor(t){this.buffer="",this.options=t}handledByOverride(t,e=!1){if(void 0!==this.options.override){let r=this.options.override(t,this.options);if("string"==typeof r)return e&&""!==r&&te.test(r[0])&&(r=" ".concat(r)),this.buffer+=r,!0}return!1}Node(t){switch(t.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(t);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(t);case"Program":return this.Block(t);case"ConcatStatement":return this.ConcatStatement(t);case"Hash":return this.Hash(t);case"HashPair":return this.HashPair(t);case"ElementModifierStatement":return this.ElementModifierStatement(t)}}Expression(t){switch(t.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(t);case"PathExpression":return this.PathExpression(t);case"SubExpression":return this.SubExpression(t)}}Literal(t){switch(t.type){case"StringLiteral":return this.StringLiteral(t);case"BooleanLiteral":return this.BooleanLiteral(t);case"NumberLiteral":return this.NumberLiteral(t);case"UndefinedLiteral":return this.UndefinedLiteral(t);case"NullLiteral":return this.NullLiteral(t)}}TopLevelStatement(t){switch(t.type){case"MustacheStatement":return this.MustacheStatement(t);case"BlockStatement":return this.BlockStatement(t);case"PartialStatement":return this.PartialStatement(t);case"MustacheCommentStatement":return this.MustacheCommentStatement(t);case"CommentStatement":return this.CommentStatement(t);case"TextNode":return this.TextNode(t);case"ElementNode":return this.ElementNode(t);case"Block":case"Template":return this.Block(t);case"AttrNode":return this.AttrNode(t)}}Block(t){if(t.chained){t.body[0].chained=!0}this.handledByOverride(t)||this.TopLevelStatements(t.body)}TopLevelStatements(t){t.forEach((t=>this.TopLevelStatement(t)))}ElementNode(t){this.handledByOverride(t)||(this.OpenElementNode(t),this.TopLevelStatements(t.children),this.CloseElementNode(t))}OpenElementNode(t){this.buffer+="<".concat(t.tag),t.attributes.length&&t.attributes.forEach((t=>{this.buffer+=" ",this.AttrNode(t)})),t.modifiers.length&&t.modifiers.forEach((t=>{this.buffer+=" ",this.ElementModifierStatement(t)})),t.comments.length&&t.comments.forEach((t=>{this.buffer+=" ",this.MustacheCommentStatement(t)})),t.blockParams.length&&this.BlockParams(t.blockParams),t.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(t){t.selfClosing||Xt[t.tag.toLowerCase()]||(this.buffer+=""))}AttrNode(t){if(this.handledByOverride(t))return;let{name:e,value:r}=t;this.buffer+=e,("TextNode"!==r.type||r.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(r))}AttrNodeValue(t){"TextNode"===t.type?(this.buffer+='"',this.TextNode(t,!0),this.buffer+='"'):this.Node(t)}TextNode(t,e){var r;this.handledByOverride(t)||("raw"===this.options.entityEncoding?this.buffer+=t.chars:this.buffer+=e?(r=t.chars,Kt.test(r)?r.replace(Wt,Yt):r):function(t){return Jt.test(t)?t.replace(Qt,Zt):t}(t.chars))}MustacheStatement(t){this.handledByOverride(t)||(this.buffer+=t.escaped?"{{":"{{{",t.strip.open&&(this.buffer+="~"),this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.strip.close&&(this.buffer+="~"),this.buffer+=t.escaped?"}}":"}}}")}BlockStatement(t){this.handledByOverride(t)||(t.chained?(this.buffer+=t.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=t.openStrip.open?"{{~#":"{{#",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),t.program.blockParams.length&&this.BlockParams(t.program.blockParams),t.chained?this.buffer+=t.inverseStrip.close?"~}}":"}}":this.buffer+=t.openStrip.close?"~}}":"}}",this.Block(t.program),t.inverse&&(t.inverse.chained||(this.buffer+=t.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=t.inverseStrip.close?"~}}":"}}"),this.Block(t.inverse)),t.chained||(this.buffer+=t.closeStrip.open?"{{~/":"{{/",this.Expression(t.path),this.buffer+=t.closeStrip.close?"~}}":"}}"))}BlockParams(t){this.buffer+=" as |".concat(t.join(" "),"|")}PartialStatement(t){this.handledByOverride(t)||(this.buffer+="{{>",this.Expression(t.name),this.Params(t.params),this.Hash(t.hash),this.buffer+="}}")}ConcatStatement(t){this.handledByOverride(t)||(this.buffer+='"',t.parts.forEach((t=>{"TextNode"===t.type?this.TextNode(t,!0):this.Node(t)})),this.buffer+='"')}MustacheCommentStatement(t){this.handledByOverride(t)||(this.buffer+="{{!--".concat(t.value,"--}}"))}ElementModifierStatement(t){this.handledByOverride(t)||(this.buffer+="{{",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+="}}")}CommentStatement(t){this.handledByOverride(t)||(this.buffer+="\x3c!--".concat(t.value,"--\x3e"))}PathExpression(t){this.handledByOverride(t)||(this.buffer+=t.original)}SubExpression(t){this.handledByOverride(t)||(this.buffer+="(",this.Expression(t.path),this.Params(t.params),this.Hash(t.hash),this.buffer+=")")}Params(t){t.length&&t.forEach((t=>{this.buffer+=" ",this.Expression(t)}))}Hash(t){this.handledByOverride(t,!0)||t.pairs.forEach((t=>{this.buffer+=" ",this.HashPair(t)}))}HashPair(t){this.handledByOverride(t)||(this.buffer+=t.key,this.buffer+="=",this.Node(t.value))}StringLiteral(t){this.handledByOverride(t)||(this.buffer+=JSON.stringify(t.value))}BooleanLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}NumberLiteral(t){this.handledByOverride(t)||(this.buffer+=t.value)}UndefinedLiteral(t){this.handledByOverride(t)||(this.buffer+="undefined")}NullLiteral(t){this.handledByOverride(t)||(this.buffer+="null")}print(t){let{options:e}=this;if(e.override){let r=e.override(t,e);if(void 0!==r)return r}return this.buffer="",this.Node(t),this.buffer}}var re=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function ne(t,e){var r,n,s,a,i=e&&e.loc;i&&(r=i.start.line,n=i.end.line,s=i.start.column,a=i.end.column,t+=" - "+r+":"+s);for(var o=Error.prototype.constructor.call(this,t),l=0;lc&&x.push("'"+this.terminals_[w]+"'");A=p.showPosition?"Parse error on line "+(o+1)+":\n"+p.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(o+1)+": Unexpected "+(b==h?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(A,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:x})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+b);switch(k[0]){case 1:r.push(b),n.push(p.yytext),s.push(p.yylloc),r.push(k[1]),b=null,l=p.yyleng,i=p.yytext,o=p.yylineno,f=p.yylloc;break;case 2:if(S=this.productions_[k[1]][1],T.$=n[n.length-S],T._$={first_line:s[s.length-(S||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(S||1)].first_column,last_column:s[s.length-1].last_column},g&&(T._$.range=[s[s.length-(S||1)].range[0],s[s.length-1].range[1]]),void 0!==(v=this.performAction.apply(T,[i,l,o,d.yy,k[1],n,s].concat(u))))return v;S&&(r=r.slice(0,-1*S*2),n=n.slice(0,-1*S),s=s.slice(0,-1*S)),r.push(this.productions_[k[1]][0]),n.push(T.$),s.push(T._$),E=a[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0}},D={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in s)this[a]=s[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,s[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,r,n){function s(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(s(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(s(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(s(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=s(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=s(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};function H(){this.yy={}}return _.lexer=D,H.prototype=_,_.Parser=H,new H}();function me(){this.padding=0}function fe(t,e){if(e=e.path?e.path.original:e,t.path.original!==e){var r={loc:t.path.loc};throw new ne(t.path.original+" doesn't match "+e,r)}}function ge(t,e){this.source=t,this.start={line:e.first_line,column:e.first_column},this.end={line:e.last_line,column:e.last_column}}me.prototype=new se,me.prototype.pad=function(t){for(var e="",r=0,n=this.padding;r "+e+" }}")},me.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")},me.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")},me.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")},me.prototype.SubExpression=function(t){for(var e,r=t.params,n=[],s=0,a=r.length;s0)throw new ne("Invalid path: "+n,{loc:r});".."===l&&a++}}return{type:"PathExpression",data:t,depth:a,parts:s,original:n,loc:r}},prepareMustache:function(t,e,r,n,s,a){var i=n.charAt(3)||n.charAt(2),o="{"!==i&&"&"!==i;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:o,strip:s,loc:this.locInfo(a)}},prepareRawBlock:function(t,e,r,n){fe(t,r);var s={type:"Program",body:e,strip:{},loc:n=this.locInfo(n)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:s,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}},prepareBlock:function(t,e,r,n,s,a){n&&n.path&&fe(t,n);var i,o,l=/\*/.test(t.open);if(e.blockParams=t.blockParams,r){if(l)throw new ne("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),o=r.strip,i=r.program}return s&&(s=i,i=e,e=s),{type:l?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:i,openStrip:t.strip,inverseStrip:o,closeStrip:n&&n.strip,loc:this.locInfo(a)}},prepareProgram:function(t,e){if(!e&&t.length){var r=t[0].loc,n=t[t.length-1].loc;r&&n&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:t,strip:{},loc:e}},preparePartialBlock:function(t,e,r,n){return fe(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}}),ye={};for(var ke in be)Object.prototype.hasOwnProperty.call(be,ke)&&(ye[ke]=be[ke]);function ve(t,e){return"Program"===t.type?t:(de.yy=ye,de.yy.locInfo=function(t){return new ge(e&&e.srcName,t)},de.parse(t))}function we(t,e){var r=ve(t,e);return new le(e).accept(r)}var Se={Aacute:"\xc1",aacute:"\xe1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223e",acd:"\u223f",acE:"\u223e\u0333",Acirc:"\xc2",acirc:"\xe2",acute:"\xb4",Acy:"\u0410",acy:"\u0430",AElig:"\xc6",aelig:"\xe6",af:"\u2061",Afr:"\ud835\udd04",afr:"\ud835\udd1e",Agrave:"\xc0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03b1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2a3f",amp:"&",AMP:"&",andand:"\u2a55",And:"\u2a53",and:"\u2227",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angmsd:"\u2221",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",Aogon:"\u0104",aogon:"\u0105",Aopf:"\ud835\udd38",aopf:"\ud835\udd52",apacir:"\u2a6f",ap:"\u2248",apE:"\u2a70",ape:"\u224a",apid:"\u224b",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224a",Aring:"\xc5",aring:"\xe5",Ascr:"\ud835\udc9c",ascr:"\ud835\udcb6",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224d",Atilde:"\xc3",atilde:"\xe3",Auml:"\xc4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",Backslash:"\u2216",Barv:"\u2ae7",barvee:"\u22bd",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",Bernoullis:"\u212c",Beta:"\u0392",beta:"\u03b2",beth:"\u2136",between:"\u226c",Bfr:"\ud835\udd05",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bNot:"\u2aed",bnot:"\u2310",Bopf:"\ud835\udd39",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxbox:"\u29c9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250c",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252c",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxul:"\u2518",boxuL:"\u255b",boxUl:"\u255c",boxUL:"\u255d",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255a",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253c",boxvH:"\u256a",boxVh:"\u256b",boxVH:"\u256c",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251c",boxvR:"\u255e",boxVr:"\u255f",boxVR:"\u2560",bprime:"\u2035",breve:"\u02d8",Breve:"\u02d8",brvbar:"\xa6",bscr:"\ud835\udcb7",Bscr:"\u212c",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsolb:"\u29c5",bsol:"\\",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",Bumpeq:"\u224e",bumpeq:"\u224f",Cacute:"\u0106",cacute:"\u0107",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",cap:"\u2229",Cap:"\u22d2",capcup:"\u2a47",capdot:"\u2a40",CapitalDifferentialD:"\u2145",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",Cayleys:"\u212d",ccaps:"\u2a4d",Ccaron:"\u010c",ccaron:"\u010d",Ccedil:"\xc7",ccedil:"\xe7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2a4c",ccupssm:"\u2a50",Cdot:"\u010a",cdot:"\u010b",cedil:"\xb8",Cedilla:"\xb8",cemptyv:"\u29b2",cent:"\xa2",centerdot:"\xb7",CenterDot:"\xb7",cfr:"\ud835\udd20",Cfr:"\u212d",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03a7",chi:"\u03c7",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",CircleDot:"\u2299",circledR:"\xae",circledS:"\u24c8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25cb",cirE:"\u29c3",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2a74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",Congruent:"\u2261",conint:"\u222e",Conint:"\u222f",ContourIntegral:"\u222e",copf:"\ud835\udd54",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xa9",COPY:"\xa9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21b5",cross:"\u2717",Cross:"\u2a2f",Cscr:"\ud835\udc9e",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cupbrcap:"\u2a48",cupcap:"\u2a46",CupCap:"\u224d",cup:"\u222a",Cup:"\u22d3",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21a1",dArr:"\u21d3",dash:"\u2010",Dashv:"\u2ae4",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",Dcaron:"\u010e",dcaron:"\u010f",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21ca",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2a77",deg:"\xb0",Del:"\u2207",Delta:"\u0394",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",Dfr:"\ud835\udd07",dfr:"\ud835\udd21",dHar:"\u2965",dharl:"\u21c3",dharr:"\u21c2",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",diam:"\u22c4",diamond:"\u22c4",Diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",DifferentialD:"\u2146",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",Dopf:"\ud835\udd3b",dopf:"\ud835\udd55",Dot:"\xa8",dot:"\u02d9",DotDot:"\u20dc",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21d3",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21bd",DownRightTeeVector:"\u295f",DownRightVectorBar:"\u2957",DownRightVector:"\u21c1",DownTeeArrow:"\u21a7",DownTee:"\u22a4",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",Dscr:"\ud835\udc9f",dscr:"\ud835\udcb9",DScy:"\u0405",dscy:"\u0455",dsol:"\u29f6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",DZcy:"\u040f",dzcy:"\u045f",dzigrarr:"\u27ff",Eacute:"\xc9",eacute:"\xe9",easter:"\u2a6e",Ecaron:"\u011a",ecaron:"\u011b",Ecirc:"\xca",ecirc:"\xea",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042d",ecy:"\u044d",eDDot:"\u2a77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\ud835\udd08",efr:"\ud835\udd22",eg:"\u2a9a",Egrave:"\xc8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",Element:"\u2208",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25fb",emptyv:"\u2205",EmptyVerySmallSquare:"\u25ab",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014a",eng:"\u014b",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\ud835\udd3c",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",Epsilon:"\u0395",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",Equal:"\u2a75",equals:"=",EqualTilde:"\u2242",equest:"\u225f",Equilibrium:"\u21cc",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erarr:"\u2971",erDot:"\u2253",escr:"\u212f",Escr:"\u2130",esdot:"\u2250",Esim:"\u2a73",esim:"\u2242",Eta:"\u0397",eta:"\u03b7",ETH:"\xd0",eth:"\xf0",Euml:"\xcb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",Ffr:"\ud835\udd09",ffr:"\ud835\udd23",filig:"\ufb01",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",Fopf:"\ud835\udd3d",fopf:"\ud835\udd57",forall:"\u2200",ForAll:"\u2200",fork:"\u22d4",forkv:"\u2ad9",Fouriertrf:"\u2131",fpartint:"\u2a0d",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",Fscr:"\u2131",gacute:"\u01f5",Gamma:"\u0393",gamma:"\u03b3",Gammad:"\u03dc",gammad:"\u03dd",gap:"\u2a86",Gbreve:"\u011e",gbreve:"\u011f",Gcedil:"\u0122",Gcirc:"\u011c",gcirc:"\u011d",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2a8c",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",gescc:"\u2aa9",ges:"\u2a7e",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",Gfr:"\ud835\udd0a",gfr:"\ud835\udd24",gg:"\u226b",Gg:"\u22d9",ggg:"\u22d9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2aa5",gl:"\u2277",glE:"\u2a92",glj:"\u2aa4",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gnE:"\u2269",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",Gopf:"\ud835\udd3e",gopf:"\ud835\udd58",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",gtcc:"\u2aa7",gtcir:"\u2a7a",gt:">",GT:">",Gt:"\u226b",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",harrcir:"\u2948",harr:"\u2194",hArr:"\u21d4",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",Hfr:"\u210c",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",Hopf:"\u210d",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\ud835\udcbd",Hscr:"\u210b",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",Ifr:"\u2111",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",incare:"\u2105",in:"\u2208",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",intcal:"\u22ba",int:"\u222b",Int:"\u222c",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",iscr:"\ud835\udcbe",Iscr:"\u2110",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",lang:"\u27e8",Lang:"\u27ea",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",larrb:"\u21e4",larrbfs:"\u291f",larr:"\u2190",Larr:"\u219e",lArr:"\u21d0",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",latail:"\u2919",lAtail:"\u291b",lat:"\u2aab",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lBarr:"\u290e",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27e8",LeftArrowBar:"\u21e4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21d0",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21c3",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTeeArrow:"\u21a4",LeftTee:"\u22a3",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangleBar:"\u29cf",LeftTriangle:"\u22b2",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21bf",LeftVectorBar:"\u2952",LeftVector:"\u21bc",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",lescc:"\u2aa8",les:"\u2a7d",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21c7",ll:"\u226a",Ll:"\u22d8",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoustache:"\u23b0",lmoust:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lnE:"\u2268",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftrightarrow:"\u27f7",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longmapsto:"\u27fc",longrightarrow:"\u27f6",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",Lscr:"\u2112",lsh:"\u21b0",Lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2aa6",ltcir:"\u2a79",lt:"<",LT:"<",Lt:"\u226a",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",midast:"*",midcir:"\u2af0",mid:"\u2223",middot:"\xb7",minusb:"\u229f",minus:"\u2212",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",Mscr:"\u2133",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266e",naturals:"\u2115",natur:"\u266e",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21d7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nharr:"\u21ae",nhArr:"\u21ce",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlarr:"\u219a",nlArr:"\u21cd",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219a",nLeftarrow:"\u21cd",nleftrightarrow:"\u21ae",nLeftrightarrow:"\u21ce",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",nopf:"\ud835\udd5f",Nopf:"\u2115",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangle:"\u22eb",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",nprec:"\u2280",npreceq:"\u2aaf\u0338",npre:"\u2aaf\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219b",nrArr:"\u21cf",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nRightarrow:"\u21cf",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvDash:"\u22ad",nVdash:"\u22ae",nVDash:"\u22af",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21d6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",Ocirc:"\xd4",ocirc:"\xf4",ocir:"\u229a",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",orarr:"\u21bb",Or:"\u2a54",or:"\u2228",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",otimesas:"\u2a36",Otimes:"\u2a37",otimes:"\u2297",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",para:"\xb6",parallel:"\u2225",par:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plus:"+",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",popf:"\ud835\udd61",Popf:"\u2119",pound:"\xa3",prap:"\u2ab7",Pr:"\u2abb",pr:"\u227a",prcue:"\u227c",precapprox:"\u2ab7",prec:"\u227a",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",pre:"\u2aaf",prE:"\u2ab3",precsim:"\u227e",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportional:"\u221d",Proportion:"\u2237",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",Qopf:"\u211a",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quot:'"',QUOT:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",Rang:"\u27eb",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21a0",rArr:"\u21d2",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",rAtail:"\u291c",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rBarr:"\u290f",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",Re:"\u211c",rect:"\u25ad",reg:"\xae",REG:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",Rfr:"\u211c",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrowBar:"\u21e5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21d2",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVectorBar:"\u2955",RightDownVector:"\u21c2",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTeeArrow:"\u21a6",RightTee:"\u22a2",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangleBar:"\u29d0",RightTriangle:"\u22b3",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVectorBar:"\u2954",RightUpVector:"\u21be",RightVectorBar:"\u2953",RightVector:"\u21c0",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoustache:"\u23b1",rmoust:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",Ropf:"\u211d",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",rscr:"\ud835\udcc7",Rscr:"\u211b",rsh:"\u21b1",Rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2abc",sc:"\u227b",sccue:"\u227d",sce:"\u2ab0",scE:"\u2ab4",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdotb:"\u22a1",sdot:"\u22c5",sdote:"\u2a66",searhk:"\u2925",searr:"\u2198",seArr:"\u21d8",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",solbar:"\u233f",solb:"\u29c4",sol:"/",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25a1",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squ:"\u25a1",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",Sub:"\u22d0",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",Subset:"\u22d0",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succapprox:"\u2ab8",succ:"\u227b",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",sum:"\u2211",Sum:"\u2211",sung:"\u266a",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"\u2283",Sup:"\u22d1",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",Supset:"\u22d1",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21d9",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",tilde:"\u02dc",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2a31",timesb:"\u22a0",times:"\xd7",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",topbot:"\u2336",topcir:"\u2af1",top:"\u22a4",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",uarr:"\u2191",Uarr:"\u219f",uArr:"\u21d1",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21d1",UpArrowDownArrow:"\u21c5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21d5",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03c5",Upsi:"\u03d2",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTeeArrow:"\u21a5",UpTee:"\u22a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",vArr:"\u21d5",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vBar:"\u2ae8",Vbar:"\u2aeb",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22a2",vDash:"\u22a8",Vdash:"\u22a9",VDash:"\u22ab",Vdashl:"\u2ae6",veebar:"\u22bb",vee:"\u2228",Vee:"\u22c1",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",Wedge:"\u22c0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xharr:"\u27f7",xhArr:"\u27fa",Xi:"\u039e",xi:"\u03be",xlarr:"\u27f5",xlArr:"\u27f8",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrarr:"\u27f6",xrArr:"\u27f9",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",yuml:"\xff",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",zfr:"\ud835\udd37",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",Zopf:"\u2124",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},Ee=/^#[xX]([A-Fa-f0-9]+)$/,xe=/^#([0-9]+)$/,Ne=/^([A-Za-z0-9]+)$/,Te=function(){function t(t){this.named=t}return t.prototype.parse=function(t){if(t){var e=t.match(Ee);return e?String.fromCharCode(parseInt(e[1],16)):(e=t.match(xe))?String.fromCharCode(parseInt(e[1],10)):(e=t.match(Ne))?this.named[e[1]]:void 0}},t}(),Ae=/[\t\n\f ]/,Pe=/[A-Za-z]/,Ce=/\r\n?/g;function Le(t){return Ae.test(t)}function Be(t){return Pe.test(t)}var qe=function(){function t(t,e,r){void 0===r&&(r="precompile"),this.delegate=t,this.entityParser=e,this.mode=r,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var t=this.peek();if("<"!==t||this.isIgnoredEndTag()){if("precompile"===this.mode&&"\n"===t){var e=this.tagNameBuffer.toLowerCase();"pre"!==e&&"textarea"!==e||this.consume()}this.transitionTo("data"),this.delegate.beginData()}else this.transitionTo("tagOpen"),this.markTagStart(),this.consume()},data:function(){var t=this.peek(),e=this.tagNameBuffer;"<"!==t||this.isIgnoredEndTag()?"&"===t&&"script"!==e&&"style"!==e?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(t)):(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume())},tagOpen:function(){var t=this.consume();"!"===t?this.transitionTo("markupDeclarationOpen"):"/"===t?this.transitionTo("endTagOpen"):("@"===t||":"===t||Be(t))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(t))},markupDeclarationOpen:function(){"-"===this.consume()&&"-"===this.peek()&&(this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment())},commentStart:function(){var t=this.consume();"-"===t?this.transitionTo("commentStartDash"):">"===t?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(t),this.transitionTo("comment"))},commentStartDash:function(){var t=this.consume();"-"===t?this.transitionTo("commentEnd"):">"===t?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var t=this.consume();"-"===t?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(t)},commentEndDash:function(){var t=this.consume();"-"===t?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+t),this.transitionTo("comment"))},commentEnd:function(){var t=this.consume();">"===t?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+t),this.transitionTo("comment"))},tagName:function(){var t=this.consume();Le(t)?this.transitionTo("beforeAttributeName"):"/"===t?this.transitionTo("selfClosingStartTag"):">"===t?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(t)},endTagName:function(){var t=this.consume();Le(t)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):"/"===t?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):">"===t?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(t)},beforeAttributeName:function(){var t=this.peek();Le(t)?this.consume():"/"===t?(this.transitionTo("selfClosingStartTag"),this.consume()):">"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):"="===t?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var t=this.peek();Le(t)?(this.transitionTo("afterAttributeName"),this.consume()):"/"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===t?(this.transitionTo("beforeAttributeValue"),this.consume()):">"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):'"'===t||"'"===t||"<"===t?(this.delegate.reportSyntaxError(t+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(t)):(this.consume(),this.delegate.appendToAttributeName(t))},afterAttributeName:function(){var t=this.peek();Le(t)?this.consume():"/"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===t?(this.consume(),this.transitionTo("beforeAttributeValue")):">"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(t))},beforeAttributeValue:function(){var t=this.peek();Le(t)?this.consume():'"'===t?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):"'"===t?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):">"===t?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(t))},attributeValueDoubleQuoted:function(){var t=this.consume();'"'===t?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(t)},attributeValueSingleQuoted:function(){var t=this.consume();"'"===t?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):"&"===t?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(t)},attributeValueUnquoted:function(){var t=this.peek();Le(t)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):"/"===t?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"&"===t?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):">"===t?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(t))},afterAttributeValueQuoted:function(){var t=this.peek();Le(t)?(this.consume(),this.transitionTo("beforeAttributeName")):"/"===t?(this.consume(),this.transitionTo("selfClosingStartTag")):">"===t?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){">"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var t=this.consume();("@"===t||":"===t||Be(t))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(t))}},this.reset()}return t.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},t.prototype.transitionTo=function(t){this.state=t},t.prototype.tokenize=function(t){this.reset(),this.tokenizePart(t),this.tokenizeEOF()},t.prototype.tokenizePart=function(t){for(this.input+=function(t){return t.replace(Ce,"\n")}(t);this.index"!==this.input.substring(this.index,this.index+8)||"style"===t&&""!==this.input.substring(this.index,this.index+8)||"script"===t&&"<\/script>"!==this.input.substring(this.index,this.index+9)},t}();function Oe(t,e={entityEncoding:"transformed"}){if(!t)return"";return new ee(e).print(t)}const _e=function(){function t(t,e){let r=Error.call(this,t),{module:n,loc:s}=e,{line:a,column:i}=s.start,o=e.asString(),l=o?"\n\n|\n| ".concat(o.split("\n").join("\n| "),"\n|\n\n"):"";this.message="Syntax Error: ".concat(t,": ").concat(l,"(error occurred in '").concat(n,"' @ line ").concat(a," : column ").concat(i,")"),this.stack=r.stack,this.location=e}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}(),De={Program:l("body"),Template:l("body"),Block:l("body"),MustacheStatement:l("path","params","hash"),BlockStatement:l("path","params","hash","program","inverse"),ElementModifierStatement:l("path","params","hash"),PartialStatement:l("name","params","hash"),CommentStatement:l(),MustacheCommentStatement:l(),ElementNode:l("attributes","modifiers","children","comments"),AttrNode:l("value"),TextNode:l(),ConcatStatement:l("parts"),SubExpression:l("path","params","hash"),PathExpression:l(),PathHead:l(),StringLiteral:l(),BooleanLiteral:l(),NumberLiteral:l(),NullLiteral:l(),UndefinedLiteral:l(),Hash:l("pairs"),HashPair:l("value"),NamedBlock:l("attributes","modifiers","children","comments"),SimpleElement:l("attributes","modifiers","children","comments"),Component:l("head","attributes","modifiers","children","comments")},He=function(){function t(t,e,r,n){let s=Error.call(this,t);this.key=n,this.message=t,this.node=e,this.parent=r,this.stack=s.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function Re(t,e,r){return new He("Cannot remove a node unless it is part of an array",t,e,r)}function Ve(t,e,r){return new He("Cannot replace a node with multiple nodes unless it is part of an array",t,e,r)}function Ie(t,e){return new He("Replacing and removing in key handlers is not yet supported.",t,null,e)}class Ue{constructor(t,e=null,r=null){this.node=t,this.parent=e,this.parentKey=r}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new Me(this)}}}class Me{constructor(t){this.path=t}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}function Fe(t){return"function"==typeof t?t:t.enter}function ze(t){return"function"==typeof t?void 0:t.exit}function $e(t,e){let r,n,s,{node:a,parent:i,parentKey:o}=e,l=function(t,e){if(("Template"===e||"Block"===e)&&t.Program)return t.Program;let r=t[e];return void 0!==r?r:t.All}(t,a.type);if(void 0!==l&&(r=Fe(l),n=ze(l)),void 0!==r&&(s=r(a,e)),null!=s){if(JSON.stringify(a)!==JSON.stringify(s)){if(Array.isArray(s))return Ke(t,s,i,o),s;return $e(t,new Ue(s,i,o))||s}s=void 0}if(void 0===s){let r=De[a.type];for(let n=0;n@\[-\^`\{-~]/;function Xe(t){let e=function(t){let e=t.attributes.length,r=[];for(let n=0;nn&&"|"===r[n+1].charAt(0)){let s=r.slice(n).join(" ");if("|"!==s.charAt(s.length-1)||2!==s.match(/\|/g).length)throw new _e("Invalid block parameters syntax, '"+s+"'",t.loc);let a=[];for(let s=n+1;st.acceptNode(e))):[],s=n.length>0?n[n.length-1].loc:r.loc;return{path:r,params:n,hash:e.hash?t.Hash(e.hash):{type:"Hash",pairs:[],loc:t.source.spanFor(s).collapse("end")}}}function ar(t,e){let{path:r,params:n,hash:s,loc:a}=e;if(er(r)){let n="{{".concat(function(t){return"UndefinedLiteral"===t.type?"undefined":JSON.stringify(t.value)}(r),"}}"),s="<".concat(t.name," ... ").concat(n," ...");throw new _e("In ".concat(s,", ").concat(n," is not a valid modifier"),e.loc)}let i=nr.elementModifier({path:r,params:n,hash:s,loc:a});t.modifiers.push(i)}class ir extends class extends class{constructor(t,e=new Te(Se),r="precompile"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=t,this.lines=t.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new qe(this,e,r)}offset(){let{line:t,column:e}=this.tokenizer;return this.source.offsetFor(t,e)}pos({line:t,column:e}){return this.source.offsetFor(t,e)}finish(t){return o({},t,{loc:t.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(t){return this[t.type](t)}acceptNode(t){return this[t.type](t)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(t,e){let r,n,s,a=t.loc.start.line-1,i=a-1,o=t.loc.start.column,l=[];for(e?(n=e.loc.end.line-1,s=e.loc.end.column):(n=t.loc.end.line-1,s=t.loc.end.column);i elements do not need end tags. You should remove it"):void 0===e.tag?n="Closing tag without an open tag"):e.tag!==t.name&&(n="Closing tag did not match last open tag <").concat(e.tag,"> (on line ").concat(e.loc.startPosition.line,")")),n)throw new _e(n,t.loc)}assembleAttributeValue(t,e,r,n){if(r){if(e)return this.assembleConcatenatedValue(t);if(1===t.length||2===t.length&&"TextNode"===t[1].type&&"/"===t[1].chars)return t[0];throw new _e("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",n)}return t.length>0?t[0]:nr.text({chars:"",loc:n})}}const or={parse:lr,builders:st,print:Oe,traverse:Je,Walker:Qe};function lr(t,e={}){var r,n;let s,a,i=e.mode||"precompile";"string"==typeof t?(s=new j(t,null===(r=e.meta)||void 0===r?void 0:r.moduleName),a="codemod"===i?ve(t,e.parseOptions):we(t,e.parseOptions)):t instanceof j?(s=t,a="codemod"===i?ve(t.source,e.parseOptions):we(t.source,e.parseOptions)):(s=new j("",null===(n=e.meta)||void 0===n?void 0:n.moduleName),a=t);let l=void 0;"codemod"===i&&(l=new Te({}));let c=U.forCharPositions(s,0,s.source.length);a.loc={source:"(program)",start:c.startPosition,end:c.endPosition};let h=new ir(s,l,i).acceptTemplate(a);if(e&&e.plugins&&e.plugins.ast)for(let t=0,r=e.plugins.ast.length;tthis.allocate(t)));return new mr(this,t,e)}}class dr extends pr{constructor(){super(...arguments),this.symbols=[],this.upvars=[],this.size=1,this.named=a(),this.blocks=a(),cr.set(this,!1)}setHasEval(){hr(this,cr,!0)}get hasEval(){return ur(this,cr)}has(t){return!1}get(t){throw function(t="unreachable"){return new Error(t)}()}getLocalsMap(){return a()}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}allocateFree(t){let e=this.upvars.indexOf(t);return-1!==e||(e=this.upvars.length,this.upvars.push(t)),e}allocateNamed(t){let e=this.named[t];return e||(e=this.named[t]=this.allocate(t)),e}allocateBlock(t){"inverse"===t&&(t="else");let e=this.blocks[t];return e||(e=this.blocks[t]=this.allocate("&".concat(t))),e}allocate(t){return this.symbols.push(t),this.size++}}cr=new WeakMap;class mr extends pr{constructor(t,e,r){super(),this.parent=t,this.symbols=e,this.slots=r}get locals(){return this.symbols}has(t){return-1!==this.symbols.indexOf(t)||this.parent.has(t)}get(t){let e=this.symbols.indexOf(t);return-1===e?this.parent.get(t):this.slots[e]}getLocalsMap(){let t=this.parent.getLocalsMap();return this.symbols.forEach((e=>t[e]=this.get(e))),t}getEvalInfo(){let t=this.getLocalsMap();return Object.keys(t).map((e=>t[e]))}setHasEval(){this.parent.setHasEval()}allocateFree(t){return this.parent.allocateFree(t)}allocateNamed(t){return this.parent.allocateNamed(t)}allocateBlock(t){return this.parent.allocateBlock(t)}allocate(t){return this.parent.allocate(t)}}var fr=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(t);s0||t.hash.pairs.length>0}class Nr{constructor(t,e,r){this.source=t,this.options=e,this.table=r,this.builder=new gr}get strict(){return this.options.strictMode||!1}loc(t){return this.source.spanFor(t)}resolutionFor(t,e){if(this.strict)return{resolution:lt};if(this.isFreeVar(t)){let r=e(t);return null===r?{resolution:"error",path:Or(t),head:_r(t)}:{resolution:r}}return{resolution:lt}}isFreeVar(t){return"PathExpression"===t.type?"VarHead"===t.head.type&&!this.table.has(t.head.name):"PathExpression"===t.path.type&&this.isFreeVar(t.path)}hasBinding(t){return this.table.has(t)}child(t){return new Nr(this.source,this.options,this.table.child(t))}customizeComponentName(t){return this.options.customizeComponentName?this.options.customizeComponentName(t):t}}class Tr{constructor(t){this.block=t}normalize(t,e){switch(t.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(t.value,this.block.loc(t.loc));case"PathExpression":return this.path(t,e);case"SubExpression":{let e=this.block.resolutionFor(t,yr);if("error"===e.resolution)throw new _e("You attempted to invoke a path (`".concat(e.path,"`) but ").concat(e.head," was not in scope"),t.loc);return this.block.builder.sexp(this.callParts(t,e.resolution),this.block.loc(t.loc))}}}path(t,e){let r=[],n=this.block.loc(t.head.loc);for(let e of t.tail)n=n.sliceStartChars({chars:e.length,skipStart:1}),r.push(new g({loc:n,chars:e}));return this.block.builder.path(this.ref(t.head,e),r,this.block.loc(t.loc))}callParts(t,e){let{path:r,params:n,hash:s}=t,a=this.normalize(r,e),i=n.map((t=>this.normalize(t,ht))),o=xt.range(i,a.loc.collapse("end")),l=this.block.loc(s.loc),c=xt.range([o,l]),h=this.block.builder.positional(n.map((t=>this.normalize(t,ht))),o),u=this.block.builder.named(s.pairs.map((t=>this.namedArgument(t))),this.block.loc(s.loc));return{callee:a,args:this.block.builder.args(h,u,c)}}namedArgument(t){let e=this.block.loc(t.loc).sliceStartChars({chars:t.key.length});return this.block.builder.namedArgument(new g({chars:t.key,loc:e}),this.normalize(t.value,ht))}ref(t,e){let r=this.block.loc(t.loc);switch(t.type){case"ThisHead":return this.block.builder.self(r);case"AtHead":{let e=this.block.table.allocateNamed(t.name);return this.block.builder.at(t.name,e,r)}case"VarHead":if(this.block.hasBinding(t.name)){let e=this.block.table.get(t.name);return this.block.builder.localVar(t.name,e,r)}{let n=this.block.table.allocateFree(t.name);return this.block.builder.freeVar({name:t.name,context:this.block.strict?lt:e,symbol:n,loc:r})}}}}class Ar{constructor(t){this.block=t}normalize(t){switch(t.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(t);case"ElementNode":return new Pr(this.block).ElementNode(t);case"MustacheStatement":return this.MustacheStatement(t);case"MustacheCommentStatement":return this.MustacheCommentStatement(t);case"CommentStatement":{let e=this.block.loc(t.loc);return new Ct({loc:e,text:e.slice({skipStart:4,skipEnd:3}).toSlice(t.value)})}case"TextNode":return new Pt({loc:this.block.loc(t.loc),chars:t.chars})}}MustacheCommentStatement(t){let e,r=this.block.loc(t.loc);return e="{{!--"===r.asString().slice(0,5)?r.slice({skipStart:5,skipEnd:4}):r.slice({skipStart:3,skipEnd:2}),new At({loc:r,text:e.toSlice(t.value)})}MustacheStatement(t){let{escaped:e}=t,r=this.block.loc(t.loc),n=this.expr.callParts({path:t.path,params:t.params,hash:t.hash},function(t){let e=Sr(t),r=xr(t);return e?ct.append({invoke:r}):r?lt:ct.fallback()}(t)),s=n.args.isEmpty()?n.callee:this.block.builder.sexp(n,r);return this.block.builder.append({table:this.block.table,trusting:!e,value:s},r)}BlockStatement(t){let{program:e,inverse:r}=t,n=this.block.loc(t.loc),s=this.block.resolutionFor(t,vr);if("error"===s.resolution)throw new _e("You attempted to invoke a path (`{{#".concat(s.path,"}}`) but ").concat(s.head," was not in scope"),n);let a=this.expr.callParts(t,s.resolution);return this.block.builder.blockStatement(o({symbols:this.block.table,program:this.Block(e),inverse:r?this.Block(r):null},a),n)}Block({body:t,loc:e,blockParams:r}){let n=this.block.child(r),s=new Ar(n);return new Br(this.block.loc(e),t.map((t=>s.normalize(t))),this.block).assertBlock(n.table)}get expr(){return new Tr(this.block)}}class Pr{constructor(t){this.ctx=t}ElementNode(t){let{tag:e,selfClosing:r,comments:n}=t,s=this.ctx.loc(t.loc),[a,...i]=e.split("."),o=this.classifyTag(a,i,t.loc),l=t.attributes.filter((t=>"@"!==t.name[0])).map((t=>this.attr(t))),c=t.attributes.filter((t=>"@"===t.name[0])).map((t=>this.arg(t))),h=t.modifiers.map((t=>this.modifier(t))),u=this.ctx.child(t.blockParams),p=new Ar(u),d=t.children.map((t=>p.normalize(t))),m=this.ctx.builder.element({selfClosing:r,attrs:l,componentArgs:c,modifiers:h,comments:n.map((t=>new Ar(this.ctx).MustacheCommentStatement(t)))}),f=new qr(m,s,d,this.ctx),g=this.ctx.loc(t.loc).sliceStartChars({chars:e.length,skipStart:1});if("ElementHead"===o)return":"===e[0]?f.assertNamedBlock(g.slice({skipStart:1}).toSlice(e.slice(1)),u.table):f.assertElement(g.toSlice(e),t.blockParams.length>0);if(t.selfClosing)return m.selfClosingComponent(o,s);{let r=f.assertComponent(e,u.table,t.blockParams.length>0);return m.componentWithNamedBlocks(o,r,s)}}modifier(t){let e=this.ctx.resolutionFor(t,kr);if("error"===e.resolution)throw new _e("You attempted to invoke a path (`{{#".concat(e.path,"}}`) but ").concat(e.head," was not in scope"),t.loc);let r=this.expr.callParts(t,e.resolution);return this.ctx.builder.modifier(r,this.ctx.loc(t.loc))}mustacheAttr(t){let e=this.ctx.builder.sexp(this.expr.callParts(t,function(t){let e=Sr(t),r=xr(t);return e?r?ct.namespaced("Helper"):ct.attr():r?lt:ct.fallback()}(t)),this.ctx.loc(t.loc));return e.args.isEmpty()?e.callee:e}attrPart(t){switch(t.type){case"MustacheStatement":return{expr:this.mustacheAttr(t),trusting:!t.escaped};case"TextNode":return{expr:this.ctx.builder.literal(t.chars,this.ctx.loc(t.loc)),trusting:!0}}}attrValue(t){switch(t.type){case"ConcatStatement":{let e=t.parts.map((t=>this.attrPart(t).expr));return{expr:this.ctx.builder.interpolate(e,this.ctx.loc(t.loc)),trusting:!1}}default:return this.attrPart(t)}}attr(t){if("...attributes"===t.name)return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(t.loc));let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.attr({name:r,value:n.expr,trusting:n.trusting},e)}arg(t){let e=this.ctx.loc(t.loc),r=e.sliceStartChars({chars:t.name.length}).toSlice(t.name),n=this.attrValue(t.value);return this.ctx.builder.arg({name:r,value:n.expr,trusting:n.trusting},e)}classifyTag(t,e,r){let n=(s=t)[0]===s[0].toUpperCase()&&s[0]!==s[0].toLowerCase();var s;let a=this.ctx.hasBinding(t),i="@"===t[0]||"this"===t||a||n,o=r.sliceStartChars({skipStart:1,chars:t.length}),l=e.reduce(((t,e)=>t+1+e.length),0),c=o.getEnd().move(l),h=o.withEnd(c);if(i){this.ctx.strict||!n||a||(t=this.ctx.customizeComponentName(t));let s=nr.path({head:nr.head(t,o),tail:e,loc:h}),i=this.ctx.resolutionFor(s,wr);if("error"===i.resolution)throw new _e("You attempted to invoke a path (`<".concat(i.path,">`) but ").concat(i.head," was not in scope"),r);return new Tr(this.ctx).normalize(s,i.resolution)}if(e.length>0)throw new _e("You used ".concat(t,".").concat(e.join(".")," as a tag name, but ").concat(t," is not in scope"),r);return"ElementHead"}get expr(){return new Tr(this.ctx)}}class Cr{constructor(t,e,r){this.loc=t,this.children=e,this.block=r,this.namedBlocks=e.filter((t=>t instanceof jt)),this.hasSemanticContent=Boolean(e.filter((t=>{if(t instanceof jt)return!1;switch(t.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(t.chars);default:return!0}})).length),this.nonBlockChildren=e.filter((t=>!(t instanceof jt)))}}class Lr extends Cr{assertTemplate(t){if(c(this.namedBlocks))throw new _e("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(t,this.nonBlockChildren,this.block.loc(this.loc))}}class Br extends Cr{assertBlock(t){if(c(this.namedBlocks))throw new _e("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(t,this.nonBlockChildren,this.loc)}}class qr extends Cr{constructor(t,e,r,n){super(e,r,n),this.el=t}assertNamedBlock(t,e){if(this.el.base.selfClosing)throw new _e("<:".concat(t,"> is not a valid named block: named blocks cannot be self-closing"),this.loc);if(c(this.namedBlocks))throw new _e("Unexpected named block inside <:".concat(t,"> named block: named blocks cannot contain nested named blocks"),this.loc);if((r=t.chars)[0]!==r[0].toLowerCase()||r[0]===r[0].toUpperCase())throw new _e("<:".concat(t,"> is not a valid named block: `").concat(t,"` is uppercase, and named blocks must be lowercase"),this.loc);var r;let n=xt.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(t,this.block.builder.block(e,this.nonBlockChildren,n),this.loc)}assertElement(t,e){if(e)throw new _e("Unexpected block params in <".concat(t,">: simple elements cannot have block params"),this.loc);if(c(this.namedBlocks)){let e=this.namedBlocks.map((t=>t.name));if(1===e.length)throw new _e("Syntax Error: Unexpected named block <:foo> inside <".concat(t,"> HTML element"),this.loc);{let r=e.map((t=>"<:".concat(t.chars,">"))).join(", ");throw new _e("Syntax Error: Unexpected named blocks inside <".concat(t,"> HTML element (").concat(r,")"),this.loc)}}return this.el.simple(t,this.nonBlockChildren,this.loc)}assertComponent(t,e,r){if(c(this.namedBlocks)&&this.hasSemanticContent)throw new _e("Unexpected content inside <".concat(t,"> component invocation: when using named blocks, the tag cannot contain other content"),this.loc);if(c(this.namedBlocks)){if(r)throw new _e("Unexpected block params list on <".concat(t,"> component invocation: when passing named blocks, the invocation tag cannot take block params"),this.loc);return this.namedBlocks}return[this.block.builder.namedBlock(g.synthetic("default"),this.block.builder.block(e,this.nonBlockChildren,this.loc),this.loc)]}}function Or(t){return"PathExpression"!==t.type&&"PathExpression"===t.path.type?Or(t.path):new ee({entityEncoding:"raw"}).print(t)}function _r(t){if("PathExpression"!==t.type)return"PathExpression"===t.path.type?_r(t.path):new ee({entityEncoding:"raw"}).print(t);switch(t.head.type){case"AtHead":case"VarHead":return t.head.name;case"ThisHead":return"this"}}var Dr=Object.freeze({__proto__:null,ASTv1:it,ASTv2:Gt,AST:it,Source:j,builders:st,normalize:function(t,e={}){let r=lr(t,e),n=o({strictMode:!1},e),s=pr.top(),a=new Nr(t,n,s),i=new Ar(a);return new Lr(a.loc(r.loc),r.body.map((t=>i.normalize(t))),a).assertTemplate(s)},SymbolTable:pr,BlockSymbolTable:mr,ProgramSymbolTable:dr,GlimmerSyntaxError:_e,preprocess:lr,print:Oe,Walker:Qe,traverse:Je,cannotRemoveNode:Re,cannotReplaceNode:Ve,WalkerPath:Ue,SourceSlice:g,SourceSpan:U,SpanList:xt,maybeLoc:function(t,e){return Tt(t)?Nt(t):e},loc:Nt,hasSpan:Tt,node:ut,Path:Qe});const Hr=r.default,{locStart:Rr,locEnd:Vr}=s;function Ir(){return{name:"addBackslash",visitor:{TextNode(t){t.chars=t.chars.replace(/\\/,"\\\\")}}}}function Ur(t){const e=new Hr(t),r=({line:t,column:r})=>e.indexForLocation({line:t-1,column:r});return()=>({name:"addOffset",visitor:{All(t){const{start:e,end:n}=t.loc;e.offset=r(e),n.offset=r(n)}}})}var Mr={parsers:{glimmer:{parse:function(t){const{preprocess:e}=Dr;let r;try{r=e(t,{mode:"codemod",plugins:{ast:[Ir,Ur(t)]}})}catch(t){const e=function(t){const{location:e,hash:r}=t;if(e){const{start:t,end:r}=e;return"number"!=typeof r.line?{start:t}:e}if(r){const{loc:{last_line:t,last_column:e}}=r;return{start:{line:t,column:e+1}}}}(t);if(e)throw n(t.message,e);throw t}return r},astFormat:"glimmer",locStart:Rr,locEnd:Vr}}};export default Mr; diff --git a/node_modules/prettier/esm/parser-graphql.mjs b/node_modules/prettier/esm/parser-graphql.mjs deleted file mode 100644 index 3d2023a0..00000000 --- a/node_modules/prettier/esm/parser-graphql.mjs +++ /dev/null @@ -1 +0,0 @@ -var e=function(e,n){const t=new SyntaxError(e+" ("+n.start.line+":"+n.start.column+")");return t.loc=n,t};var n={hasPragma:function(e){return/^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n"+e}};var t={locStart:function(e){return"number"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return"number"==typeof e.end?e.end:e.loc&&e.loc.end}};function i(e,n,t){return e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&t.path)}},t.exports),t.exports}var r=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.SYMBOL_TO_STRING_TAG=n.SYMBOL_ASYNC_ITERATOR=n.SYMBOL_ITERATOR=void 0;var t="function"==typeof Symbol&&null!=Symbol.iterator?Symbol.iterator:"@@iterator";n.SYMBOL_ITERATOR=t;var i="function"==typeof Symbol&&null!=Symbol.asyncIterator?Symbol.asyncIterator:"@@asyncIterator";n.SYMBOL_ASYNC_ITERATOR=i;var r="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag";n.SYMBOL_TO_STRING_TAG=r})),o=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var t="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;n.default=t})),a=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return a(e,[])};var t,i=(t=o)&&t.__esModule?t:{default:t};function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,n){switch(r(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,n){if(-1!==n.indexOf(e))return"[Circular]";var t=[].concat(n,[e]),r=function(e){var n=e[String(i.default)];if("function"==typeof n)return n;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var o=r.call(e);if(o!==e)return"string"==typeof o?o:a(o,t)}else if(Array.isArray(e))return function(e,n){if(0===e.length)return"[]";if(n.length>2)return"[Array]";for(var t=Math.min(10,e.length),i=e.length-t,r=[],o=0;o1&&r.push("... ".concat(i," more items"));return"["+r.join(", ")+"]"}(e,t);return function(e,n){var t=Object.keys(e);if(0===t.length)return"{}";if(n.length>2)return"["+function(e){var n=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===n&&"function"==typeof e.constructor){var t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return n}(e)+"]";return"{ "+t.map((function(t){return t+": "+a(e[t],n)})).join(", ")+" }"}(e,t)}(e,n);default:return String(e)}}})),s=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,n){if(!Boolean(e))throw new Error(n)}})),c=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default=function(e,n){return e instanceof n}})),u=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isSource=function(e){return(0,o.default)(e,d)},n.Source=void 0;var t=u(a),i=u(s),o=u(c);function u(e){return e&&e.__esModule?e:{default:e}}function l(e,n){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||(0,i.default)(0,"Body must be a string. Received: ".concat((0,t.default)(e),".")),this.body=e,this.name=n,this.locationOffset=r,this.locationOffset.line>0||(0,i.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,i.default)(0,"column in locationOffset is 1-indexed and must be positive.")}var n,o,a;return n=e,(o=[{key:r.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}])&&l(n.prototype,o),a&&l(n,a),e}();n.Source=d})),l=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.getLocation=function(e,n){var t,i=/\r\n|[\n\r]/g,r=1,o=n+1;for(;(t=i.exec(e.body))&&t.index120){for(var h=Math.floor(l/80),T=l%80,v=[],E=0;E",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});n.TokenKind=t})),h=i((function(e,n){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){return"object"==t(e)&&null!==e}})),T=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.printError=y,n.GraphQLError=void 0;var t,i=(t=h)&&t.__esModule?t:{default:t};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,n){for(var t=0;ta&&t(n[s-1]);)--s;return n.slice(a,s).join("\n")},n.getBlockStringIndentation=i,n.printBlockString=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf("\n"),r=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a="\\"===e[e.length-1],s=!i||o||a||t,c="";!s||i&&r||(c+="\n"+n);c+=n?e.replace(/\n/g,"\n"+n):e,s&&(c+="\n");return'"""'+c.replace(/"""/g,'\\"""')+'"""'}})),k=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.isPunctuatorTokenKind=function(e){return e===f.TokenKind.BANG||e===f.TokenKind.DOLLAR||e===f.TokenKind.AMP||e===f.TokenKind.PAREN_L||e===f.TokenKind.PAREN_R||e===f.TokenKind.SPREAD||e===f.TokenKind.COLON||e===f.TokenKind.EQUALS||e===f.TokenKind.AT||e===f.TokenKind.BRACKET_L||e===f.TokenKind.BRACKET_R||e===f.TokenKind.BRACE_L||e===f.TokenKind.PIPE||e===f.TokenKind.BRACE_R},n.Lexer=void 0;var t=function(){function e(e){var n=new N.Token(f.TokenKind.SOF,0,0,0,0,null);this.source=e,this.lastToken=n,this.token=n,this.line=1,this.lineStart=0}var n=e.prototype;return n.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},n.lookahead=function(){var e=this.token;if(e.kind!==f.TokenKind.EOF)do{var n;e=null!==(n=e.next)&&void 0!==n?n:e.next=r(this,e)}while(e.kind===f.TokenKind.COMMENT);return e},e}();function i(e){return isNaN(e)?f.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function r(e,n){for(var t=e.source,i=t.body,r=i.length,c=n.end;c31||9===o));return new N.Token(f.TokenKind.COMMENT,n,s,t,i,r,a.slice(n+1,s))}function s(e,n,t,r,o,a){var s=e.body,u=t,l=n,d=!1;if(45===u&&(u=s.charCodeAt(++l)),48===u){if((u=s.charCodeAt(++l))>=48&&u<=57)throw(0,v.syntaxError)(e,l,"Invalid number, unexpected digit after 0: ".concat(i(u),"."))}else l=c(e,l,u),u=s.charCodeAt(l);if(46===u&&(d=!0,u=s.charCodeAt(++l),l=c(e,l,u),u=s.charCodeAt(l)),69!==u&&101!==u||(d=!0,43!==(u=s.charCodeAt(++l))&&45!==u||(u=s.charCodeAt(++l)),l=c(e,l,u),u=s.charCodeAt(l)),46===u||function(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}(u))throw(0,v.syntaxError)(e,l,"Invalid number, expected digit but got: ".concat(i(u),"."));return new N.Token(d?f.TokenKind.FLOAT:f.TokenKind.INT,n,l,r,o,a,s.slice(n,l))}function c(e,n,t){var r=e.body,o=n,a=t;if(a>=48&&a<=57){do{a=r.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,v.syntaxError)(e,o,"Invalid number, expected digit but got: ".concat(i(a),"."))}function u(e,n,t,r,o){for(var a,s,c,u,l=e.body,p=n+1,h=p,T=0,E="";p=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function p(e,n,t,i,r){for(var o=e.body,a=o.length,s=n+1,c=0;s!==a&&!isNaN(c=o.charCodeAt(s))&&(95===c||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122);)++s;return new N.Token(f.TokenKind.NAME,n,s,t,i,r,o.slice(n,s))}n.Lexer=t})),_=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.DirectiveLocation=void 0;var t=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});n.DirectiveLocation=t})),O=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.parse=function(e,n){return new t(e,n).parseDocument()},n.parseValue=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseValueLiteral(!1);return i.expectToken(f.TokenKind.EOF),r},n.parseType=function(e,n){var i=new t(e,n);i.expectToken(f.TokenKind.SOF);var r=i.parseTypeReference();return i.expectToken(f.TokenKind.EOF),r},n.Parser=void 0;var t=function(){function e(e,n){var t=(0,u.isSource)(e)?e:new u.Source(e);this._lexer=new k.Lexer(t),this._options=n}var n=e.prototype;return n.parseName=function(){var e=this.expectToken(f.TokenKind.NAME);return{kind:p.Kind.NAME,value:e.value,loc:this.loc(e)}},n.parseDocument=function(){var e=this._lexer.token;return{kind:p.Kind.DOCUMENT,definitions:this.many(f.TokenKind.SOF,this.parseDefinition,f.TokenKind.EOF),loc:this.loc(e)}},n.parseDefinition=function(){if(this.peek(f.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(f.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},n.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(f.TokenKind.BRACE_L))return{kind:p.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n,t=this.parseOperationType();return this.peek(f.TokenKind.NAME)&&(n=this.parseName()),{kind:p.Kind.OPERATION_DEFINITION,operation:t,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseOperationType=function(){var e=this.expectToken(f.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},n.parseVariableDefinitions=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseVariableDefinition,f.TokenKind.PAREN_R)},n.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:p.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(f.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(f.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},n.parseVariable=function(){var e=this._lexer.token;return this.expectToken(f.TokenKind.DOLLAR),{kind:p.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},n.parseSelectionSet=function(){var e=this._lexer.token;return{kind:p.Kind.SELECTION_SET,selections:this.many(f.TokenKind.BRACE_L,this.parseSelection,f.TokenKind.BRACE_R),loc:this.loc(e)}},n.parseSelection=function(){return this.peek(f.TokenKind.SPREAD)?this.parseFragment():this.parseField()},n.parseField=function(){var e,n,t=this._lexer.token,i=this.parseName();return this.expectOptionalToken(f.TokenKind.COLON)?(e=i,n=this.parseName()):n=i,{kind:p.Kind.FIELD,alias:e,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(f.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(t)}},n.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(f.TokenKind.PAREN_L,n,f.TokenKind.PAREN_R)},n.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},n.parseConstArgument=function(){var e=this._lexer.token;return{kind:p.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(f.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},n.parseFragment=function(){var e=this._lexer.token;this.expectToken(f.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(f.TokenKind.NAME)?{kind:p.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:p.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},n.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword("fragment"),!0===(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)?{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:p.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},n.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},n.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case f.TokenKind.BRACKET_L:return this.parseList(e);case f.TokenKind.BRACE_L:return this.parseObject(e);case f.TokenKind.INT:return this._lexer.advance(),{kind:p.Kind.INT,value:n.value,loc:this.loc(n)};case f.TokenKind.FLOAT:return this._lexer.advance(),{kind:p.Kind.FLOAT,value:n.value,loc:this.loc(n)};case f.TokenKind.STRING:case f.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case f.TokenKind.NAME:switch(this._lexer.advance(),n.value){case"true":return{kind:p.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case"false":return{kind:p.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case"null":return{kind:p.Kind.NULL,loc:this.loc(n)};default:return{kind:p.Kind.ENUM,value:n.value,loc:this.loc(n)}}case f.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},n.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:p.Kind.STRING,value:e.value,block:e.kind===f.TokenKind.BLOCK_STRING,loc:this.loc(e)}},n.parseList=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.LIST,values:this.any(f.TokenKind.BRACKET_L,(function(){return n.parseValueLiteral(e)}),f.TokenKind.BRACKET_R),loc:this.loc(t)}},n.parseObject=function(e){var n=this,t=this._lexer.token;return{kind:p.Kind.OBJECT,fields:this.any(f.TokenKind.BRACE_L,(function(){return n.parseObjectField(e)}),f.TokenKind.BRACE_R),loc:this.loc(t)}},n.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(f.TokenKind.COLON),{kind:p.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},n.parseDirectives=function(e){for(var n=[];this.peek(f.TokenKind.AT);)n.push(this.parseDirective(e));return n},n.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(f.TokenKind.AT),{kind:p.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},n.parseTypeReference=function(){var e,n=this._lexer.token;return this.expectOptionalToken(f.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(f.TokenKind.BRACKET_R),e={kind:p.Kind.LIST_TYPE,type:e,loc:this.loc(n)}):e=this.parseNamedType(),this.expectOptionalToken(f.TokenKind.BANG)?{kind:p.Kind.NON_NULL_TYPE,type:e,loc:this.loc(n)}:e},n.parseNamedType=function(){var e=this._lexer.token;return{kind:p.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},n.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},n.peekDescription=function(){return this.peek(f.TokenKind.STRING)||this.peek(f.TokenKind.BLOCK_STRING)},n.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},n.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");var t=this.parseDirectives(!0),i=this.many(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);return{kind:p.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:i,loc:this.loc(e)}},n.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(f.TokenKind.COLON);var t=this.parseNamedType();return{kind:p.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},n.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)){var n=[];this.expectOptionalToken(f.TokenKind.AMP);do{n.push(this.parseNamedType())}while(this.expectOptionalToken(f.TokenKind.AMP)||this.peek(f.TokenKind.NAME));return n}return this.delimitedMany(f.TokenKind.AMP,this.parseNamedType)},n.parseFieldsDefinition=function(){var e;return!0===(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)&&this.peek(f.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===f.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(f.TokenKind.BRACE_L,this.parseFieldDefinition,f.TokenKind.BRACE_R)},n.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseArgumentDefs();this.expectToken(f.TokenKind.COLON);var r=this.parseTypeReference(),o=this.parseDirectives(!0);return{kind:p.Kind.FIELD_DEFINITION,description:n,name:t,arguments:i,type:r,directives:o,loc:this.loc(e)}},n.parseArgumentDefs=function(){return this.optionalMany(f.TokenKind.PAREN_L,this.parseInputValueDef,f.TokenKind.PAREN_R)},n.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(f.TokenKind.COLON);var i,r=this.parseTypeReference();this.expectOptionalToken(f.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var o=this.parseDirectives(!0);return{kind:p.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:r,defaultValue:i,directives:o,loc:this.loc(e)}},n.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),i=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:p.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:i,directives:r,fields:o,loc:this.loc(e)}},n.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseUnionMemberTypes();return{kind:p.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:i,types:r,loc:this.loc(e)}},n.parseUnionMemberTypes=function(){return this.expectOptionalToken(f.TokenKind.EQUALS)?this.delimitedMany(f.TokenKind.PIPE,this.parseNamedType):[]},n.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();return{kind:p.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:i,values:r,loc:this.loc(e)}},n.parseEnumValuesDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseEnumValueDefinition,f.TokenKind.BRACE_R)},n.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),i=this.parseDirectives(!0);return{kind:p.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:i,loc:this.loc(e)}},n.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),i=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();return{kind:p.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInputFieldsDefinition=function(){return this.optionalMany(f.TokenKind.BRACE_L,this.parseInputValueDef,f.TokenKind.BRACE_R)},n.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===f.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},n.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(f.TokenKind.BRACE_L,this.parseOperationTypeDefinition,f.TokenKind.BRACE_R);if(0===n.length&&0===t.length)throw this.unexpected();return{kind:p.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},n.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(0===t.length)throw this.unexpected();return{kind:p.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},n.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),r=this.parseFieldsDefinition();if(0===t.length&&0===i.length&&0===r.length)throw this.unexpected();return{kind:p.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:i,fields:r,loc:this.loc(e)}},n.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:i,loc:this.loc(e)}},n.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:i,loc:this.loc(e)}},n.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===t.length&&0===i.length)throw this.unexpected();return{kind:p.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:i,loc:this.loc(e)}},n.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(f.TokenKind.AT);var t=this.parseName(),i=this.parseArgumentDefs(),r=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var o=this.parseDirectiveLocations();return{kind:p.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:i,repeatable:r,locations:o,loc:this.loc(e)}},n.parseDirectiveLocations=function(){return this.delimitedMany(f.TokenKind.PIPE,this.parseDirectiveLocation)},n.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(void 0!==_.DirectiveLocation[n.value])return n;throw this.unexpected(e)},n.loc=function(e){var n;if(!0!==(null===(n=this._options)||void 0===n?void 0:n.noLocation))return new N.Location(e,this._lexer.lastToken,this._lexer.source)},n.peek=function(e){return this._lexer.token.kind===e},n.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,v.syntaxError)(this._lexer.source,n.start,"Expected ".concat(r(e),", found ").concat(i(n),"."))},n.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},n.expectKeyword=function(e){var n=this._lexer.token;if(n.kind!==f.TokenKind.NAME||n.value!==e)throw(0,v.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(i(n),"."));this._lexer.advance()},n.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===f.TokenKind.NAME&&n.value===e&&(this._lexer.advance(),!0)},n.unexpected=function(e){var n=null!=e?e:this._lexer.token;return(0,v.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(i(n),"."))},n.any=function(e,n,t){this.expectToken(e);for(var i=[];!this.expectOptionalToken(t);)i.push(n.call(this));return i},n.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i}return[]},n.many=function(e,n,t){this.expectToken(e);var i=[];do{i.push(n.call(this))}while(!this.expectOptionalToken(t));return i},n.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do{t.push(n.call(this))}while(this.expectOptionalToken(e));return t},e}();function i(e){var n=e.value;return r(e.kind)+(null!=n?' "'.concat(n,'"'):"")}function r(e){return(0,k.isPunctuatorTokenKind)(e)?'"'.concat(e,'"'):e}n.Parser=t})),I=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.visit=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,a=void 0,c=Array.isArray(e),u=[e],l=-1,d=[],p=void 0,f=void 0,h=void 0,T=[],v=[],E=e;do{var y=++l===u.length,m=y&&0!==d.length;if(y){if(f=0===v.length?void 0:T[T.length-1],p=h,h=v.pop(),m){if(c)p=p.slice();else{for(var k={},_=0,O=Object.keys(p);_80&&(l=u+a("(\n",s(r(i,"\n")),"\n)")),r([l,r(o," "),c]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+a(" ",r(e.directives," "))},InlineFragment:function(e){var n=e.typeCondition,t=e.directives,i=e.selectionSet;return r(["...",a("on ",n),r(t," "),i]," ")},FragmentDefinition:function(e){var n=e.name,t=e.typeCondition,i=e.variableDefinitions,o=e.directives,s=e.selectionSet;return"fragment ".concat(n).concat(a("(",r(i,", "),")")," ")+"on ".concat(t," ").concat(a("",r(o," ")," "))+s},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,n){var t=e.value;return e.block?(0,m.printBlockString)(t,"description"===n?"":" "):JSON.stringify(t)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+r(e.values,", ")+"]"},ObjectValue:function(e){return"{"+r(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+a("(",r(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:i((function(e){var n=e.directives,t=e.operationTypes;return r(["schema",r(n," "),o(t)]," ")})),OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:i((function(e){return r(["scalar",e.name,r(e.directives," ")]," ")})),ObjectTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r(["type",n,a("implements ",r(t," & ")),r(i," "),o(s)]," ")})),FieldDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.type,o=e.directives;return n+(u(t)?a("(\n",s(r(t,"\n")),"\n)"):a("(",r(t,", "),")"))+": "+i+a(" ",r(o," "))})),InputValueDefinition:i((function(e){var n=e.name,t=e.type,i=e.defaultValue,o=e.directives;return r([n+": "+t,a("= ",i),r(o," ")]," ")})),InterfaceTypeDefinition:i((function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r(["interface",n,a("implements ",r(t," & ")),r(i," "),o(s)]," ")})),UnionTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.types;return r(["union",n,r(t," "),i&&0!==i.length?"= "+r(i," | "):""]," ")})),EnumTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.values;return r(["enum",n,r(t," "),o(i)]," ")})),EnumValueDefinition:i((function(e){return r([e.name,r(e.directives," ")]," ")})),InputObjectTypeDefinition:i((function(e){var n=e.name,t=e.directives,i=e.fields;return r(["input",n,r(t," "),o(i)]," ")})),DirectiveDefinition:i((function(e){var n=e.name,t=e.arguments,i=e.repeatable,o=e.locations;return"directive @"+n+(u(t)?a("(\n",s(r(t,"\n")),"\n)"):a("(",r(t,", "),")"))+(i?" repeatable":"")+" on "+r(o," | ")})),SchemaExtension:function(e){var n=e.directives,t=e.operationTypes;return r(["extend schema",r(n," "),o(t)]," ")},ScalarTypeExtension:function(e){return r(["extend scalar",e.name,r(e.directives," ")]," ")},ObjectTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r(["extend type",n,a("implements ",r(t," & ")),r(i," "),o(s)]," ")},InterfaceTypeExtension:function(e){var n=e.name,t=e.interfaces,i=e.directives,s=e.fields;return r(["extend interface",n,a("implements ",r(t," & ")),r(i," "),o(s)]," ")},UnionTypeExtension:function(e){var n=e.name,t=e.directives,i=e.types;return r(["extend union",n,r(t," "),i&&0!==i.length?"= "+r(i," | "):""]," ")},EnumTypeExtension:function(e){var n=e.name,t=e.directives,i=e.values;return r(["extend enum",n,r(t," "),o(i)]," ")},InputObjectTypeExtension:function(e){var n=e.name,t=e.directives,i=e.fields;return r(["extend input",n,r(t," "),o(i)]," ")}};function i(e){return function(n){return r([n.description,e(n)],"\n")}}function r(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(n=null==e?void 0:e.filter((function(e){return e})).join(t))&&void 0!==n?n:""}function o(e){return a("{\n",s(r(e,"\n")),"\n}")}function a(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return null!=n&&""!==n?e+n+t:""}function s(e){return a(" ",e.replace(/\n/g,"\n "))}function c(e){return-1!==e.indexOf("\n")}function u(e){return null!=e&&e.some(c)}})),D=i((function(e,n){function t(e){return e.kind===p.Kind.OPERATION_DEFINITION||e.kind===p.Kind.FRAGMENT_DEFINITION}function i(e){return e.kind===p.Kind.SCHEMA_DEFINITION||r(e)||e.kind===p.Kind.DIRECTIVE_DEFINITION}function r(e){return e.kind===p.Kind.SCALAR_TYPE_DEFINITION||e.kind===p.Kind.OBJECT_TYPE_DEFINITION||e.kind===p.Kind.INTERFACE_TYPE_DEFINITION||e.kind===p.Kind.UNION_TYPE_DEFINITION||e.kind===p.Kind.ENUM_TYPE_DEFINITION||e.kind===p.Kind.INPUT_OBJECT_TYPE_DEFINITION}function o(e){return e.kind===p.Kind.SCHEMA_EXTENSION||a(e)}function a(e){return e.kind===p.Kind.SCALAR_TYPE_EXTENSION||e.kind===p.Kind.OBJECT_TYPE_EXTENSION||e.kind===p.Kind.INTERFACE_TYPE_EXTENSION||e.kind===p.Kind.UNION_TYPE_EXTENSION||e.kind===p.Kind.ENUM_TYPE_EXTENSION||e.kind===p.Kind.INPUT_OBJECT_TYPE_EXTENSION}Object.defineProperty(n,"__esModule",{value:!0}),n.isDefinitionNode=function(e){return t(e)||i(e)||o(e)},n.isExecutableDefinitionNode=t,n.isSelectionNode=function(e){return e.kind===p.Kind.FIELD||e.kind===p.Kind.FRAGMENT_SPREAD||e.kind===p.Kind.INLINE_FRAGMENT},n.isValueNode=function(e){return e.kind===p.Kind.VARIABLE||e.kind===p.Kind.INT||e.kind===p.Kind.FLOAT||e.kind===p.Kind.STRING||e.kind===p.Kind.BOOLEAN||e.kind===p.Kind.NULL||e.kind===p.Kind.ENUM||e.kind===p.Kind.LIST||e.kind===p.Kind.OBJECT},n.isTypeNode=function(e){return e.kind===p.Kind.NAMED_TYPE||e.kind===p.Kind.LIST_TYPE||e.kind===p.Kind.NON_NULL_TYPE},n.isTypeSystemDefinitionNode=i,n.isTypeDefinitionNode=r,n.isTypeSystemExtensionNode=o,n.isTypeExtensionNode=a})),x=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Source",{enumerable:!0,get:function(){return u.Source}}),Object.defineProperty(n,"getLocation",{enumerable:!0,get:function(){return l.getLocation}}),Object.defineProperty(n,"printLocation",{enumerable:!0,get:function(){return d.printLocation}}),Object.defineProperty(n,"printSourceLocation",{enumerable:!0,get:function(){return d.printSourceLocation}}),Object.defineProperty(n,"Kind",{enumerable:!0,get:function(){return p.Kind}}),Object.defineProperty(n,"TokenKind",{enumerable:!0,get:function(){return f.TokenKind}}),Object.defineProperty(n,"Lexer",{enumerable:!0,get:function(){return k.Lexer}}),Object.defineProperty(n,"parse",{enumerable:!0,get:function(){return O.parse}}),Object.defineProperty(n,"parseValue",{enumerable:!0,get:function(){return O.parseValue}}),Object.defineProperty(n,"parseType",{enumerable:!0,get:function(){return O.parseType}}),Object.defineProperty(n,"print",{enumerable:!0,get:function(){return b.print}}),Object.defineProperty(n,"visit",{enumerable:!0,get:function(){return I.visit}}),Object.defineProperty(n,"visitInParallel",{enumerable:!0,get:function(){return I.visitInParallel}}),Object.defineProperty(n,"getVisitFn",{enumerable:!0,get:function(){return I.getVisitFn}}),Object.defineProperty(n,"BREAK",{enumerable:!0,get:function(){return I.BREAK}}),Object.defineProperty(n,"Location",{enumerable:!0,get:function(){return N.Location}}),Object.defineProperty(n,"Token",{enumerable:!0,get:function(){return N.Token}}),Object.defineProperty(n,"isDefinitionNode",{enumerable:!0,get:function(){return D.isDefinitionNode}}),Object.defineProperty(n,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return D.isExecutableDefinitionNode}}),Object.defineProperty(n,"isSelectionNode",{enumerable:!0,get:function(){return D.isSelectionNode}}),Object.defineProperty(n,"isValueNode",{enumerable:!0,get:function(){return D.isValueNode}}),Object.defineProperty(n,"isTypeNode",{enumerable:!0,get:function(){return D.isTypeNode}}),Object.defineProperty(n,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return D.isTypeSystemDefinitionNode}}),Object.defineProperty(n,"isTypeDefinitionNode",{enumerable:!0,get:function(){return D.isTypeDefinitionNode}}),Object.defineProperty(n,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return D.isTypeSystemExtensionNode}}),Object.defineProperty(n,"isTypeExtensionNode",{enumerable:!0,get:function(){return D.isTypeExtensionNode}}),Object.defineProperty(n,"DirectiveLocation",{enumerable:!0,get:function(){return _.DirectiveLocation}})})),A=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.locatedError=function(e,n,t){var r,o=e instanceof Error?e:new Error("Unexpected error value: "+(0,i.default)(e));if(Array.isArray(o.path))return o;return new T.GraphQLError(o.message,null!==(r=o.nodes)&&void 0!==r?r:n,o.source,o.positions,t,o)};var t,i=(t=a)&&t.__esModule?t:{default:t}})),S=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatError=function(e){var n;e||(0,i.default)(0,"Received null or undefined error.");var t=null!==(n=e.message)&&void 0!==n?n:"An unknown error occurred.",r=e.locations,o=e.path,a=e.extensions;return a?{message:t,locations:r,path:o,extensions:a}:{message:t,locations:r,path:o}};var t,i=(t=s)&&t.__esModule?t:{default:t}})),K=i((function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"GraphQLError",{enumerable:!0,get:function(){return T.GraphQLError}}),Object.defineProperty(n,"printError",{enumerable:!0,get:function(){return T.printError}}),Object.defineProperty(n,"syntaxError",{enumerable:!0,get:function(){return v.syntaxError}}),Object.defineProperty(n,"locatedError",{enumerable:!0,get:function(){return A.locatedError}}),Object.defineProperty(n,"formatError",{enumerable:!0,get:function(){return S.formatError}})}));const{hasPragma:g}=n,{locStart:L,locEnd:R}=t;function P(e){if(e&&"object"==typeof e){delete e.startToken,delete e.endToken,delete e.prev,delete e.next;for(const n in e)P(e[n])}return e}var C={parsers:{graphql:{parse:function(n){const t=x;try{const e=function(e,n){const t={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};try{return e(n,t)}catch(i){return t.allowLegacySDLImplementsInterfaces=!0,e(n,t)}}(t.parse,n);return e.comments=function(e){const n=[],{startToken:t}=e.loc;let{next:i}=t;for(;""!==i.kind;)"Comment"===i.kind&&(Object.assign(i,{column:i.column-1}),n.push(i)),i=i.next;return n}(e),P(e),e}catch(n){const{GraphQLError:t}=K;if(n instanceof t){const{message:t,locations:[i]}=n;throw e(t,{start:i})}throw n}},astFormat:"graphql",hasPragma:g,locStart:L,locEnd:R}}};export default C; diff --git a/node_modules/prettier/esm/parser-html.mjs b/node_modules/prettier/esm/parser-html.mjs deleted file mode 100644 index fc3ee4d3..00000000 --- a/node_modules/prettier/esm/parser-html.mjs +++ /dev/null @@ -1,113 +0,0 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var n=t((function(e,t){function n(e){return t.$0<=e&&e<=t.$9} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=n,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||n(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})),r=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t,n){this.filePath=e,this.name=t,this.members=n}assertNoMembers(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got ".concat(JSON.stringify(this),"."))}}t.StaticSymbol=n;t.StaticSymbolCache=class{constructor(){this.cache=new Map}get(e,t,r){const s=(r=r||[]).length?".".concat(r.join(".")):"",i='"'.concat(e,'".').concat(t).concat(s);let o=this.cache.get(i);return o||(o=new n(e,t,r),this.cache.set(i,o)),o}}})),s=t((function(t,n){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(n,"__esModule",{value:!0});const r=/-+([a-z0-9])/g;function s(e,t,n){const r=e.indexOf(t);return-1==r?n:[e.slice(0,r).trim(),e.slice(r+1).trim()]}function i(e,t,n){return Array.isArray(e)?t.visitArray(e,n):"object"==typeof(r=e)&&null!==r&&Object.getPrototypeOf(r)===u?t.visitStringMap(e,n):null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?t.visitPrimitive(e,n):t.visitOther(e,n);var r}n.dashCaseToCamelCase=function(e){return e.replace(r,((...e)=>e[1].toUpperCase()))},n.splitAtColon=function(e,t){return s(e,":",t)},n.splitAtPeriod=function(e,t){return s(e,".",t)},n.visitValue=i,n.isDefined=function(e){return null!=e},n.noUndefined=function(e){return void 0===e?null:e};n.ValueTransformer=class{visitArray(e,t){return e.map((e=>i(e,this,t)))}visitStringMap(e,t){const n={};return Object.keys(e).forEach((r=>{n[r]=i(e[r],this,t)})),n}visitPrimitive(e,t){return e}visitOther(e,t){return e}},n.SyncAsync={assertSync:e=>{if(c(e))throw new Error("Illegal state: value cannot be a promise");return e},then:(e,t)=>c(e)?e.then(t):t(e),all:e=>e.some(c)?Promise.all(e):e},n.error=function(e){throw new Error("Internal Error: ".concat(e))},n.syntaxError=function(e,t){const n=Error(e);return n[o]=!0,t&&(n[a]=t),n};const o="ngSyntaxError",a="ngParseErrors";n.isSyntaxError=function(e){return e[o]},n.getParseErrors=function(e){return e[a]||[]},n.escapeRegExp=function(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};const u=Object.getPrototypeOf({});function c(e){return!!e&&"function"==typeof e.then}n.utf8Encode=function(e){let t="";for(let n=0;n=55296&&r<=56319&&e.length>n+1){const t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n++,r=(r-55296<<10)+t-56320+65536)}r<=127?t+=String.fromCharCode(r):r<=2047?t+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?t+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(t+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return t},n.stringify=function e(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(e).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return"".concat(t.overriddenName);if(t.name)return"".concat(t.name);if(!t.toString)return"object";const n=t.toString();if(null==n)return""+n;const r=n.indexOf("\n");return-1===r?n:n.substring(0,r)},n.resolveForwardRef=function(e){return"function"==typeof e&&e.hasOwnProperty("__forward_ref__")?e():e},n.isPromise=c;n.Version=class{constructor(e){this.full=e;const t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};const l="undefined"!=typeof window&&window,p="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,D=void 0!==e&&e||l||p;n.global=D})),i=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});const n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function i(e){return e.replace(/\W/g,"_")}t.sanitizeIdentifier=i;let o=0;function a(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof r.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let n=s.stringify(t);return n.indexOf("(")>=0?(n="anonymous_".concat(o++),t.__anonymousType=n):n=i(n),n}var u;t.identifierName=a,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof r.StaticSymbol?t.filePath:"./".concat(s.stringify(t))},t.viewClassName=function(e,t){return"View_".concat(a({reference:e}),"_").concat(t)},t.rendererTypeName=function(e){return"RenderType_".concat(a({reference:e}))},t.hostViewClassName=function(e){return"HostView_".concat(a({reference:e}))},t.componentFactoryName=function(e){return"".concat(a({reference:e}),"NgFactory")},function(e){e[e.Pipe=0]="Pipe",e[e.Directive=1]="Directive",e[e.NgModule=2]="NgModule",e[e.Injectable=3]="Injectable"}(u=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?i(e.value):a(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:n}={}){this.moduleUrl=e||null,this.styles=l(t),this.styleUrls=l(n)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:n,htmlAst:r,styles:s,styleUrls:i,externalStylesheets:o,animations:a,ngContentSelectors:u,interpolation:c,isInline:D,preserveWhitespaces:h}){if(this.encapsulation=e,this.template=t,this.templateUrl=n,this.htmlAst=r,this.styles=l(s),this.styleUrls=l(i),this.externalStylesheets=l(o),this.animations=a?p(a):[],this.ngContentSelectors=u||[],c&&2!=c.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=c,this.isInline=D,this.preserveWhitespaces=h}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class c{static create({isHost:e,type:t,isComponent:r,selector:i,exportAs:o,changeDetection:a,inputs:u,outputs:l,host:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){const S={},_={},b={};null!=p&&Object.keys(p).forEach((e=>{const t=p[e],r=e.match(n);null===r?b[e]=t:null!=r[1]?_[r[1]]=t:null!=r[2]&&(S[r[2]]=t)}));const F={};null!=u&&u.forEach((e=>{const t=s.splitAtColon(e,[e,e]);F[t[0]]=t[1]}));const A={};return null!=l&&l.forEach((e=>{const t=s.splitAtColon(e,[e,e]);A[t[0]]=t[1]})),new c({isHost:e,type:t,isComponent:!!r,selector:i,exportAs:o,changeDetection:a,inputs:F,outputs:A,hostListeners:S,hostProperties:_,hostAttributes:b,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y})}constructor({isHost:e,type:t,isComponent:n,selector:r,exportAs:s,changeDetection:i,inputs:o,outputs:a,hostListeners:u,hostProperties:c,hostAttributes:p,providers:D,viewProviders:h,queries:d,guards:f,viewQueries:m,entryComponents:g,template:E,componentViewType:C,rendererType:T,componentFactory:y}){this.isHost=!!e,this.type=t,this.isComponent=n,this.selector=r,this.exportAs=s,this.changeDetection=i,this.inputs=o,this.outputs=a,this.hostListeners=u,this.hostProperties=c,this.hostAttributes=p,this.providers=l(D),this.viewProviders=l(h),this.queries=l(d),this.guards=f,this.viewQueries=l(m),this.entryComponents=l(g),this.template=E,this.componentViewType=C,this.rendererType=T,this.componentFactory=y}toSummary(){return{summaryKind:u.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=c;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:n}){this.type=e,this.name=t,this.pure=!!n}toSummary(){return{summaryKind:u.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:n,exportedDirectives:r,declaredPipes:s,exportedPipes:i,entryComponents:o,bootstrapComponents:a,importedModules:u,exportedModules:c,schemas:p,transitiveModule:D,id:h}){this.type=e||null,this.declaredDirectives=l(n),this.exportedDirectives=l(r),this.declaredPipes=l(s),this.exportedPipes=l(i),this.providers=l(t),this.entryComponents=l(o),this.bootstrapComponents=l(a),this.importedModules=l(u),this.exportedModules=l(c),this.schemas=l(p),this.id=h||null,this.transitiveModule=D||null}toSummary(){const e=this.transitiveModule;return{summaryKind:u.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function l(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function p(e){return e.reduce(((e,t)=>{const n=Array.isArray(t)?p(t):t;return e.concat(n)}),[])}function D(e){return e.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:n,useExisting:r,useFactory:s,deps:i,multi:o}){this.token=e,this.useClass=t||null,this.useValue=n,this.useExisting=r,this.useFactory=s||null,this.dependencies=i||null,this.multi=!!o}},t.flatten=p,t.templateSourceUrl=function(e,t,n){let s;return s=n.isInline?t.type.reference instanceof r.StaticSymbol?"".concat(t.type.reference.filePath,".").concat(t.type.reference.name,".html"):"".concat(a(e),"/").concat(a(t.type),".html"):n.templateUrl,t.type.reference instanceof r.StaticSymbol?s:D(s)},t.sharedStylesheetJitUrl=function(e,t){const n=e.moduleUrl.split(/\/\\/g),r=n[n.length-1];return D("css/".concat(t).concat(r,".ngstyle.js"))},t.ngModuleJitUrl=function(e){return D("".concat(a(e.type),"/module.ngfactory.js"))},t.templateJitUrl=function(e,t){return D("".concat(a(e),"/").concat(a(t.type),".ngfactory.js"))}})),o=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -class r{constructor(e,t,n,r){this.file=e,this.offset=t,this.line=n,this.col=r}toString(){return null!=this.offset?"".concat(this.file.url,"@").concat(this.line,":").concat(this.col):this.file.url}moveBy(e){const t=this.file.content,s=t.length;let i=this.offset,o=this.line,a=this.col;for(;i>0&&e<0;){i--,e++;if(t.charCodeAt(i)==n.$LF){o--;const e=t.substr(0,i-1).lastIndexOf(String.fromCharCode(n.$LF));a=e>0?i-e:i}else a--}for(;i0;){const r=t.charCodeAt(i);i++,e--,r==n.$LF?(o++,a=0):a++}return new r(this.file,i,o,a)}getContext(e,t){const n=this.file.content;let r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);let s=r,i=0,o=0;for(;i0&&(r--,i++,"\n"!=n[r]||++o!=t););for(i=0,o=0;i]").concat(e.after,'")'):this.msg}toString(){const e=this.span.details?", ".concat(this.span.details):"";return"".concat(this.contextualMessage(),": ").concat(this.span.start).concat(e)}},t.typeSourceSpan=function(e,t){const n=i.identifierModuleUrl(t),a=null!=n?"in ".concat(e," ").concat(i.identifierName(t)," in ").concat(n):"in ".concat(e," ").concat(i.identifierName(t)),u=new s("",a);return new o(new r(u,-1,-1,-1),new r(u,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,n){const i="in ".concat(e," ").concat(t," in ").concat(n),a=new s("",i);return new o(new r(a,-1,-1,-1),new r(a,-1,-1,-1))}})),a=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function u(e){return{type:"concat",parts:e}}function c(e){return{type:"indent",contents:e}}function l(e,t){return{type:"align",contents:t,n:e}}function p(e,t){return{type:"group",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const D={type:"break-parent"},h=u([{type:"line",hard:!0},D]),d=u([{type:"line",hard:!0,literal:!0},D]);var f={concat:u,join:function(e,t){const n=[];for(let r=0;r0){for(let e=0;e"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const g=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var E=g,C=g;E.default=C;const T=e=>{if("string"!=typeof(e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===e.length)return 0;e=m(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=E(r)?2:1))}return t};var y=T,S=T;y.default=S;function _(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function F(){throw new Error("setTimeout has not been defined")}function A(){throw new Error("clearTimeout has not been defined")}var v=F,w=A;function k(e){if(v===setTimeout)return setTimeout(e,0);if((v===F||!v)&&setTimeout)return v=setTimeout,setTimeout(e,0);try{return v(e,0)}catch(t){try{return v.call(null,e,0)}catch(t){return v.call(this,e,0)}}}"function"==typeof b.setTimeout&&(v=setTimeout),"function"==typeof b.clearTimeout&&(w=clearTimeout);var N,x=[],O=!1,R=-1;function L(){O&&N&&(O=!1,N.length?x=N.concat(x):R=-1,x.length&&P())}function P(){if(!O){var e=k(L);O=!0;for(var t=x.length;t;){for(N=x,x=[];++R1)for(var n=1;nconsole.error("SEMVER",...e):()=>{};var Y={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},J=t((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Y,r=(t=e.exports={}).re=[],s=t.src=[],i=t.t={};let o=0;const a=(e,t,n)=>{const a=o++;Q(a,t),i[e]=a,s[a]=t,r[a]=new RegExp(t,n?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(s[i.NUMERICIDENTIFIER],")\\.")+"(".concat(s[i.NUMERICIDENTIFIER],")\\.")+"(".concat(s[i.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(s[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[i.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(s[i.NUMERICIDENTIFIER],"|").concat(s[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(s[i.NUMERICIDENTIFIERLOOSE],"|").concat(s[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(s[i.PRERELEASEIDENTIFIER],"(?:\\.").concat(s[i.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(s[i.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(s[i.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(s[i.BUILDIDENTIFIER],"(?:\\.").concat(s[i.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(s[i.MAINVERSION]).concat(s[i.PRERELEASE],"?").concat(s[i.BUILD],"?")),a("FULL","^".concat(s[i.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(s[i.MAINVERSIONLOOSE]).concat(s[i.PRERELEASELOOSE],"?").concat(s[i.BUILD],"?")),a("LOOSE","^".concat(s[i.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(s[i.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(s[i.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(s[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[i.XRANGEIDENTIFIER],")")+"(?:".concat(s[i.PRERELEASE],")?").concat(s[i.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(s[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[i.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(s[i.PRERELEASELOOSE],")?").concat(s[i.BUILD],"?")+")?)?"),a("XRANGE","^".concat(s[i.GTLT],"\\s*").concat(s[i.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(s[i.GTLT],"\\s*").concat(s[i.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",s[i.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(s[i.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",a("TILDE","^".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(s[i.LONETILDE]).concat(s[i.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(s[i.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",a("CARET","^".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(s[i.LONECARET]).concat(s[i.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(s[i.GTLT],"\\s*(").concat(s[i.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(s[i.GTLT],"\\s*(").concat(s[i.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(s[i.GTLT],"\\s*(").concat(s[i.LOOSEPLAIN],"|").concat(s[i.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(s[i.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(s[i.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(s[i.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(s[i.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const Z=/^[0-9]+$/,K=(e,t)=>{const n=Z.test(e),r=Z.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eK(t,e)};const{MAX_LENGTH:te,MAX_SAFE_INTEGER:ne}=Y,{re:re,t:se}=J,{compareIdentifiers:ie}=ee;class oe{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>te)throw new TypeError("version is longer than ".concat(te," characters"));Q("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?re[se.LOOSE]:re[se.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ne||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ne||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ne||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var ae=oe;var ue=(e,t,n)=>new ae(e,n).compare(new ae(t,n));var ce=(e,t,n)=>ue(e,t,n)<0;var le=(e,t,n)=>ue(e,t,n)>=0,pe="2.2.1",De=t((function(e,t){function n(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Ce(me()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:Ce(fe()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:Ce(de()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Ce(he()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const ye={compare:ue,lt:ce,gte:le},Se=pe,_e={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Te}.options;var be={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}={}){const s=Se.split("-",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(a),o=((e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n))))(Object.assign({},...e.map((({options:e})=>e)),_e),"name").filter((e=>a(e)&&u(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(s[n]=e[n]);return s}(e,["cliName","cliCategory","cliDescription"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(a).sort(((e,t)=>ye.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>a(e)&&u(e))),"parser"===t.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const s of t)if(s.parsers)for(const t of s.parsers)if(!r.has(t)){r.add(t);const i=n.find((e=>e.parsers&&e.parsers[t]));let o=s.name;i&&i.name&&(o+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:o})}}(t,i,e));const n=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,n)=>(e[n.name]=n.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:n})}));return{languages:i,options:o};function a(e){return t||!("since"in e)||e.since&&ye.gte(s,e.since)}function u(e){return n||!("deprecated"in e)||e.deprecated&&ye.lt(s,e.deprecated)}}};const{getSupportInfo:Fe}=be,Ae=/[^\x20-\x7F]/;function ve(e){return(t,n,r)=>{const s=r&&r.backwards;if(!1===n)return!1;const{length:i}=t;let o=n;for(;o>=0&&o(n.match(o.regex)||[]).length?o.quote:i.quote}return a}function Ue(e,t,n){const r='"'===t?"'":'"',s=e.replace(/\\([\S\s])|(["'])/g,((e,s,i)=>s===r?s:i===t?"\\"+i:i||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(s)?s:"\\"+s)));return t+s+t}function Ge(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}var Ve={inferParserByLanguage:function(e,t){const{languages:n}=Fe({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return r&&r.parsers[0]},replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split("\n"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?Ae.test(e)?y(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(a(t),")+"),"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(a(t),")+"),"g"));if(null===n)return 0;const r=new Map;let s=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>s&&(s=n)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ie,getNextNonSpaceNonCommentCharacterIndex:qe,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(qe(e,t,n))},skip:ve,skipWhitespace:we,skipSpaces:ke,skipToLineEnd:Ne,skipEverythingButNewLine:xe,skipInlineComment:Oe,skipTrailingComment:Re,skipNewline:Le,isNextLineEmptyAfterIndex:Be,isNextLineEmpty:function(e,t,n){return Be(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=ke(e,r,{backwards:!0}),r=Le(e,r,{backwards:!0}),r=ke(e,r,{backwards:!0}),r!==Le(e,r,{backwards:!0})},hasNewline:Pe,hasNewlineInRange:function(e,t,n){for(let r=t;r=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let n;if("\n"===t)n=/\n/g;else if("\r"===t)n=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));n=/\r\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{getStringWidth:He}=Ve,{convertEndOfLineToChars:Xe}=je,{concat:ze,fill:We,cursor:Qe}=f;let Ye;function Je(e,t){return Ke(e,{type:"indent"},t)}function Ze(e,t,n){if(t===-1/0)return e.root||{value:"",length:0,queue:[]};if(t<0)return Ke(e,{type:"dedent"},n);if(!t)return e;if("root"===t.type)return Object.assign({},e,{root:e});return Ke(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},n)}function Ke(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let s="",i=0,o=0,a=0;for(const e of r)switch(e.type){case"indent":l(),n.useTabs?u(1):c(n.tabWidth);break;case"stringAlign":l(),s+=e.n,i+=e.n.length;break;case"numberAlign":o+=1,a+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return p(),Object.assign({},e,{value:s,length:i,queue:r});function u(e){s+="\t".repeat(e),i+=n.tabWidth*e}function c(e){s+=" ".repeat(e),i+=e}function l(){n.useTabs?function(){o>0&&u(o);D()}():p()}function p(){a>0&&c(a),D()}function D(){o=0,a=0}}function et(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof e[e.length-1]&&e[e.length-1].match(/^[\t ]*$/);)t+=e.pop().length;if(e.length&&"string"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[\t ]*$/,"");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function tt(e,t,n,r,s){let i=t.length;const o=[e],a=[];for(;n>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,u,c]=o.pop();if("string"==typeof c)a.push(c),n-=He(c);else switch(c.type){case"concat":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case"indent":o.push([Je(e,r),u,c.contents]);break;case"align":o.push([Ze(e,c.n,r),u,c.contents]);break;case"trim":n+=et(a);break;case"group":if(s&&c.break)return!1;o.push([e,c.break?1:u,c.contents]),c.id&&(Ye[c.id]=o[o.length-1][1]);break;case"fill":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case"if-break":{const t=c.groupId?Ye[c.groupId]:u;1===t&&c.breakContents&&o.push([e,u,c.breakContents]),2===t&&c.flatContents&&o.push([e,u,c.flatContents]);break}case"line":switch(u){case 2:if(!c.hard){c.soft||(a.push(" "),n-=1);break}return!0;case 1:return!0}}}return!1}var nt={printDocToString:function(e,t){Ye={};const n=t.printWidth,r=Xe(t.endOfLine);let s=0;const i=[[{value:"",length:0,queue:[]},1,e]],o=[];let a=!1,u=[];for(;0!==i.length;){const[e,c,l]=i.pop();if("string"==typeof l){const e="\n"!==r&&l.includes("\n")?l.replace(/\n/g,r):l;o.push(e),s+=He(e)}else switch(l.type){case"cursor":o.push(Qe.placeholder);break;case"concat":for(let t=l.parts.length-1;t>=0;t--)i.push([e,c,l.parts[t]]);break;case"indent":i.push([Je(e,t),c,l.contents]);break;case"align":i.push([Ze(e,l.n,t),c,l.contents]);break;case"trim":s-=et(o);break;case"group":switch(c){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const r=[e,2,l.contents],o=n-s;if(!l.break&&tt(r,i,o,t))i.push(r);else if(l.expandedStates){const n=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,n]);break}for(let r=1;r=l.expandedStates.length){i.push([e,1,n]);break}{const n=[e,2,l.expandedStates[r]];if(tt(n,i,o,t)){i.push(n);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(Ye[l.id]=i[i.length-1][1]);break;case"fill":{const r=n-s,{parts:o}=l;if(0===o.length)break;const[a,u]=o,p=[e,2,a],D=[e,1,a],h=tt(p,[],r,t,!0);if(1===o.length){h?i.push(p):i.push(D);break}const d=[e,2,u],f=[e,1,u];if(2===o.length){h?(i.push(d),i.push(p)):(i.push(f),i.push(D));break}o.splice(0,2);const m=[e,c,We(o)],g=o[0];tt([e,2,ze([a,u,g])],[],r,t,!0)?(i.push(m),i.push(d),i.push(p)):h?(i.push(m),i.push(f),i.push(p)):(i.push(m),i.push(f),i.push(D));break}case"if-break":{const t=l.groupId?Ye[l.groupId]:c;1===t&&l.breakContents&&i.push([e,c,l.breakContents]),2===t&&l.flatContents&&i.push([e,c,l.flatContents]);break}case"line-suffix":u.push([e,c,l.contents]);break;case"line-suffix-boundary":u.length>0&&i.push([e,c,{type:"line",hard:!0}]);break;case"line":switch(c){case 2:if(!l.hard){l.soft||(o.push(" "),s+=1);break}a=!0;case 1:if(u.length){i.push([e,c,l]),i.push(...u.reverse()),u=[];break}l.literal?e.root?(o.push(r,e.root.value),s=e.root.length):(o.push(r),s=0):(s-=et(o),o.push(r+e.value),s=e.length)}}0===i.length&&u.length&&(i.push(...u.reverse()),u=[])}const c=o.indexOf(Qe.placeholder);if(-1!==c){const e=o.indexOf(Qe.placeholder,c+1),t=o.slice(0,c).join(""),n=o.slice(c+1,e).join("");return{formatted:t+n+o.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:o.join("")}}};const{literalline:rt,concat:st}=f,it={};function ot(e,t,n,r){const s=[e];for(;0!==s.length;){const e=s.pop();if(e!==it){if(n&&s.push(e,it),!t||!1!==t(e))if("concat"===e.type||"fill"===e.type)for(let t=e.parts.length-1;t>=0;--t)s.push(e.parts[t]);else if("if-break"===e.type)e.flatContents&&s.push(e.flatContents),e.breakContents&&s.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)s.push(e.expandedStates[t]);else s.push(e.contents);else e.contents&&s.push(e.contents)}else n(s.pop())}}function at(e,t){if("concat"===e.type||"fill"===e.type){const n=e.parts.map((e=>at(e,t)));return t(Object.assign({},e,{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&at(e.breakContents,t),r=e.flatContents&&at(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=at(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function ut(e,t,n){let r=n,s=!1;return ot(e,(function(e){const n=t(e);if(void 0!==n&&(s=!0,r=n),s)return!1})),r}function ct(e){return"string"!=typeof e&&("line"===e.type||void 0)}function lt(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function pt(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function Dt(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}function ht(e){const t=[],n=e.filter(Boolean);for(;0!==n.length;){const e=n.shift();e&&("concat"!==e.type?0===t.length||"string"!=typeof t[t.length-1]||"string"!=typeof e?t.push(e):t[t.length-1]+=e:n.unshift(...e.parts))}return t}function dt(e){if("concat"===e.type){const t=[];for(let n=0;n0&&!t;r--)t=n[r-1];return"group"===t.type&&(n=t.contents.parts),n}(t):t.parts,s=r[r.length-1];if("concat"===s.type)return 2===s.parts.length&&s.parts[0].hard&&"break-parent"===s.parts[1].type?{type:"concat",parts:r.slice(0,-1)}:{type:"concat",parts:t.parts.slice(0,-1).concat(e(s))}}return t},normalizeParts:ht,normalizeDoc:function(e){return at(e,(e=>e.parts?Object.assign({},e,{parts:ht(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return at(e,(e=>"string"==typeof e&&e.includes("\n")?st(e.split(/(\n)/g).map(((e,t)=>t%2==0?e:rt))):e))}},debug:{printDocToDebug:e=>ft(dt(e))}};const{builders:{hardline:gt,concat:Et,markAsRoot:Ct}}=mt,Tt={"---":"yaml","+++":"toml"};var yt={parse:function(e){const t=Object.keys(Tt).map(a).join("|"),n=e.match(new RegExp("^(".concat(t,")([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)")));if(null===n)return{frontMatter:null,content:e};const[r,s,i,o]=n;let u=Tt[s];return"toml"!==u&&i&&i.trim()&&(u=i.trim()),{frontMatter:{type:"front-matter",lang:u,value:o,raw:r.replace(/\n$/,"")},content:r.replace(/[^\n]/g," ")+e.slice(r.length)}},print:function(e,t){if("yaml"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:"yaml"},{stripTrailingHardline:!0}):"";return Ct(Et(["---",gt,r,r?gt:"","---"]))}}};var St=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n},_t={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],abbr:["title"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],bdo:["dir"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dfn:["title"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["accesskey","for","form"],legend:["accesskey","align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],select:["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],slot:["name"],source:["media","sizes","src","srcset","type"],style:["media","nonce","title","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]};const{inferParserByLanguage:bt,isFrontMatterNode:Ft}=Ve,{CSS_DISPLAY_TAGS:At,CSS_DISPLAY_DEFAULT:vt,CSS_WHITE_SPACE_TAGS:wt,CSS_WHITE_SPACE_DEFAULT:kt}={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},Nt=Lt(["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]),xt=function(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}(_t,Lt),Ot=new Set(["\t","\n","\f","\r"," "]),Rt=e=>e.replace(/[\t\n\f\r ]+$/,"");function Lt(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function Pt(e,t){return!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||(!(!zt(e)||!e.children.some((e=>"text"!==e.type&&"interpolation"!==e.type)))||!(!Kt(e,t)||It(e)||"interpolation"===e.type)))}function Bt(e){if("attribute"===e.type)return!1;if(!e.parent)return!1;if("number"!=typeof e.index||0===e.index)return!1;return function(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}(e.parent.children[e.index-1])}function It(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||Wt(e)&&("script"===e.name||"style"===e.name))}function qt(e){return Qt(e).startsWith("pre")}function $t(e){return"element"===e.type&&0!==e.children.length&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function Mt(e){return jt(e)||"element"===e.type&&"br"===e.fullName||Ut(e)}function Ut(e){return Gt(e)&&Vt(e)}function Gt(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function jt(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function Ht(e){const{type:t,lang:n}=e.attrMap;return"module"===t||"text/javascript"===t||"text/babel"===t||"application/javascript"===t||"jsx"===n?"babel":"application/x-typescript"===t||"ts"===n||"tsx"===n?"typescript":"text/markdown"===t?"markdown":"text/html"===t?"html":t&&(t.endsWith("json")||t.endsWith("importmap"))?"json":"text/x-handlebars-template"===t?"glimmer":void 0}function Xt(e){return"block"===e||"list-item"===e||e.startsWith("table")}function zt(e){return Qt(e).startsWith("pre")}function Wt(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function Qt(e){return"element"===e.type&&(!e.namespace||Wt(e))&&wt[e.name]||kt}const Yt=new Set(["template","style","script"]);function Jt(e,t){return Zt(e,t)&&!Yt.has(e.fullName)}function Zt(e,t){return"vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&"html"!==e.fullName.toLowerCase()}function Kt(e,t){return Zt(e,t)&&(Jt(e,t)||e.attrMap.lang&&"html"!==e.attrMap.lang)}var en={HTML_ELEMENT_ATTRIBUTES:xt,HTML_TAGS:Nt,htmlTrim:e=>(e=>e.replace(/^[\t\n\f\r ]+/,""))(Rt(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\t\f\r ]*?\n/g,""))(Rt(e)),splitByHtmlWhitespace:e=>e.split(/[\t\n\f\r ]+/),hasHtmlWhitespace:e=>/[\t\n\f\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,n,r]=e.match(/^([\t\n\f\r ]*)([\S\s]*?)([\t\n\f\r ]*)$/);return{leadingWhitespace:t,trailingWhitespace:r,text:n}},canHaveInterpolation:function(e){return e.children&&!It(e)},countChars:function(e,t){let n=0;for(let r=0;r=0;r--){const s=e.stack[r];s&&"object"==typeof s&&!Array.isArray(s)&&t(s)&&n++}return n},dedentString:function(e,t=function(e){let t=1/0;for(const r of e.split("\n")){if(0===r.length)continue;if(!Ot.has(r[0]))return 0;const e=(n=r,n.match(/^[\t\n\f\r ]*/)[0]).length;r.length!==e&&ee.slice(t))).join("\n")},forceBreakChildren:$t,forceBreakContent:function(e){return $t(e)||"element"===e.type&&0!==e.children.length&&(["body","script","style"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>"text"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&"text"!==e.firstChild.type&&Gt(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||Vt(e.lastChild))},forceNextEmptyLine:function(e){return Ft(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1"svg:foreignObject"===e.fullName)))return"svg"===e.name?"inline-block":"block";n=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"vue"===t.parser&&e.parent&&"root"===e.parent.type?"block":"element"===e.type&&(!e.namespace||n||Wt(e))&&At[e.name]||vt}},getNodeCssStyleWhiteSpace:Qt,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\s+/))},hasPrettierIgnore:Bt,inferScriptParser:function(e,t){return"script"!==e.name||e.attrMap.src?"style"===e.name?function(e){const{lang:t}=e.attrMap;return t&&"postcss"!==t&&"css"!==t?"scss"===t?"scss":"less"===t?"less":void 0:"css"}(e):t&&Kt(e,t)?Ht(e)||!("src"in e.attrMap)&&bt(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?Ht(e):"babel"},isVueCustomBlock:Jt,isVueNonHtmlBlock:Kt,isVueSlotAttribute:function(e){const t=e.fullName;return"#"===t.charAt(0)||"slot-scope"===t||"v-slot"===t||t.startsWith("v-slot:")},isVueSfcBindingsAttribute:function(e,t){const n=e.parent;if(!Zt(n,t))return!1;const r=n.fullName,s=e.fullName;return"script"===r&&"setup"===s||"style"===r&&"vars"===s},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,Xt(t)||"inline-block"===t||It(e));var t},isIndentationSensitiveNode:qt,isLeadingSpaceSensitiveNode:function(e,t){const n=function(){if(Ft(e))return!1;if(("text"===e.type||"interpolation"===e.type)&&e.prev&&("text"===e.prev.type||"interpolation"===e.prev.type))return!0;if(!e.parent||"none"===e.parent.cssDisplay)return!1;if(zt(e.parent))return!0;if(!e.prev&&("root"===e.parent.type||zt(e)&&e.parent||It(e.parent)||Jt(e.parent,t)||(n=e.parent.cssDisplay,Xt(n)||"inline-block"===n)))return!1;var n;if(e.prev&&!function(e){return!Xt(e)}(e.prev.cssDisplay))return!1;return!0}();return n&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:n},isPreLikeNode:zt,isScriptLikeTag:It,isTextLikeNode:function(e){return"text"===e.type||"comment"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!Ft(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!zt(e.parent)||!(!e.next&&("root"===e.parent.type||zt(e)&&e.parent||It(e.parent)||Jt(e.parent,t)||(n=e.parent.cssDisplay,Xt(n)||"inline-block"===n)))&&!(e.next&&!function(e){return!Xt(e)}(e.next.cssDisplay))));var n},isWhitespaceSensitiveNode:function(e){return It(e)||"interpolation"===e.type||qt(e)},isUnknownNamespace:Wt,preferHardlineAsLeadingSpaces:function(e){return jt(e)||e.prev&&Mt(e.prev)||Ut(e)},preferHardlineAsTrailingSpaces:Mt,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(Bt(e)||Pt(e.parent,t))},shouldPreserveContent:Pt,unescapeQuoteEntities:function(e){return e.replace(/'/g,"'").replace(/"/g,'"')}};var tn={hasPragma:function(e){return/^\s*/.test(e)},insertPragma:function(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}};const nn={attrs:!0,children:!0};class rn{constructor(e={}){for(const t of Object.keys(e)){const n=e[t];t in nn?this._setNodes(t,n):this[t]=n}}_setNodes(e,t){t!==this[e]&&(this[e]=function(e,t){const n=e.map((e=>e instanceof rn?e.clone():new rn(e)));let r=null,s=n[0],i=n[1]||null;for(let e=0;e(e[t.fullName]=t.value,e)),Object.create(null))}))}map(e){let t=null;for(const n in nn){const r=this[n];if(r){const s=sn(r,(t=>t.map(e)));t!==r&&(t||(t=new rn),t._setNodes(n,s))}}if(t){for(const e in this)e in nn||(t[e]=this[e]);const{index:e,siblings:n,prev:r,next:s,parent:i}=this;on(t,{index:e,siblings:n,prev:r,next:s,parent:i})}return e(t||this)}clone(e){return new rn(e?Object.assign({},this,e):this)}get firstChild(){return this.children&&0!==this.children.length?this.children[0]:null}get lastChild(){return this.children&&0!==this.children.length?this.children[this.children.length-1]:null}get rawName(){return this.hasExplicitNamespace?this.fullName:this.name}get fullName(){return this.namespace?this.namespace+":"+this.name:this.name}}function sn(e,t){const n=e.map(t);return n.some(((t,n)=>t!==e[n]))?n:e}function on(e,t){const n=Object.keys(t).reduce(((e,n)=>(e[n]={value:t[n],enumerable:!1},e)),{});Object.defineProperties(e,n)}var an={Node:rn};const{ParseSourceSpan:un}=o,cn=[[/^(\[if([^\]]*?)]>)([\S\s]*?){try{return[!0,t(i,a).children]}catch(e){return[!1,[{type:"text",value:i,sourceSpan:new un(a,u)}]]}})();return{type:"ieConditionalComment",complete:c,children:l,condition:s.trim().replace(/\s+/g," "),sourceSpan:e.sourceSpan,startSourceSpan:new un(e.sourceSpan.start,a),endSourceSpan:new un(u,e.sourceSpan.end)}}],[/^\[if([^\]]*?)]>",Gt:"\u226b",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",Hacek:"\u02c7",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",HARDcy:"\u042a",hardcy:"\u044a",hArr:"\u21d4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",Hat:"^",hbar:"\u210f",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",Hfr:"\u210c",hfr:"\ud835\udd25",HilbertSpace:"\u210b",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",Hopf:"\u210d",hopf:"\ud835\udd59",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210b",hscr:"\ud835\udcbd",hslash:"\u210f",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224e",HumpEqual:"\u224f",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xcd",iacute:"\xed",ic:"\u2063",Icirc:"\xce",icirc:"\xee",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xa1",iff:"\u21d4",Ifr:"\u2111",ifr:"\ud835\udd26",Igrave:"\xcc",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012a",imacr:"\u012b",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",Implies:"\u21d2",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",Int:"\u222c",int:"\u222b",intcal:"\u22ba",integers:"\u2124",Integral:"\u222b",intercal:"\u22ba",Intersection:"\u22c2",intlarhk:"\u2a17",intprod:"\u2a3c",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012e",iogon:"\u012f",Iopf:"\ud835\udd40",iopf:"\ud835\udd5a",Iota:"\u0399",iota:"\u03b9",iprod:"\u2a3c",iquest:"\xbf",Iscr:"\u2110",iscr:"\ud835\udcbe",isin:"\u2208",isindot:"\u22f5",isinE:"\u22f9",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xcf",iuml:"\xef",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\ud835\udd0d",jfr:"\ud835\udd27",jmath:"\u0237",Jopf:"\ud835\udd41",jopf:"\ud835\udd5b",Jscr:"\ud835\udca5",jscr:"\ud835\udcbf",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039a",kappa:"\u03ba",kappav:"\u03f0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041a",kcy:"\u043a",Kfr:"\ud835\udd0e",kfr:"\ud835\udd28",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040c",kjcy:"\u045c",Kopf:"\ud835\udd42",kopf:"\ud835\udd5c",Kscr:"\ud835\udca6",kscr:"\ud835\udcc0",lAarr:"\u21da",Lacute:"\u0139",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",Lambda:"\u039b",lambda:"\u03bb",Lang:"\u27ea",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",Laplacetrf:"\u2112",laquo:"\xab",Larr:"\u219e",lArr:"\u21d0",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",lAtail:"\u291b",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lBarr:"\u290e",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",Lcaron:"\u013d",lcaron:"\u013e",Lcedil:"\u013b",lcedil:"\u013c",lceil:"\u2308",lcub:"{",Lcy:"\u041b",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",Leftarrow:"\u21d0",leftarrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",leftarrowtail:"\u21a2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21d4",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",leftthreetimes:"\u22cb",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",lEg:"\u2a8b",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2aa1",lesssim:"\u2272",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",lfisht:"\u297c",lfloor:"\u230a",Lfr:"\ud835\udd0f",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lHar:"\u2962",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22d8",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",Lleftarrow:"\u21da",llhard:"\u296b",lltri:"\u25fa",Lmidot:"\u013f",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnap:"\u2a89",lnapprox:"\u2a89",lnE:"\u2268",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",LongLeftArrow:"\u27f5",Longleftarrow:"\u27f8",longleftarrow:"\u27f5",LongLeftRightArrow:"\u27f7",Longleftrightarrow:"\u27fa",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",LongRightArrow:"\u27f6",Longrightarrow:"\u27f9",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",Lopf:"\ud835\udd43",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\ud835\udcc1",Lsh:"\u21b0",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226a",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",ltrPar:"\u2996",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",Mcy:"\u041c",mcy:"\u043c",mdash:"\u2014",mDDot:"\u223a",measuredangle:"\u2221",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",mfr:"\ud835\udd2a",mho:"\u2127",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",MinusPlus:"\u2213",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",Mopf:"\ud835\udd44",mopf:"\ud835\udd5e",mp:"\u2213",Mscr:"\u2133",mscr:"\ud835\udcc2",mstpos:"\u223e",Mu:"\u039c",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",Ncy:"\u041d",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21d7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",nexist:"\u2204",nexists:"\u2204",Nfr:"\ud835\udd11",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",nGg:"\u22d9\u0338",ngsim:"\u2275",nGt:"\u226b\u20d2",ngt:"\u226f",ngtr:"\u226f",nGtv:"\u226b\u0338",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",NJcy:"\u040a",njcy:"\u045a",nlArr:"\u21cd",nlarr:"\u219a",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21cd",nleftarrow:"\u219a",nLeftrightarrow:"\u21ce",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nLl:"\u22d8\u0338",nlsim:"\u2274",nLt:"\u226a\u20d2",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nLtv:"\u226a\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",nopf:"\ud835\udd5f",Not:"\u2aec",not:"\xac",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",notin:"\u2209",notindot:"\u22f5\u0338",notinE:"\u22f9\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nRightarrow:"\u21cf",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",Nscr:"\ud835\udca9",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",Ntilde:"\xd1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",Nu:"\u039d",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224d\u20d2",nVDash:"\u22af",nVdash:"\u22ae",nvDash:"\u22ad",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvHarr:"\u2904",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwarhk:"\u2923",nwArr:"\u21d6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xd3",oacute:"\xf3",oast:"\u229b",ocir:"\u229a",Ocirc:"\xd4",ocirc:"\xf4",Ocy:"\u041e",ocy:"\u043e",odash:"\u229d",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29bf",Ofr:"\ud835\udd12",ofr:"\ud835\udd2c",ogon:"\u02db",Ograve:"\xd2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",Omacr:"\u014c",omacr:"\u014d",Omega:"\u03a9",omega:"\u03c9",Omicron:"\u039f",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",Oopf:"\ud835\udd46",oopf:"\ud835\udd60",opar:"\u29b7",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",operp:"\u29b9",oplus:"\u2295",Or:"\u2a54",or:"\u2228",orarr:"\u21bb",ord:"\u2a5d",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oS:"\u24c8",Oscr:"\ud835\udcaa",oscr:"\u2134",Oslash:"\xd8",oslash:"\xf8",osol:"\u2298",Otilde:"\xd5",otilde:"\xf5",Otimes:"\u2a37",otimes:"\u2297",otimesas:"\u2a36",Ouml:"\xd6",ouml:"\xf6",ovbar:"\u233d",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",par:"\u2225",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",PartialD:"\u2202",Pcy:"\u041f",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",Pfr:"\ud835\udd13",pfr:"\ud835\udd2d",Phi:"\u03a6",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",Pi:"\u03a0",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",PlusMinus:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",Poincareplane:"\u210c",pointint:"\u2a15",Popf:"\u2119",popf:"\ud835\udd61",pound:"\xa3",Pr:"\u2abb",pr:"\u227a",prap:"\u2ab7",prcue:"\u227c",prE:"\u2ab3",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2ab9",prnE:"\u2ab5",prnsim:"\u22e8",prod:"\u220f",Product:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",Proportion:"\u2237",Proportional:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",Pscr:"\ud835\udcab",pscr:"\ud835\udcc5",Psi:"\u03a8",psi:"\u03c8",puncsp:"\u2008",Qfr:"\ud835\udd14",qfr:"\ud835\udd2e",qint:"\u2a0c",Qopf:"\u211a",qopf:"\ud835\udd62",qprime:"\u2057",Qscr:"\ud835\udcac",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",QUOT:'"',quot:'"',rAarr:"\u21db",race:"\u223d\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",Rang:"\u27eb",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raquo:"\xbb",Rarr:"\u21a0",rArr:"\u21d2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21a3",rarrw:"\u219d",rAtail:"\u291c",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",RBarr:"\u2910",rBarr:"\u290f",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",Re:"\u211c",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",REG:"\xae",reg:"\xae",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",rfisht:"\u297d",rfloor:"\u230b",Rfr:"\u211c",rfr:"\ud835\udd2f",rHar:"\u2964",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",Rho:"\u03a1",rho:"\u03c1",rhov:"\u03f1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",Rightarrow:"\u21d2",rightarrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",rightarrowtail:"\u21a3",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",rightthreetimes:"\u22cc",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",Ropf:"\u211d",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",Rrightarrow:"\u21db",rsaquo:"\u203a",Rscr:"\u211b",rscr:"\ud835\udcc7",Rsh:"\u21b1",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",RuleDelayed:"\u29f4",ruluhar:"\u2968",rx:"\u211e",Sacute:"\u015a",sacute:"\u015b",sbquo:"\u201a",Sc:"\u2abc",sc:"\u227b",scap:"\u2ab8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227d",scE:"\u2ab4",sce:"\u2ab0",Scedil:"\u015e",scedil:"\u015f",Scirc:"\u015c",scirc:"\u015d",scnap:"\u2aba",scnE:"\u2ab6",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",Scy:"\u0421",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",searhk:"\u2925",seArr:"\u21d8",searr:"\u2198",searrow:"\u2198",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\ud835\udd16",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xad",Sigma:"\u03a3",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",SOFTcy:"\u042c",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",Sopf:"\ud835\udd4a",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",Sqrt:"\u221a",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",Square:"\u25a1",square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",Sscr:"\ud835\udcae",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",Star:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",Sub:"\u22d0",sub:"\u2282",subdot:"\u2abd",subE:"\u2ac5",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",Subset:"\u22d0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",SubsetEqual:"\u2286",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",SuchThat:"\u220b",Sum:"\u2211",sum:"\u2211",sung:"\u266a",Sup:"\u22d1",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supdot:"\u2abe",supdsub:"\u2ad8",supE:"\u2ac6",supe:"\u2287",supedot:"\u2ac4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",Supset:"\u22d1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swarhk:"\u2926",swArr:"\u21d9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szlig:"\xdf",Tab:"\t",target:"\u2316",Tau:"\u03a4",tau:"\u03c4",tbrk:"\u23b4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",Tfr:"\ud835\udd17",tfr:"\ud835\udd31",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",ThickSpace:"\u205f\u200a",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223c",THORN:"\xde",thorn:"\xfe",Tilde:"\u223c",tilde:"\u02dc",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",Topf:"\ud835\udd4b",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",TripleDot:"\u20db",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",Tscr:"\ud835\udcaf",tscr:"\ud835\udcc9",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040b",tshcy:"\u045b",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",Uacute:"\xda",uacute:"\xfa",Uarr:"\u219f",uArr:"\u21d1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040e",ubrcy:"\u045e",Ubreve:"\u016c",ubreve:"\u016d",Ucirc:"\xdb",ucirc:"\xfb",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21c5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",Ufr:"\ud835\udd18",ufr:"\ud835\udd32",Ugrave:"\xd9",ugrave:"\xf9",uHar:"\u2963",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",Umacr:"\u016a",umacr:"\u016b",uml:"\xa8",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",uogon:"\u0173",Uopf:"\ud835\udd4c",uopf:"\ud835\udd66",UpArrow:"\u2191",Uparrow:"\u21d1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",Updownarrow:"\u21d5",updownarrow:"\u2195",UpEquilibrium:"\u296e",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",upsi:"\u03c5",upsih:"\u03d2",Upsilon:"\u03a5",upsilon:"\u03c5",UpTee:"\u22a5",UpTeeArrow:"\u21a5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",Uring:"\u016e",uring:"\u016f",urtri:"\u25f9",Uscr:"\ud835\udcb0",uscr:"\ud835\udcca",utdot:"\u22f0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",Uuml:"\xdc",uuml:"\xfc",uwangle:"\u29a7",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",vArr:"\u21d5",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",Vbar:"\u2aeb",vBar:"\u2ae8",vBarv:"\u2ae9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22ab",Vdash:"\u22a9",vDash:"\u22a8",vdash:"\u22a2",Vdashl:"\u2ae6",Vee:"\u22c1",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",Vopf:"\ud835\udd4d",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",Vscr:"\ud835\udcb1",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",Vvdash:"\u22aa",vzigzag:"\u299a",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2a5f",Wedge:"\u22c0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\ud835\udd1a",wfr:"\ud835\udd34",Wopf:"\ud835\udd4e",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\ud835\udcb2",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",Xfr:"\ud835\udd1b",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",Xi:"\u039e",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",Xopf:"\ud835\udd4f",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",Xscr:"\ud835\udcb3",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",Yacute:"\xdd",yacute:"\xfd",YAcy:"\u042f",yacy:"\u044f",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042b",ycy:"\u044b",yen:"\xa5",Yfr:"\ud835\udd1c",yfr:"\ud835\udd36",YIcy:"\u0407",yicy:"\u0457",Yopf:"\ud835\udd50",yopf:"\ud835\udd6a",Yscr:"\ud835\udcb4",yscr:"\ud835\udcce",YUcy:"\u042e",yucy:"\u044e",Yuml:"\u0178",yuml:"\xff",Zacute:"\u0179",zacute:"\u017a",Zcaron:"\u017d",zcaron:"\u017e",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017b",zdot:"\u017c",zeetrf:"\u2128",ZeroWidthSpace:"\u200b",Zeta:"\u0396",zeta:"\u03b6",Zfr:"\u2128",zfr:"\ud835\udd37",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21dd",Zopf:"\u2124",zopf:"\ud835\udd6b",Zscr:"\ud835\udcb5",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},t.NGSP_UNICODE="\ue500",t.NAMED_ENTITIES.ngsp=t.NGSP_UNICODE})),hn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});class n{constructor({closedByChildren:e,implicitNamespacePrefix:t,contentType:n=Dn.TagContentType.PARSABLE_DATA,closedByParent:r=!1,isVoid:s=!1,ignoreFirstLf:i=!1}={}){this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,e&&e.length>0&&e.forEach((e=>this.closedByChildren[e]=!0)),this.isVoid=s,this.closedByParent=r||s,this.implicitNamespacePrefix=t||null,this.contentType=n,this.ignoreFirstLf=i}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}}let r,s;t.HtmlTagDefinition=n,t.getHtmlTagDefinition=function(e){return s||(r=new n,s={base:new n({isVoid:!0}),meta:new n({isVoid:!0}),area:new n({isVoid:!0}),embed:new n({isVoid:!0}),link:new n({isVoid:!0}),img:new n({isVoid:!0}),input:new n({isVoid:!0}),param:new n({isVoid:!0}),hr:new n({isVoid:!0}),br:new n({isVoid:!0}),source:new n({isVoid:!0}),track:new n({isVoid:!0}),wbr:new n({isVoid:!0}),p:new n({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new n({closedByChildren:["tbody","tfoot"]}),tbody:new n({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new n({closedByChildren:["tbody"],closedByParent:!0}),tr:new n({closedByChildren:["tr"],closedByParent:!0}),td:new n({closedByChildren:["td","th"],closedByParent:!0}),th:new n({closedByChildren:["td","th"],closedByParent:!0}),col:new n({isVoid:!0}),svg:new n({implicitNamespacePrefix:"svg"}),math:new n({implicitNamespacePrefix:"math"}),li:new n({closedByChildren:["li"],closedByParent:!0}),dt:new n({closedByChildren:["dt","dd"]}),dd:new n({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new n({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new n({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new n({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new n({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new n({closedByChildren:["optgroup"],closedByParent:!0}),option:new n({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new n({ignoreFirstLf:!0}),listing:new n({ignoreFirstLf:!0}),style:new n({contentType:Dn.TagContentType.RAW_TEXT}),script:new n({contentType:Dn.TagContentType.RAW_TEXT}),title:new n({contentType:Dn.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new n({contentType:Dn.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),s[e]||r}})),dn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});t.AstPath=class{constructor(e,t=-1){this.path=e,this.position=t}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(e){return e&&this.path[this.path.indexOf(e)-1]}childOf(e){return this.path[this.path.indexOf(e)+1]}first(e){for(let t=this.path.length-1;t>=0;t--){let n=this.path[t];if(n instanceof e)return n}}push(e){this.path.push(e)}pop(){return this.path.pop()}}})),fn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});t.Text=class{constructor(e,t,n){this.value=e,this.sourceSpan=t,this.i18n=n}visit(e,t){return e.visitText(this,t)}};t.CDATA=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitCdata(this,t)}};t.Expansion=class{constructor(e,t,n,r,s,i){this.switchValue=e,this.type=t,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=s,this.i18n=i}visit(e,t){return e.visitExpansion(this,t)}};t.ExpansionCase=class{constructor(e,t,n,r,s){this.value=e,this.expression=t,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=s}visit(e,t){return e.visitExpansionCase(this,t)}};t.Attribute=class{constructor(e,t,n,r=null,s=null,i=null){this.name=e,this.value=t,this.sourceSpan=n,this.valueSpan=r,this.nameSpan=s,this.i18n=i}visit(e,t){return e.visitAttribute(this,t)}};class n{constructor(e,t,n,r,s=null,i=null,o=null,a=null){this.name=e,this.attrs=t,this.children=n,this.sourceSpan=r,this.startSourceSpan=s,this.endSourceSpan=i,this.nameSpan=o,this.i18n=a}visit(e,t){return e.visitElement(this,t)}}t.Element=n;t.Comment=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitComment(this,t)}};function r(e,t,n=null){const r=[],s=e.visit?t=>e.visit(t,n)||t.visit(e,n):t=>t.visit(e,n);return t.forEach((e=>{const t=s(e);t&&r.push(t)})),r}t.DocType=class{constructor(e,t){this.value=e,this.sourceSpan=t}visit(e,t){return e.visitDocType(this,t)}},t.visitAll=r;class s{constructor(){}visitElement(e,t){this.visitChildren(t,(t=>{t(e.attrs),t(e.children)}))}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,(t=>{t(e.cases)}))}visitExpansionCase(e,t){}visitChildren(e,t){let n=[],s=this;return t((function(t){t&&n.push(r(s,t,e))})),Array.prototype.concat.apply([],n)}}function i(e){const t=e.sourceSpan.start.offset;let r=e.sourceSpan.end.offset;return e instanceof n&&(e.endSourceSpan?r=e.endSourceSpan.end.offset:e.children&&e.children.length&&(r=i(e.children[e.children.length-1]).end)),{start:t,end:r}}t.RecursiveVisitor=s,t.findNode=function(e,t){const n=[];return r(new class extends s{visit(e,r){const s=i(e);if(!(s.start<=t&&t]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];t.assertInterpolationSymbols=function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))throw new Error("Expected '".concat(e,"' to be an array, [start, end]."));if(null!=t){const e=t[0],r=t[1];n.forEach((t=>{if(t.test(e)||t.test(r))throw new Error("['".concat(e,"', '").concat(r,"'] contains unusable interpolation symbol."))}))}}})),gn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(mn.assertInterpolationSymbols("interpolation",e),new n(e[0],e[1])):t.DEFAULT_INTERPOLATION_CONFIG}}t.InterpolationConfig=n,t.DEFAULT_INTERPOLATION_CONFIG=new n("{{","}}")})),En=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});const r=n;var s;!function(e){e[e.TAG_OPEN_START=0]="TAG_OPEN_START",e[e.TAG_OPEN_END=1]="TAG_OPEN_END",e[e.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",e[e.TAG_CLOSE=3]="TAG_CLOSE",e[e.TEXT=4]="TEXT",e[e.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",e[e.RAW_TEXT=6]="RAW_TEXT",e[e.COMMENT_START=7]="COMMENT_START",e[e.COMMENT_END=8]="COMMENT_END",e[e.CDATA_START=9]="CDATA_START",e[e.CDATA_END=10]="CDATA_END",e[e.ATTR_NAME=11]="ATTR_NAME",e[e.ATTR_QUOTE=12]="ATTR_QUOTE",e[e.ATTR_VALUE=13]="ATTR_VALUE",e[e.DOC_TYPE_START=14]="DOC_TYPE_START",e[e.DOC_TYPE_END=15]="DOC_TYPE_END",e[e.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",e[e.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",e[e.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",e[e.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",e[e.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",e[e.EOF=21]="EOF"}(s=t.TokenType||(t.TokenType={}));class i{constructor(e,t,n){this.type=e,this.parts=t,this.sourceSpan=n}}t.Token=i;class a extends o.ParseError{constructor(e,t,n){super(n,e),this.tokenType=t}}t.TokenError=a;class u{constructor(e,t){this.tokens=e,this.errors=t}}t.TokenizeResult=u,t.tokenize=function(e,t,n,r={}){return new h(new o.ParseSourceFile(e,t),n,r).tokenize()};const c=/\r\n?/g;function l(e){const t=e===r.$EOF?"EOF":String.fromCharCode(e);return'Unexpected character "'.concat(t,'"')}function p(e){return'Unknown entity "'.concat(e,'" - use the "&#;" or "&#x;" syntax')}class D{constructor(e){this.error=e}}class h{constructor(e,t,n){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=n.tokenizeExpansionForms||!1,this._interpolationConfig=n.interpolationConfig||gn.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=n.leadingTriviaChars&&n.leadingTriviaChars.map((e=>e.codePointAt(0)||0)),this._canSelfClose=n.canSelfClose||!1,this._allowHtmComponentClosingTags=n.allowHtmComponentClosingTags||!1;const r=n.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=n.escapedString?new T(e,r):new C(e,r);try{this._cursor.init()}catch(e){this.handleError(e)}}_processCarriageReturns(e){return e.replace(c,"\n")}tokenize(){for(;this._cursor.peek()!==r.$EOF;){const e=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(e):this._attemptStr("--")?this._consumeComment(e):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(e);else{const t=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){this.handleError(e)}}return this._beginToken(s.EOF),this._endToken([]),new u(function(e){const t=[];let n=void 0;for(let r=0;rthis._attemptStr("--\x3e"))),this._beginToken(s.COMMENT_END),this._requireStr("--\x3e"),this._endToken([])}_consumeBogusComment(e){this._beginToken(s.COMMENT_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(s.CDATA_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._attemptStr("]]>"))),this._beginToken(s.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(e){this._beginToken(s.DOC_TYPE_START,e),this._endToken([]),this._consumeRawText(!1,(()=>this._cursor.peek()===r.$GT)),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){const e=this._cursor.clone();let t="";for(;this._cursor.peek()!==r.$COLON&&!(((n=this._cursor.peek())r.$9));)this._cursor.advance();var n;let s;this._cursor.peek()===r.$COLON?(t=this._cursor.getChars(e),this._cursor.advance(),s=this._cursor.clone()):s=e,this._requireCharCodeUntilFn(f,""===t?0:1);return[t,this._cursor.getChars(s)]}_consumeTagOpen(e){let t,n,i,o=this.tokens.length;const a=this._cursor.clone(),u=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(e));for(i=this._consumeTagOpenStart(e),n=i.parts[0],t=i.parts[1],this._attemptCharCodeUntilFn(d);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){const[e,t]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(d);const n=this._consumeAttributeValue();u.push({prefix:e,name:t,value:n})}else u.push({prefix:e,name:t});this._attemptCharCodeUntilFn(d)}this._consumeTagOpenEnd()}catch(t){if(t instanceof D)return this._cursor=a,i&&(this.tokens.length=o),this._beginToken(s.TEXT,e),void this._endToken(["<"]);throw t}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;const c=this._getTagContentType(t,n,this._fullNameStack.length>0,u);this._handleFullNameStackForTagOpen(n,t),c===Dn.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(n,t,!1):c===Dn.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,t,!0)}_consumeRawTextWithTagClose(e,t,n){this._consumeRawText(n,(()=>!!this._attemptCharCode(r.$LT)&&(!!this._attemptCharCode(r.$SLASH)&&(this._attemptCharCodeUntilFn(d),!!this._attemptStrCaseInsensitive(e?"".concat(e,":").concat(t):t)&&(this._attemptCharCodeUntilFn(d),this._attemptCharCode(r.$GT))))));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn((e=>e===r.$GT),3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(s.TAG_OPEN_START,e);const t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){const e=this._cursor.peek();if(e===r.$SQ||e===r.$DQ)throw this._createError(l(e),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);const t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);const t=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(t)]),this._beginToken(s.ATTR_VALUE);const n=[];for(;this._cursor.peek()!==t;)n.push(this._readChar(!0));e=this._processCarriageReturns(n.join("")),this._endToken([e]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(t)])}else{this._beginToken(s.ATTR_VALUE);const t=this._cursor.clone();this._requireCharCodeUntilFn(f,1),e=this._processCarriageReturns(this._cursor.getChars(t)),this._endToken([e])}return e}_consumeTagOpenEnd(){const e=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(e),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(e){if(this._beginToken(s.TAG_CLOSE,e),this._attemptCharCodeUntilFn(d),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([]);else{const[e,t]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(d),this._requireCharCode(r.$GT),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);const e=this._readUntil(r.$COMMA);this._endToken([e]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d),this._beginToken(s.RAW_TEXT);const t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(d)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);const e=this._readUntil(r.$LBRACE).trim();this._endToken([e]),this._attemptCharCodeUntilFn(d),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(d),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){const e=this._cursor.clone();this._beginToken(s.TEXT,e);const t=[];do{this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(t.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(t.push(this._interpolationConfig.end),this._inInterpolation=!1):t.push(this._readChar(!0))}while(!this._isTextEnd());this._endToken([this._processCarriageReturns(t.join(""))])}_isTextEnd(){if(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(this.isExpansionFormStart())return!0;if(this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase())return!0}return!1}_readUntil(e){const t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){const e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){const n=Dn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]!==n||this._fullNameStack.push(n)}_handleFullNameStackForTagClose(e,t){const n=Dn.mergeNsAndName(e,t);0!==this._fullNameStack.length&&this._fullNameStack[this._fullNameStack.length-1]===n&&this._fullNameStack.pop()}}function d(e){return!r.isWhitespace(e)||e===r.$EOF}function f(e){return r.isWhitespace(e)||e===r.$GT||e===r.$SLASH||e===r.$SQ||e===r.$DQ||e===r.$EQ}function m(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiHexDigit(e)}function g(e){return e==r.$SEMICOLON||e==r.$EOF||!r.isAsciiLetter(e)}function E(e){return e>=r.$a&&e<=r.$z?e-r.$a+r.$A:e}class C{constructor(e,t){if(e instanceof C)this.file=e.file,this.input=e.input,this.end=e.end,this.state=Object.assign({},e.state);else{if(!t)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=e,this.input=e.content,this.end=t.endPos,this.state={peek:-1,offset:t.startPos,line:t.startLine,column:t.startCol}}}clone(){return new C(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(e){return this.state.offset-e.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(e,t){if(e=e||this,t)for(e=e.clone();this.diff(e)>0&&-1!==t.indexOf(e.peek());)e.advance();return new o.ParseSourceSpan(new o.ParseLocation(e.file,e.state.offset,e.state.line,e.state.column),new o.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(e){return this.input.substring(e.state.offset,this.state.offset)}charAt(e){return this.input.charCodeAt(e)}advanceState(e){if(e.offset>=this.end)throw this.state=e,new y('Unexpected character "EOF"',this);const t=this.charAt(e.offset);t===r.$LF?(e.line++,e.column=0):r.isNewLine(t)||e.column++,e.offset++,this.updatePeek(e)}updatePeek(e){e.peek=e.offset>=this.end?r.$EOF:this.charAt(e.offset)}}class T extends C{constructor(e,t){e instanceof T?(super(e),this.internalState=Object.assign({},e.internalState)):(super(e,t),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new T(this)}getChars(e){const t=e.clone();let n="";for(;t.internalState.offsetthis.internalState.peek;if(e()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),e()===r.$n)this.state.peek=r.$LF;else if(e()===r.$r)this.state.peek=r.$CR;else if(e()===r.$v)this.state.peek=r.$VTAB;else if(e()===r.$t)this.state.peek=r.$TAB;else if(e()===r.$b)this.state.peek=r.$BSPACE;else if(e()===r.$f)this.state.peek=r.$FF;else if(e()===r.$u)if(this.advanceState(this.internalState),e()===r.$LBRACE){this.advanceState(this.internalState);const t=this.clone();let n=0;for(;e()!==r.$RBRACE;)this.advanceState(this.internalState),n++;this.state.peek=this.decodeHexDigits(t,n)}else{const e=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,4)}else if(e()===r.$x){this.advanceState(this.internalState);const e=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(e,2)}else if(r.isOctalDigit(e())){let t="",n=0,s=this.clone();for(;r.isOctalDigit(e())&&n<3;)s=this.clone(),t+=String.fromCodePoint(e()),this.advanceState(this.internalState),n++;this.state.peek=parseInt(t,8),this.internalState=s.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(e,t){const n=this.input.substr(e.internalState.offset,t),r=parseInt(n,16);if(isNaN(r))throw e.state=e.internalState,new y("Invalid hexadecimal escape sequence",e);return r}}class y{constructor(e,t){this.msg=e,this.cursor=t}}t.CursorError=y})),Cn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});class n extends o.ParseError{constructor(e,t,n){super(t,n),this.elementName=e}static create(e,t,r){return new n(e,t,r)}}t.TreeError=n;class r{constructor(e,t){this.rootNodes=e,this.errors=t}}t.ParseTreeResult=r;t.Parser=class{constructor(e){this.getTagDefinition=e}parse(e,t,n,i=!1,o){const a=e=>(t,...n)=>e(t.toLowerCase(),...n),u=i?this.getTagDefinition:a(this.getTagDefinition),c=e=>u(e).contentType,l=i?o:a(o),p=o?(e,t,n,r)=>{const s=l(e,t,n,r);return void 0!==s?s:c(e)}:c,D=En.tokenize(e,t,p,n),h=n&&n.canSelfClose||!1,d=n&&n.allowHtmComponentClosingTags||!1,f=new s(D.tokens,u,h,d,i).build();return new r(f.rootNodes,D.errors.concat(f.errors))}};class s{constructor(e,t,n,r,s){this.tokens=e,this.getTagDefinition=t,this.canSelfClose=n,this.allowHtmComponentClosingTags=r,this.isTagNameCaseSensitive=s,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==En.TokenType.EOF;)this._peek.type===En.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===En.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===En.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===En.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===En.TokenType.TEXT||this._peek.type===En.TokenType.RAW_TEXT||this._peek.type===En.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===En.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===En.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new r(this._rootNodes,this._errors)}_advance(){const e=this._peek;return this._index0)return this._errors=this._errors.concat(a.errors),null;const u=new o.ParseSourceSpan(e.sourceSpan.start,i.sourceSpan.end),c=new o.ParseSourceSpan(t.sourceSpan.start,i.sourceSpan.end);return new fn.ExpansionCase(e.parts[0],a.rootNodes,u,e.sourceSpan,c)}_collectExpansionExpTokens(e){const t=[],r=[En.TokenType.EXPANSION_CASE_EXP_START];for(;;){if(this._peek.type!==En.TokenType.EXPANSION_FORM_START&&this._peek.type!==En.TokenType.EXPANSION_CASE_EXP_START||r.push(this._peek.type),this._peek.type===En.TokenType.EXPANSION_CASE_EXP_END){if(!i(r,En.TokenType.EXPANSION_CASE_EXP_START))return this._errors.push(n.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(r.pop(),0==r.length)return t}if(this._peek.type===En.TokenType.EXPANSION_FORM_END){if(!i(r,En.TokenType.EXPANSION_FORM_START))return this._errors.push(n.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;r.pop()}if(this._peek.type===En.TokenType.EOF)return this._errors.push(n.create(null,e.sourceSpan,"Invalid ICU message. Missing '}'.")),null;t.push(this._advance())}}_getText(e){let t=e.parts[0];if(t.length>0&&"\n"==t[0]){const e=this._getParentElement();null!=e&&0==e.children.length&&this.getTagDefinition(e.name).ignoreFirstLf&&(t=t.substring(1))}return t}_consumeText(e){const t=this._getText(e);t.length>0&&this._addToParent(new fn.Text(t,e.sourceSpan))}_closeVoidElement(){const e=this._getParentElement();e&&this.getTagDefinition(e.name).isVoid&&this._elementStack.pop()}_consumeStartTag(e){const t=e.parts[0],r=e.parts[1],s=[];for(;this._peek.type===En.TokenType.ATTR_NAME;)s.push(this._consumeAttr(this._advance()));const i=this._getElementFullName(t,r,this._getParentElement());let a=!1;if(this._peek.type===En.TokenType.TAG_OPEN_END_VOID){this._advance(),a=!0;const t=this.getTagDefinition(i);this.canSelfClose||t.canSelfClose||null!==Dn.getNsPrefix(i)||t.isVoid||this._errors.push(n.create(i,e.sourceSpan,'Only void and foreign elements can be self closed "'.concat(e.parts[1],'"')))}else this._peek.type===En.TokenType.TAG_OPEN_END&&(this._advance(),a=!1);const u=this._peek.sourceSpan.start,c=new o.ParseSourceSpan(e.sourceSpan.start,u),l=new o.ParseSourceSpan(e.sourceSpan.start.moveBy(1),e.sourceSpan.end),p=new fn.Element(i,s,[],c,c,void 0,l);this._pushElement(p),a&&(this._popElement(i),p.endSourceSpan=c)}_pushElement(e){const t=this._getParentElement();t&&this.getTagDefinition(t.name).isClosedByChild(e.name)&&this._elementStack.pop(),this._addToParent(e),this._elementStack.push(e)}_consumeEndTag(e){const t=this.allowHtmComponentClosingTags&&0===e.parts.length?null:this._getElementFullName(e.parts[0],e.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=e.sourceSpan),t&&this.getTagDefinition(t).isVoid)this._errors.push(n.create(t,e.sourceSpan,'Void elements do not have end tags "'.concat(e.parts[1],'"')));else if(!this._popElement(t)){const r='Unexpected closing tag "'.concat(t,'". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags');this._errors.push(n.create(t,e.sourceSpan,r))}}_popElement(e){for(let t=this._elementStack.length-1;t>=0;t--){const n=this._elementStack[t];if(!e||(Dn.getNsPrefix(n.name)?n.name==e:n.name.toLowerCase()==e.toLowerCase()))return this._elementStack.splice(t,this._elementStack.length-t),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1}_consumeAttr(e){const t=Dn.mergeNsAndName(e.parts[0],e.parts[1]);let n=e.sourceSpan.end,r="",s=void 0,i=void 0;if(this._peek.type===En.TokenType.ATTR_QUOTE){i=this._advance().sourceSpan.start}if(this._peek.type===En.TokenType.ATTR_VALUE){const e=this._advance();r=e.parts[0],n=e.sourceSpan.end,s=e.sourceSpan}if(this._peek.type===En.TokenType.ATTR_QUOTE){n=this._advance().sourceSpan.end,s=new o.ParseSourceSpan(i,n)}return new fn.Attribute(t,r,new o.ParseSourceSpan(e.sourceSpan.start,n),s,e.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let e=null;for(let t=this._elementStack.length-1;t>=0;t--){if(!Dn.isNgContainer(this._elementStack[t].name))return{parent:this._elementStack[t],container:e};e=this._elementStack[t]}return{parent:null,container:e}}_addToParent(e){const t=this._getParentElement();null!=t?t.children.push(e):this._rootNodes.push(e)}_insertBeforeContainer(e,t,n){if(t){if(e){const r=e.children.indexOf(t);e.children[r]=n}else this._rootNodes.push(n);n.children.push(t),this._elementStack.splice(this._elementStack.indexOf(t),0,n)}else this._addToParent(n),this._elementStack.push(n)}_getElementFullName(e,t,n){return""===e&&""===(e=this.getTagDefinition(t).implicitNamespacePrefix||"")&&null!=n&&(e=Dn.getNsPrefix(n.name)),Dn.mergeNsAndName(e,t)}}function i(e,t){return e.length>0&&e[e.length-1]===t}})),Tn=t((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});var n=Cn;t.ParseTreeResult=n.ParseTreeResult,t.TreeError=n.TreeError;class r extends Cn.Parser{constructor(){super(hn.getHtmlTagDefinition)}parse(e,t,n,r=!1,s){return super.parse(e,t,n,r,s)}}t.HtmlParser=r})),yn=t((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.TagContentType=Dn.TagContentType;let n=null;t.parse=function(e,t={}){const{canSelfClose:r=!1,allowHtmComponentClosingTags:s=!1,isTagNameCaseSensitive:i=!1,getTagContentType:o}=t;return(n||(n=new Tn.HtmlParser),n).parse(e,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:s},i,o)}}));const{ParseSourceSpan:Sn,ParseLocation:_n,ParseSourceFile:bn}=o,{parse:Fn}=yt,{inferParserByLanguage:An}=Ve,{HTML_ELEMENT_ATTRIBUTES:vn,HTML_TAGS:wn,isUnknownNamespace:kn}=en,{hasPragma:Nn}=tn,{Node:xn}=an,{parseIeConditionalComment:On}=ln,{locStart:Rn,locEnd:Ln}=pn;function Pn(e,{recognizeSelfClosing:t,normalizeTagName:n,normalizeAttributeName:r,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a},u){const c=yn,{RecursiveVisitor:l,visitAll:p,Attribute:D,CDATA:h,Comment:d,DocType:f,Element:m,Text:g}=fn,{ParseSourceSpan:E}=o,{getHtmlTagDefinition:C}=hn;let{rootNodes:T,errors:y}=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i,getTagContentType:a});const S="vue"===u.parser&&T.some((e=>e instanceof f&&"html"===e.value||e instanceof m&&"html"===e.name.toLowerCase()));if("vue"!==u.parser||S){if(S){t=!0,n=!0,r=!0,s=!0,i=!1;const o=c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i});T=o.rootNodes,y=o.errors}}else{const n=e=>{if(!e)return!1;if("template"!==e.name)return!1;const t=e.attrs.find((e=>"lang"===e.name)),n=t&&t.value;return null==n||"html"===An(n,u)};if(T.some(n)){let r;const o=()=>c.parse(e,{canSelfClose:t,allowHtmComponentClosingTags:s,isTagNameCaseSensitive:i}),a=()=>r||(r=o()),u=e=>a().rootNodes.find((({startSourceSpan:t})=>t&&t.start.offset===e.startSourceSpan.start.offset));for(let e=0;e{const t=e.name.startsWith(":")?e.name.slice(1).split(":")[0]:null,n=e.nameSpan.toString(),r=n.startsWith("".concat(t,":")),s=r?n.slice(t.length+1):n;e.name=s,e.namespace=t,e.hasExplicitNamespace=r},b=(e,t)=>{const n=e.toLowerCase();return t(n)?n:e};return p(new class extends l{visit(e){(e=>{if(e instanceof D)e.type="attribute";else if(e instanceof h)e.type="cdata";else if(e instanceof d)e.type="comment";else if(e instanceof f)e.type="docType";else if(e instanceof m)e.type="element";else{if(!(e instanceof g))throw new Error("Unexpected node ".concat(JSON.stringify(e)));e.type="text"}})(e),(e=>{e instanceof m?(_(e),e.attrs.forEach((e=>{_(e),e.valueSpan?(e.value=e.valueSpan.toString(),/["']/.test(e.value[0])&&(e.value=e.value.slice(1,-1))):e.value=null}))):e instanceof d?e.value=e.sourceSpan.toString().slice("\x3c!--".length,-"--\x3e".length):e instanceof g&&(e.value=e.sourceSpan.toString())})(e),(e=>{if(e instanceof m){const t=C(i?e.name:e.name.toLowerCase());!e.namespace||e.namespace===t.implicitNamespacePrefix||kn(e)?e.tagDefinition=t:e.tagDefinition=C("")}})(e),(e=>{if(e instanceof m&&(!n||e.namespace&&e.namespace!==e.tagDefinition.implicitNamespacePrefix&&!kn(e)||(e.name=b(e.name,(e=>e in wn))),r)){const t=vn[e.name]||Object.create(null);e.attrs.forEach((n=>{n.namespace||(n.name=b(n.name,(n=>e.name in vn&&(n in vn["*"]||n in t))))}))}})(e),(e=>{e.sourceSpan&&e.endSourceSpan&&(e.sourceSpan=new E(e.sourceSpan.start,e.endSourceSpan.end))})(e)}},T),T}function Bn(e,t,n,r=!0){const{frontMatter:s,content:i}=r?Fn(e):{frontMatter:null,content:e},o=new bn(e,t.filepath),a=new _n(o,0,0,0),u=a.moveBy(e.length),c={type:"root",sourceSpan:new Sn(a,u),children:Pn(i,n,t)};if(s){const e=new _n(o,0,0,0),t=e.moveBy(s.raw.length);s.sourceSpan=new Sn(e,t),c.children.unshift(s)}const l=new xn(c),p=(r,s)=>{const{offset:i}=s,o=Bn(e.slice(0,i).replace(/[^\n\r]/g," ")+r,t,n,!1);o.sourceSpan=new Sn(s,o.children[o.children.length-1].sourceSpan.end);const a=o.children[0];return a.length===i?o.children.shift():(a.sourceSpan=new Sn(a.sourceSpan.start.moveBy(i),a.sourceSpan.end),a.value=a.value.slice(i)),o};return l.map((e=>{if("comment"===e.type){const t=On(e,p);if(t)return t}return e}))}function In({recognizeSelfClosing:e=!1,normalizeTagName:t=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:r=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}={}){return{parse:(o,a,u)=>Bn(o,u,{recognizeSelfClosing:e,normalizeTagName:t,normalizeAttributeName:n,allowHtmComponentClosingTags:r,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:Nn,astFormat:"html",locStart:Rn,locEnd:Ln}}var qn={parsers:{html:In({recognizeSelfClosing:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:In(),vue:In({recognizeSelfClosing:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,t,n,r)=>{if("html"!==e.toLowerCase()&&!n&&("template"!==e||r.some((({name:e,value:t})=>"lang"===e&&"html"!==t))))return yn.TagContentType.RAW_TEXT}}),lwc:In()}};export default qn; diff --git a/node_modules/prettier/esm/parser-markdown.mjs b/node_modules/prettier/esm/parser-markdown.mjs deleted file mode 100644 index 105e64e6..00000000 --- a/node_modules/prettier/esm/parser-markdown.mjs +++ /dev/null @@ -1,19 +0,0 @@ -var e=function(){for(var e={},r=0;rt)return{line:r+1,column:t-(e[r-1]||0)+1,offset:t};return{}}}function D(e){return function(t){var r=t&&t.line,n=t&&t.column;if(!isNaN(r)&&!isNaN(n)&&r-1 in e)return(e[r-2]||0)+n-1||0;return-1}}var p=function(e,t){return function(r){var n,u=0,i=r.indexOf("\\"),o=e[t],a=[];for(;-1!==i;)a.push(r.slice(u,i)),u=i+1,(n=r.charAt(u))&&-1!==o.indexOf(n)||a.push("\\"),i=r.indexOf("\\",u+1);return a.push(r.slice(u)),a.join("")}};var d={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Acirc:"\xc2",Agrave:"\xc0",Aring:"\xc5",Atilde:"\xc3",Auml:"\xc4",COPY:"\xa9",Ccedil:"\xc7",ETH:"\xd0",Eacute:"\xc9",Ecirc:"\xca",Egrave:"\xc8",Euml:"\xcb",GT:">",Iacute:"\xcd",Icirc:"\xce",Igrave:"\xcc",Iuml:"\xcf",LT:"<",Ntilde:"\xd1",Oacute:"\xd3",Ocirc:"\xd4",Ograve:"\xd2",Oslash:"\xd8",Otilde:"\xd5",Ouml:"\xd6",QUOT:'"',REG:"\xae",THORN:"\xde",Uacute:"\xda",Ucirc:"\xdb",Ugrave:"\xd9",Uuml:"\xdc",Yacute:"\xdd",aacute:"\xe1",acirc:"\xe2",acute:"\xb4",aelig:"\xe6",agrave:"\xe0",amp:"&",aring:"\xe5",atilde:"\xe3",auml:"\xe4",brvbar:"\xa6",ccedil:"\xe7",cedil:"\xb8",cent:"\xa2",copy:"\xa9",curren:"\xa4",deg:"\xb0",divide:"\xf7",eacute:"\xe9",ecirc:"\xea",egrave:"\xe8",eth:"\xf0",euml:"\xeb",frac12:"\xbd",frac14:"\xbc",frac34:"\xbe",gt:">",iacute:"\xed",icirc:"\xee",iexcl:"\xa1",igrave:"\xec",iquest:"\xbf",iuml:"\xef",laquo:"\xab",lt:"<",macr:"\xaf",micro:"\xb5",middot:"\xb7",nbsp:"\xa0",not:"\xac",ntilde:"\xf1",oacute:"\xf3",ocirc:"\xf4",ograve:"\xf2",ordf:"\xaa",ordm:"\xba",oslash:"\xf8",otilde:"\xf5",ouml:"\xf6",para:"\xb6",plusmn:"\xb1",pound:"\xa3",quot:'"',raquo:"\xbb",reg:"\xae",sect:"\xa7",shy:"\xad",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",szlig:"\xdf",thorn:"\xfe",times:"\xd7",uacute:"\xfa",ucirc:"\xfb",ugrave:"\xf9",uml:"\xa8",uuml:"\xfc",yacute:"\xfd",yen:"\xa5",yuml:"\xff"},h={0:"\ufffd",128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"},g=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57};var m=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57};var E=function(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90};var C=function(e){return E(e)||g(e)};var b={AEli:"\xc6",AElig:"\xc6",AM:"&",AMP:"&",Aacut:"\xc1",Aacute:"\xc1",Abreve:"\u0102",Acir:"\xc2",Acirc:"\xc2",Acy:"\u0410",Afr:"\ud835\udd04",Agrav:"\xc0",Agrave:"\xc0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2a53",Aogon:"\u0104",Aopf:"\ud835\udd38",ApplyFunction:"\u2061",Arin:"\xc5",Aring:"\xc5",Ascr:"\ud835\udc9c",Assign:"\u2254",Atild:"\xc3",Atilde:"\xc3",Aum:"\xc4",Auml:"\xc4",Backslash:"\u2216",Barv:"\u2ae7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212c",Beta:"\u0392",Bfr:"\ud835\udd05",Bopf:"\ud835\udd39",Breve:"\u02d8",Bscr:"\u212c",Bumpeq:"\u224e",CHcy:"\u0427",COP:"\xa9",COPY:"\xa9",Cacute:"\u0106",Cap:"\u22d2",CapitalDifferentialD:"\u2145",Cayleys:"\u212d",Ccaron:"\u010c",Ccedi:"\xc7",Ccedil:"\xc7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010a",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"\u212d",Chi:"\u03a7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201d",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2a74",Congruent:"\u2261",Conint:"\u222f",ContourIntegral:"\u222e",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2a2f",Cscr:"\ud835\udc9e",Cup:"\u22d3",CupCap:"\u224d",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040f",Dagger:"\u2021",Darr:"\u21a1",Dashv:"\u2ae4",Dcaron:"\u010e",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\ud835\udd07",DiacriticalAcute:"\xb4",DiacriticalDot:"\u02d9",DiacriticalDoubleAcute:"\u02dd",DiacriticalGrave:"`",DiacriticalTilde:"\u02dc",Diamond:"\u22c4",DifferentialD:"\u2146",Dopf:"\ud835\udd3b",Dot:"\xa8",DotDot:"\u20dc",DotEqual:"\u2250",DoubleContourIntegral:"\u222f",DoubleDot:"\xa8",DoubleDownArrow:"\u21d3",DoubleLeftArrow:"\u21d0",DoubleLeftRightArrow:"\u21d4",DoubleLeftTee:"\u2ae4",DoubleLongLeftArrow:"\u27f8",DoubleLongLeftRightArrow:"\u27fa",DoubleLongRightArrow:"\u27f9",DoubleRightArrow:"\u21d2",DoubleRightTee:"\u22a8",DoubleUpArrow:"\u21d1",DoubleUpDownArrow:"\u21d5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21f5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295e",DownLeftVector:"\u21bd",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295f",DownRightVector:"\u21c1",DownRightVectorBar:"\u2957",DownTee:"\u22a4",DownTeeArrow:"\u21a7",Downarrow:"\u21d3",Dscr:"\ud835\udc9f",Dstrok:"\u0110",ENG:"\u014a",ET:"\xd0",ETH:"\xd0",Eacut:"\xc9",Eacute:"\xc9",Ecaron:"\u011a",Ecir:"\xca",Ecirc:"\xca",Ecy:"\u042d",Edot:"\u0116",Efr:"\ud835\udd08",Egrav:"\xc8",Egrave:"\xc8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25fb",EmptyVerySmallSquare:"\u25ab",Eogon:"\u0118",Eopf:"\ud835\udd3c",Epsilon:"\u0395",Equal:"\u2a75",EqualTilde:"\u2242",Equilibrium:"\u21cc",Escr:"\u2130",Esim:"\u2a73",Eta:"\u0397",Eum:"\xcb",Euml:"\xcb",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\ud835\udd09",FilledSmallSquare:"\u25fc",FilledVerySmallSquare:"\u25aa",Fopf:"\ud835\udd3d",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03dc",Gbreve:"\u011e",Gcedil:"\u0122",Gcirc:"\u011c",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\ud835\udd0a",Gg:"\u22d9",Gopf:"\ud835\udd3e",GreaterEqual:"\u2265",GreaterEqualLess:"\u22db",GreaterFullEqual:"\u2267",GreaterGreater:"\u2aa2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2a7e",GreaterTilde:"\u2273",Gscr:"\ud835\udca2",Gt:"\u226b",HARDcy:"\u042a",Hacek:"\u02c7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210c",HilbertSpace:"\u210b",Hopf:"\u210d",HorizontalLine:"\u2500",Hscr:"\u210b",Hstrok:"\u0126",HumpDownHump:"\u224e",HumpEqual:"\u224f",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xcd",Iacute:"\xcd",Icir:"\xce",Icirc:"\xce",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xcc",Igrave:"\xcc",Im:"\u2111",Imacr:"\u012a",ImaginaryI:"\u2148",Implies:"\u21d2",Int:"\u222c",Integral:"\u222b",Intersection:"\u22c2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012e",Iopf:"\ud835\udd40",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xcf",Iuml:"\xcf",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\ud835\udd0d",Jopf:"\ud835\udd41",Jscr:"\ud835\udca5",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040c",Kappa:"\u039a",Kcedil:"\u0136",Kcy:"\u041a",Kfr:"\ud835\udd0e",Kopf:"\ud835\udd42",Kscr:"\ud835\udca6",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039b",Lang:"\u27ea",Laplacetrf:"\u2112",Larr:"\u219e",Lcaron:"\u013d",Lcedil:"\u013b",Lcy:"\u041b",LeftAngleBracket:"\u27e8",LeftArrow:"\u2190",LeftArrowBar:"\u21e4",LeftArrowRightArrow:"\u21c6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27e6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21c3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230a",LeftRightArrow:"\u2194",LeftRightVector:"\u294e",LeftTee:"\u22a3",LeftTeeArrow:"\u21a4",LeftTeeVector:"\u295a",LeftTriangle:"\u22b2",LeftTriangleBar:"\u29cf",LeftTriangleEqual:"\u22b4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21bf",LeftUpVectorBar:"\u2958",LeftVector:"\u21bc",LeftVectorBar:"\u2952",Leftarrow:"\u21d0",Leftrightarrow:"\u21d4",LessEqualGreater:"\u22da",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2aa1",LessSlantEqual:"\u2a7d",LessTilde:"\u2272",Lfr:"\ud835\udd0f",Ll:"\u22d8",Lleftarrow:"\u21da",Lmidot:"\u013f",LongLeftArrow:"\u27f5",LongLeftRightArrow:"\u27f7",LongRightArrow:"\u27f6",Longleftarrow:"\u27f8",Longleftrightarrow:"\u27fa",Longrightarrow:"\u27f9",Lopf:"\ud835\udd43",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21b0",Lstrok:"\u0141",Lt:"\u226a",Map:"\u2905",Mcy:"\u041c",MediumSpace:"\u205f",Mellintrf:"\u2133",Mfr:"\ud835\udd10",MinusPlus:"\u2213",Mopf:"\ud835\udd44",Mscr:"\u2133",Mu:"\u039c",NJcy:"\u040a",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041d",NegativeMediumSpace:"\u200b",NegativeThickSpace:"\u200b",NegativeThinSpace:"\u200b",NegativeVeryThinSpace:"\u200b",NestedGreaterGreater:"\u226b",NestedLessLess:"\u226a",NewLine:"\n",Nfr:"\ud835\udd11",NoBreak:"\u2060",NonBreakingSpace:"\xa0",Nopf:"\u2115",Not:"\u2aec",NotCongruent:"\u2262",NotCupCap:"\u226d",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226f",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226b\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2a7e\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224e\u0338",NotHumpEqual:"\u224f\u0338",NotLeftTriangle:"\u22ea",NotLeftTriangleBar:"\u29cf\u0338",NotLeftTriangleEqual:"\u22ec",NotLess:"\u226e",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226a\u0338",NotLessSlantEqual:"\u2a7d\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2aa2\u0338",NotNestedLessLess:"\u2aa1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2aaf\u0338",NotPrecedesSlantEqual:"\u22e0",NotReverseElement:"\u220c",NotRightTriangle:"\u22eb",NotRightTriangleBar:"\u29d0\u0338",NotRightTriangleEqual:"\u22ed",NotSquareSubset:"\u228f\u0338",NotSquareSubsetEqual:"\u22e2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22e3",NotSubset:"\u2282\u20d2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2ab0\u0338",NotSucceedsSlantEqual:"\u22e1",NotSucceedsTilde:"\u227f\u0338",NotSuperset:"\u2283\u20d2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\ud835\udca9",Ntild:"\xd1",Ntilde:"\xd1",Nu:"\u039d",OElig:"\u0152",Oacut:"\xd3",Oacute:"\xd3",Ocir:"\xd4",Ocirc:"\xd4",Ocy:"\u041e",Odblac:"\u0150",Ofr:"\ud835\udd12",Ograv:"\xd2",Ograve:"\xd2",Omacr:"\u014c",Omega:"\u03a9",Omicron:"\u039f",Oopf:"\ud835\udd46",OpenCurlyDoubleQuote:"\u201c",OpenCurlyQuote:"\u2018",Or:"\u2a54",Oscr:"\ud835\udcaa",Oslas:"\xd8",Oslash:"\xd8",Otild:"\xd5",Otilde:"\xd5",Otimes:"\u2a37",Oum:"\xd6",Ouml:"\xd6",OverBar:"\u203e",OverBrace:"\u23de",OverBracket:"\u23b4",OverParenthesis:"\u23dc",PartialD:"\u2202",Pcy:"\u041f",Pfr:"\ud835\udd13",Phi:"\u03a6",Pi:"\u03a0",PlusMinus:"\xb1",Poincareplane:"\u210c",Popf:"\u2119",Pr:"\u2abb",Precedes:"\u227a",PrecedesEqual:"\u2aaf",PrecedesSlantEqual:"\u227c",PrecedesTilde:"\u227e",Prime:"\u2033",Product:"\u220f",Proportion:"\u2237",Proportional:"\u221d",Pscr:"\ud835\udcab",Psi:"\u03a8",QUO:'"',QUOT:'"',Qfr:"\ud835\udd14",Qopf:"\u211a",Qscr:"\ud835\udcac",RBarr:"\u2910",RE:"\xae",REG:"\xae",Racute:"\u0154",Rang:"\u27eb",Rarr:"\u21a0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211c",ReverseElement:"\u220b",ReverseEquilibrium:"\u21cb",ReverseUpEquilibrium:"\u296f",Rfr:"\u211c",Rho:"\u03a1",RightAngleBracket:"\u27e9",RightArrow:"\u2192",RightArrowBar:"\u21e5",RightArrowLeftArrow:"\u21c4",RightCeiling:"\u2309",RightDoubleBracket:"\u27e7",RightDownTeeVector:"\u295d",RightDownVector:"\u21c2",RightDownVectorBar:"\u2955",RightFloor:"\u230b",RightTee:"\u22a2",RightTeeArrow:"\u21a6",RightTeeVector:"\u295b",RightTriangle:"\u22b3",RightTriangleBar:"\u29d0",RightTriangleEqual:"\u22b5",RightUpDownVector:"\u294f",RightUpTeeVector:"\u295c",RightUpVector:"\u21be",RightUpVectorBar:"\u2954",RightVector:"\u21c0",RightVectorBar:"\u2953",Rightarrow:"\u21d2",Ropf:"\u211d",RoundImplies:"\u2970",Rrightarrow:"\u21db",Rscr:"\u211b",Rsh:"\u21b1",RuleDelayed:"\u29f4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042c",Sacute:"\u015a",Sc:"\u2abc",Scaron:"\u0160",Scedil:"\u015e",Scirc:"\u015c",Scy:"\u0421",Sfr:"\ud835\udd16",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03a3",SmallCircle:"\u2218",Sopf:"\ud835\udd4a",Sqrt:"\u221a",Square:"\u25a1",SquareIntersection:"\u2293",SquareSubset:"\u228f",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\ud835\udcae",Star:"\u22c6",Sub:"\u22d0",Subset:"\u22d0",SubsetEqual:"\u2286",Succeeds:"\u227b",SucceedsEqual:"\u2ab0",SucceedsSlantEqual:"\u227d",SucceedsTilde:"\u227f",SuchThat:"\u220b",Sum:"\u2211",Sup:"\u22d1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22d1",THOR:"\xde",THORN:"\xde",TRADE:"\u2122",TSHcy:"\u040b",TScy:"\u0426",Tab:"\t",Tau:"\u03a4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\ud835\udd17",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205f\u200a",ThinSpace:"\u2009",Tilde:"\u223c",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\ud835\udd4b",TripleDot:"\u20db",Tscr:"\ud835\udcaf",Tstrok:"\u0166",Uacut:"\xda",Uacute:"\xda",Uarr:"\u219f",Uarrocir:"\u2949",Ubrcy:"\u040e",Ubreve:"\u016c",Ucir:"\xdb",Ucirc:"\xdb",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\ud835\udd18",Ugrav:"\xd9",Ugrave:"\xd9",Umacr:"\u016a",UnderBar:"_",UnderBrace:"\u23df",UnderBracket:"\u23b5",UnderParenthesis:"\u23dd",Union:"\u22c3",UnionPlus:"\u228e",Uogon:"\u0172",Uopf:"\ud835\udd4c",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21c5",UpDownArrow:"\u2195",UpEquilibrium:"\u296e",UpTee:"\u22a5",UpTeeArrow:"\u21a5",Uparrow:"\u21d1",Updownarrow:"\u21d5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03d2",Upsilon:"\u03a5",Uring:"\u016e",Uscr:"\ud835\udcb0",Utilde:"\u0168",Uum:"\xdc",Uuml:"\xdc",VDash:"\u22ab",Vbar:"\u2aeb",Vcy:"\u0412",Vdash:"\u22a9",Vdashl:"\u2ae6",Vee:"\u22c1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200a",Vfr:"\ud835\udd19",Vopf:"\ud835\udd4d",Vscr:"\ud835\udcb1",Vvdash:"\u22aa",Wcirc:"\u0174",Wedge:"\u22c0",Wfr:"\ud835\udd1a",Wopf:"\ud835\udd4e",Wscr:"\ud835\udcb2",Xfr:"\ud835\udd1b",Xi:"\u039e",Xopf:"\ud835\udd4f",Xscr:"\ud835\udcb3",YAcy:"\u042f",YIcy:"\u0407",YUcy:"\u042e",Yacut:"\xdd",Yacute:"\xdd",Ycirc:"\u0176",Ycy:"\u042b",Yfr:"\ud835\udd1c",Yopf:"\ud835\udd50",Yscr:"\ud835\udcb4",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017d",Zcy:"\u0417",Zdot:"\u017b",ZeroWidthSpace:"\u200b",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\ud835\udcb5",aacut:"\xe1",aacute:"\xe1",abreve:"\u0103",ac:"\u223e",acE:"\u223e\u0333",acd:"\u223f",acir:"\xe2",acirc:"\xe2",acut:"\xb4",acute:"\xb4",acy:"\u0430",aeli:"\xe6",aelig:"\xe6",af:"\u2061",afr:"\ud835\udd1e",agrav:"\xe0",agrave:"\xe0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03b1",amacr:"\u0101",amalg:"\u2a3f",am:"&",amp:"&",and:"\u2227",andand:"\u2a55",andd:"\u2a5c",andslope:"\u2a58",andv:"\u2a5a",ang:"\u2220",ange:"\u29a4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29a8",angmsdab:"\u29a9",angmsdac:"\u29aa",angmsdad:"\u29ab",angmsdae:"\u29ac",angmsdaf:"\u29ad",angmsdag:"\u29ae",angmsdah:"\u29af",angrt:"\u221f",angrtvb:"\u22be",angrtvbd:"\u299d",angsph:"\u2222",angst:"\xc5",angzarr:"\u237c",aogon:"\u0105",aopf:"\ud835\udd52",ap:"\u2248",apE:"\u2a70",apacir:"\u2a6f",ape:"\u224a",apid:"\u224b",apos:"'",approx:"\u2248",approxeq:"\u224a",arin:"\xe5",aring:"\xe5",ascr:"\ud835\udcb6",ast:"*",asymp:"\u2248",asympeq:"\u224d",atild:"\xe3",atilde:"\xe3",aum:"\xe4",auml:"\xe4",awconint:"\u2233",awint:"\u2a11",bNot:"\u2aed",backcong:"\u224c",backepsilon:"\u03f6",backprime:"\u2035",backsim:"\u223d",backsimeq:"\u22cd",barvee:"\u22bd",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23b5",bbrktbrk:"\u23b6",bcong:"\u224c",bcy:"\u0431",bdquo:"\u201e",becaus:"\u2235",because:"\u2235",bemptyv:"\u29b0",bepsi:"\u03f6",bernou:"\u212c",beta:"\u03b2",beth:"\u2136",between:"\u226c",bfr:"\ud835\udd1f",bigcap:"\u22c2",bigcirc:"\u25ef",bigcup:"\u22c3",bigodot:"\u2a00",bigoplus:"\u2a01",bigotimes:"\u2a02",bigsqcup:"\u2a06",bigstar:"\u2605",bigtriangledown:"\u25bd",bigtriangleup:"\u25b3",biguplus:"\u2a04",bigvee:"\u22c1",bigwedge:"\u22c0",bkarow:"\u290d",blacklozenge:"\u29eb",blacksquare:"\u25aa",blacktriangle:"\u25b4",blacktriangledown:"\u25be",blacktriangleleft:"\u25c2",blacktriangleright:"\u25b8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20e5",bnequiv:"\u2261\u20e5",bnot:"\u2310",bopf:"\ud835\udd53",bot:"\u22a5",bottom:"\u22a5",bowtie:"\u22c8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255d",boxUR:"\u255a",boxUl:"\u255c",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256c",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256b",boxVl:"\u2562",boxVr:"\u255f",boxbox:"\u29c9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250c",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252c",boxhu:"\u2534",boxminus:"\u229f",boxplus:"\u229e",boxtimes:"\u22a0",boxuL:"\u255b",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256a",boxvL:"\u2561",boxvR:"\u255e",boxvh:"\u253c",boxvl:"\u2524",boxvr:"\u251c",bprime:"\u2035",breve:"\u02d8",brvba:"\xa6",brvbar:"\xa6",bscr:"\ud835\udcb7",bsemi:"\u204f",bsim:"\u223d",bsime:"\u22cd",bsol:"\\",bsolb:"\u29c5",bsolhsub:"\u27c8",bull:"\u2022",bullet:"\u2022",bump:"\u224e",bumpE:"\u2aae",bumpe:"\u224f",bumpeq:"\u224f",cacute:"\u0107",cap:"\u2229",capand:"\u2a44",capbrcup:"\u2a49",capcap:"\u2a4b",capcup:"\u2a47",capdot:"\u2a40",caps:"\u2229\ufe00",caret:"\u2041",caron:"\u02c7",ccaps:"\u2a4d",ccaron:"\u010d",ccedi:"\xe7",ccedil:"\xe7",ccirc:"\u0109",ccups:"\u2a4c",ccupssm:"\u2a50",cdot:"\u010b",cedi:"\xb8",cedil:"\xb8",cemptyv:"\u29b2",cen:"\xa2",cent:"\xa2",centerdot:"\xb7",cfr:"\ud835\udd20",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03c7",cir:"\u25cb",cirE:"\u29c3",circ:"\u02c6",circeq:"\u2257",circlearrowleft:"\u21ba",circlearrowright:"\u21bb",circledR:"\xae",circledS:"\u24c8",circledast:"\u229b",circledcirc:"\u229a",circleddash:"\u229d",cire:"\u2257",cirfnint:"\u2a10",cirmid:"\u2aef",cirscir:"\u29c2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2a6d",conint:"\u222e",copf:"\ud835\udd54",coprod:"\u2210",cop:"\xa9",copy:"\xa9",copysr:"\u2117",crarr:"\u21b5",cross:"\u2717",cscr:"\ud835\udcb8",csub:"\u2acf",csube:"\u2ad1",csup:"\u2ad0",csupe:"\u2ad2",ctdot:"\u22ef",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22de",cuesc:"\u22df",cularr:"\u21b6",cularrp:"\u293d",cup:"\u222a",cupbrcap:"\u2a48",cupcap:"\u2a46",cupcup:"\u2a4a",cupdot:"\u228d",cupor:"\u2a45",cups:"\u222a\ufe00",curarr:"\u21b7",curarrm:"\u293c",curlyeqprec:"\u22de",curlyeqsucc:"\u22df",curlyvee:"\u22ce",curlywedge:"\u22cf",curre:"\xa4",curren:"\xa4",curvearrowleft:"\u21b6",curvearrowright:"\u21b7",cuvee:"\u22ce",cuwed:"\u22cf",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232d",dArr:"\u21d3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22a3",dbkarow:"\u290f",dblac:"\u02dd",dcaron:"\u010f",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21ca",ddotseq:"\u2a77",de:"\xb0",deg:"\xb0",delta:"\u03b4",demptyv:"\u29b1",dfisht:"\u297f",dfr:"\ud835\udd21",dharl:"\u21c3",dharr:"\u21c2",diam:"\u22c4",diamond:"\u22c4",diamondsuit:"\u2666",diams:"\u2666",die:"\xa8",digamma:"\u03dd",disin:"\u22f2",div:"\xf7",divid:"\xf7",divide:"\xf7",divideontimes:"\u22c7",divonx:"\u22c7",djcy:"\u0452",dlcorn:"\u231e",dlcrop:"\u230d",dollar:"$",dopf:"\ud835\udd55",dot:"\u02d9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22a1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21ca",downharpoonleft:"\u21c3",downharpoonright:"\u21c2",drbkarow:"\u2910",drcorn:"\u231f",drcrop:"\u230c",dscr:"\ud835\udcb9",dscy:"\u0455",dsol:"\u29f6",dstrok:"\u0111",dtdot:"\u22f1",dtri:"\u25bf",dtrif:"\u25be",duarr:"\u21f5",duhar:"\u296f",dwangle:"\u29a6",dzcy:"\u045f",dzigrarr:"\u27ff",eDDot:"\u2a77",eDot:"\u2251",eacut:"\xe9",eacute:"\xe9",easter:"\u2a6e",ecaron:"\u011b",ecir:"\xea",ecirc:"\xea",ecolon:"\u2255",ecy:"\u044d",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\ud835\udd22",eg:"\u2a9a",egrav:"\xe8",egrave:"\xe8",egs:"\u2a96",egsdot:"\u2a98",el:"\u2a99",elinters:"\u23e7",ell:"\u2113",els:"\u2a95",elsdot:"\u2a97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014b",ensp:"\u2002",eogon:"\u0119",eopf:"\ud835\udd56",epar:"\u22d5",eparsl:"\u29e3",eplus:"\u2a71",epsi:"\u03b5",epsilon:"\u03b5",epsiv:"\u03f5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2a96",eqslantless:"\u2a95",equals:"=",equest:"\u225f",equiv:"\u2261",equivDD:"\u2a78",eqvparsl:"\u29e5",erDot:"\u2253",erarr:"\u2971",escr:"\u212f",esdot:"\u2250",esim:"\u2242",eta:"\u03b7",et:"\xf0",eth:"\xf0",eum:"\xeb",euml:"\xeb",euro:"\u20ac",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\ufb03",fflig:"\ufb00",ffllig:"\ufb04",ffr:"\ud835\udd23",filig:"\ufb01",fjlig:"fj",flat:"\u266d",fllig:"\ufb02",fltns:"\u25b1",fnof:"\u0192",fopf:"\ud835\udd57",forall:"\u2200",fork:"\u22d4",forkv:"\u2ad9",fpartint:"\u2a0d",frac1:"\xbc",frac12:"\xbd",frac13:"\u2153",frac14:"\xbc",frac15:"\u2155",frac16:"\u2159",frac18:"\u215b",frac23:"\u2154",frac25:"\u2156",frac3:"\xbe",frac34:"\xbe",frac35:"\u2157",frac38:"\u215c",frac45:"\u2158",frac56:"\u215a",frac58:"\u215d",frac78:"\u215e",frasl:"\u2044",frown:"\u2322",fscr:"\ud835\udcbb",gE:"\u2267",gEl:"\u2a8c",gacute:"\u01f5",gamma:"\u03b3",gammad:"\u03dd",gap:"\u2a86",gbreve:"\u011f",gcirc:"\u011d",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22db",geq:"\u2265",geqq:"\u2267",geqslant:"\u2a7e",ges:"\u2a7e",gescc:"\u2aa9",gesdot:"\u2a80",gesdoto:"\u2a82",gesdotol:"\u2a84",gesl:"\u22db\ufe00",gesles:"\u2a94",gfr:"\ud835\udd24",gg:"\u226b",ggg:"\u22d9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2a92",gla:"\u2aa5",glj:"\u2aa4",gnE:"\u2269",gnap:"\u2a8a",gnapprox:"\u2a8a",gne:"\u2a88",gneq:"\u2a88",gneqq:"\u2269",gnsim:"\u22e7",gopf:"\ud835\udd58",grave:"`",gscr:"\u210a",gsim:"\u2273",gsime:"\u2a8e",gsiml:"\u2a90",g:">",gt:">",gtcc:"\u2aa7",gtcir:"\u2a7a",gtdot:"\u22d7",gtlPar:"\u2995",gtquest:"\u2a7c",gtrapprox:"\u2a86",gtrarr:"\u2978",gtrdot:"\u22d7",gtreqless:"\u22db",gtreqqless:"\u2a8c",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\ufe00",gvnE:"\u2269\ufe00",hArr:"\u21d4",hairsp:"\u200a",half:"\xbd",hamilt:"\u210b",hardcy:"\u044a",harr:"\u2194",harrcir:"\u2948",harrw:"\u21ad",hbar:"\u210f",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22b9",hfr:"\ud835\udd25",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21ff",homtht:"\u223b",hookleftarrow:"\u21a9",hookrightarrow:"\u21aa",hopf:"\ud835\udd59",horbar:"\u2015",hscr:"\ud835\udcbd",hslash:"\u210f",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xed",iacute:"\xed",ic:"\u2063",icir:"\xee",icirc:"\xee",icy:"\u0438",iecy:"\u0435",iexc:"\xa1",iexcl:"\xa1",iff:"\u21d4",ifr:"\ud835\udd26",igrav:"\xec",igrave:"\xec",ii:"\u2148",iiiint:"\u2a0c",iiint:"\u222d",iinfin:"\u29dc",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012b",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22b7",imped:"\u01b5",in:"\u2208",incare:"\u2105",infin:"\u221e",infintie:"\u29dd",inodot:"\u0131",int:"\u222b",intcal:"\u22ba",integers:"\u2124",intercal:"\u22ba",intlarhk:"\u2a17",intprod:"\u2a3c",iocy:"\u0451",iogon:"\u012f",iopf:"\ud835\udd5a",iota:"\u03b9",iprod:"\u2a3c",iques:"\xbf",iquest:"\xbf",iscr:"\ud835\udcbe",isin:"\u2208",isinE:"\u22f9",isindot:"\u22f5",isins:"\u22f4",isinsv:"\u22f3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xef",iuml:"\xef",jcirc:"\u0135",jcy:"\u0439",jfr:"\ud835\udd27",jmath:"\u0237",jopf:"\ud835\udd5b",jscr:"\ud835\udcbf",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03ba",kappav:"\u03f0",kcedil:"\u0137",kcy:"\u043a",kfr:"\ud835\udd28",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045c",kopf:"\ud835\udd5c",kscr:"\ud835\udcc0",lAarr:"\u21da",lArr:"\u21d0",lAtail:"\u291b",lBarr:"\u290e",lE:"\u2266",lEg:"\u2a8b",lHar:"\u2962",lacute:"\u013a",laemptyv:"\u29b4",lagran:"\u2112",lambda:"\u03bb",lang:"\u27e8",langd:"\u2991",langle:"\u27e8",lap:"\u2a85",laqu:"\xab",laquo:"\xab",larr:"\u2190",larrb:"\u21e4",larrbfs:"\u291f",larrfs:"\u291d",larrhk:"\u21a9",larrlp:"\u21ab",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21a2",lat:"\u2aab",latail:"\u2919",late:"\u2aad",lates:"\u2aad\ufe00",lbarr:"\u290c",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298b",lbrksld:"\u298f",lbrkslu:"\u298d",lcaron:"\u013e",lcedil:"\u013c",lceil:"\u2308",lcub:"{",lcy:"\u043b",ldca:"\u2936",ldquo:"\u201c",ldquor:"\u201e",ldrdhar:"\u2967",ldrushar:"\u294b",ldsh:"\u21b2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21a2",leftharpoondown:"\u21bd",leftharpoonup:"\u21bc",leftleftarrows:"\u21c7",leftrightarrow:"\u2194",leftrightarrows:"\u21c6",leftrightharpoons:"\u21cb",leftrightsquigarrow:"\u21ad",leftthreetimes:"\u22cb",leg:"\u22da",leq:"\u2264",leqq:"\u2266",leqslant:"\u2a7d",les:"\u2a7d",lescc:"\u2aa8",lesdot:"\u2a7f",lesdoto:"\u2a81",lesdotor:"\u2a83",lesg:"\u22da\ufe00",lesges:"\u2a93",lessapprox:"\u2a85",lessdot:"\u22d6",lesseqgtr:"\u22da",lesseqqgtr:"\u2a8b",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297c",lfloor:"\u230a",lfr:"\ud835\udd29",lg:"\u2276",lgE:"\u2a91",lhard:"\u21bd",lharu:"\u21bc",lharul:"\u296a",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226a",llarr:"\u21c7",llcorner:"\u231e",llhard:"\u296b",lltri:"\u25fa",lmidot:"\u0140",lmoust:"\u23b0",lmoustache:"\u23b0",lnE:"\u2268",lnap:"\u2a89",lnapprox:"\u2a89",lne:"\u2a87",lneq:"\u2a87",lneqq:"\u2268",lnsim:"\u22e6",loang:"\u27ec",loarr:"\u21fd",lobrk:"\u27e6",longleftarrow:"\u27f5",longleftrightarrow:"\u27f7",longmapsto:"\u27fc",longrightarrow:"\u27f6",looparrowleft:"\u21ab",looparrowright:"\u21ac",lopar:"\u2985",lopf:"\ud835\udd5d",loplus:"\u2a2d",lotimes:"\u2a34",lowast:"\u2217",lowbar:"_",loz:"\u25ca",lozenge:"\u25ca",lozf:"\u29eb",lpar:"(",lparlt:"\u2993",lrarr:"\u21c6",lrcorner:"\u231f",lrhar:"\u21cb",lrhard:"\u296d",lrm:"\u200e",lrtri:"\u22bf",lsaquo:"\u2039",lscr:"\ud835\udcc1",lsh:"\u21b0",lsim:"\u2272",lsime:"\u2a8d",lsimg:"\u2a8f",lsqb:"[",lsquo:"\u2018",lsquor:"\u201a",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2aa6",ltcir:"\u2a79",ltdot:"\u22d6",lthree:"\u22cb",ltimes:"\u22c9",ltlarr:"\u2976",ltquest:"\u2a7b",ltrPar:"\u2996",ltri:"\u25c3",ltrie:"\u22b4",ltrif:"\u25c2",lurdshar:"\u294a",luruhar:"\u2966",lvertneqq:"\u2268\ufe00",lvnE:"\u2268\ufe00",mDDot:"\u223a",mac:"\xaf",macr:"\xaf",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21a6",mapsto:"\u21a6",mapstodown:"\u21a7",mapstoleft:"\u21a4",mapstoup:"\u21a5",marker:"\u25ae",mcomma:"\u2a29",mcy:"\u043c",mdash:"\u2014",measuredangle:"\u2221",mfr:"\ud835\udd2a",mho:"\u2127",micr:"\xb5",micro:"\xb5",mid:"\u2223",midast:"*",midcir:"\u2af0",middo:"\xb7",middot:"\xb7",minus:"\u2212",minusb:"\u229f",minusd:"\u2238",minusdu:"\u2a2a",mlcp:"\u2adb",mldr:"\u2026",mnplus:"\u2213",models:"\u22a7",mopf:"\ud835\udd5e",mp:"\u2213",mscr:"\ud835\udcc2",mstpos:"\u223e",mu:"\u03bc",multimap:"\u22b8",mumap:"\u22b8",nGg:"\u22d9\u0338",nGt:"\u226b\u20d2",nGtv:"\u226b\u0338",nLeftarrow:"\u21cd",nLeftrightarrow:"\u21ce",nLl:"\u22d8\u0338",nLt:"\u226a\u20d2",nLtv:"\u226a\u0338",nRightarrow:"\u21cf",nVDash:"\u22af",nVdash:"\u22ae",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20d2",nap:"\u2249",napE:"\u2a70\u0338",napid:"\u224b\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266e",natural:"\u266e",naturals:"\u2115",nbs:"\xa0",nbsp:"\xa0",nbump:"\u224e\u0338",nbumpe:"\u224f\u0338",ncap:"\u2a43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2a6d\u0338",ncup:"\u2a42",ncy:"\u043d",ndash:"\u2013",ne:"\u2260",neArr:"\u21d7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\ud835\udd2b",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2a7e\u0338",nges:"\u2a7e\u0338",ngsim:"\u2275",ngt:"\u226f",ngtr:"\u226f",nhArr:"\u21ce",nharr:"\u21ae",nhpar:"\u2af2",ni:"\u220b",nis:"\u22fc",nisd:"\u22fa",niv:"\u220b",njcy:"\u045a",nlArr:"\u21cd",nlE:"\u2266\u0338",nlarr:"\u219a",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219a",nleftrightarrow:"\u21ae",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2a7d\u0338",nles:"\u2a7d\u0338",nless:"\u226e",nlsim:"\u2274",nlt:"\u226e",nltri:"\u22ea",nltrie:"\u22ec",nmid:"\u2224",nopf:"\ud835\udd5f",no:"\xac",not:"\xac",notin:"\u2209",notinE:"\u22f9\u0338",notindot:"\u22f5\u0338",notinva:"\u2209",notinvb:"\u22f7",notinvc:"\u22f6",notni:"\u220c",notniva:"\u220c",notnivb:"\u22fe",notnivc:"\u22fd",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2afd\u20e5",npart:"\u2202\u0338",npolint:"\u2a14",npr:"\u2280",nprcue:"\u22e0",npre:"\u2aaf\u0338",nprec:"\u2280",npreceq:"\u2aaf\u0338",nrArr:"\u21cf",nrarr:"\u219b",nrarrc:"\u2933\u0338",nrarrw:"\u219d\u0338",nrightarrow:"\u219b",nrtri:"\u22eb",nrtrie:"\u22ed",nsc:"\u2281",nsccue:"\u22e1",nsce:"\u2ab0\u0338",nscr:"\ud835\udcc3",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22e2",nsqsupe:"\u22e3",nsub:"\u2284",nsubE:"\u2ac5\u0338",nsube:"\u2288",nsubset:"\u2282\u20d2",nsubseteq:"\u2288",nsubseteqq:"\u2ac5\u0338",nsucc:"\u2281",nsucceq:"\u2ab0\u0338",nsup:"\u2285",nsupE:"\u2ac6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20d2",nsupseteq:"\u2289",nsupseteqq:"\u2ac6\u0338",ntgl:"\u2279",ntild:"\xf1",ntilde:"\xf1",ntlg:"\u2278",ntriangleleft:"\u22ea",ntrianglelefteq:"\u22ec",ntriangleright:"\u22eb",ntrianglerighteq:"\u22ed",nu:"\u03bd",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22ad",nvHarr:"\u2904",nvap:"\u224d\u20d2",nvdash:"\u22ac",nvge:"\u2265\u20d2",nvgt:">\u20d2",nvinfin:"\u29de",nvlArr:"\u2902",nvle:"\u2264\u20d2",nvlt:"<\u20d2",nvltrie:"\u22b4\u20d2",nvrArr:"\u2903",nvrtrie:"\u22b5\u20d2",nvsim:"\u223c\u20d2",nwArr:"\u21d6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24c8",oacut:"\xf3",oacute:"\xf3",oast:"\u229b",ocir:"\xf4",ocirc:"\xf4",ocy:"\u043e",odash:"\u229d",odblac:"\u0151",odiv:"\u2a38",odot:"\u2299",odsold:"\u29bc",oelig:"\u0153",ofcir:"\u29bf",ofr:"\ud835\udd2c",ogon:"\u02db",ograv:"\xf2",ograve:"\xf2",ogt:"\u29c1",ohbar:"\u29b5",ohm:"\u03a9",oint:"\u222e",olarr:"\u21ba",olcir:"\u29be",olcross:"\u29bb",oline:"\u203e",olt:"\u29c0",omacr:"\u014d",omega:"\u03c9",omicron:"\u03bf",omid:"\u29b6",ominus:"\u2296",oopf:"\ud835\udd60",opar:"\u29b7",operp:"\u29b9",oplus:"\u2295",or:"\u2228",orarr:"\u21bb",ord:"\xba",order:"\u2134",orderof:"\u2134",ordf:"\xaa",ordm:"\xba",origof:"\u22b6",oror:"\u2a56",orslope:"\u2a57",orv:"\u2a5b",oscr:"\u2134",oslas:"\xf8",oslash:"\xf8",osol:"\u2298",otild:"\xf5",otilde:"\xf5",otimes:"\u2297",otimesas:"\u2a36",oum:"\xf6",ouml:"\xf6",ovbar:"\u233d",par:"\xb6",para:"\xb6",parallel:"\u2225",parsim:"\u2af3",parsl:"\u2afd",part:"\u2202",pcy:"\u043f",percnt:"%",period:".",permil:"\u2030",perp:"\u22a5",pertenk:"\u2031",pfr:"\ud835\udd2d",phi:"\u03c6",phiv:"\u03d5",phmmat:"\u2133",phone:"\u260e",pi:"\u03c0",pitchfork:"\u22d4",piv:"\u03d6",planck:"\u210f",planckh:"\u210e",plankv:"\u210f",plus:"+",plusacir:"\u2a23",plusb:"\u229e",pluscir:"\u2a22",plusdo:"\u2214",plusdu:"\u2a25",pluse:"\u2a72",plusm:"\xb1",plusmn:"\xb1",plussim:"\u2a26",plustwo:"\u2a27",pm:"\xb1",pointint:"\u2a15",popf:"\ud835\udd61",poun:"\xa3",pound:"\xa3",pr:"\u227a",prE:"\u2ab3",prap:"\u2ab7",prcue:"\u227c",pre:"\u2aaf",prec:"\u227a",precapprox:"\u2ab7",preccurlyeq:"\u227c",preceq:"\u2aaf",precnapprox:"\u2ab9",precneqq:"\u2ab5",precnsim:"\u22e8",precsim:"\u227e",prime:"\u2032",primes:"\u2119",prnE:"\u2ab5",prnap:"\u2ab9",prnsim:"\u22e8",prod:"\u220f",profalar:"\u232e",profline:"\u2312",profsurf:"\u2313",prop:"\u221d",propto:"\u221d",prsim:"\u227e",prurel:"\u22b0",pscr:"\ud835\udcc5",psi:"\u03c8",puncsp:"\u2008",qfr:"\ud835\udd2e",qint:"\u2a0c",qopf:"\ud835\udd62",qprime:"\u2057",qscr:"\ud835\udcc6",quaternions:"\u210d",quatint:"\u2a16",quest:"?",questeq:"\u225f",quo:'"',quot:'"',rAarr:"\u21db",rArr:"\u21d2",rAtail:"\u291c",rBarr:"\u290f",rHar:"\u2964",race:"\u223d\u0331",racute:"\u0155",radic:"\u221a",raemptyv:"\u29b3",rang:"\u27e9",rangd:"\u2992",range:"\u29a5",rangle:"\u27e9",raqu:"\xbb",raquo:"\xbb",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21e5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291e",rarrhk:"\u21aa",rarrlp:"\u21ac",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21a3",rarrw:"\u219d",ratail:"\u291a",ratio:"\u2236",rationals:"\u211a",rbarr:"\u290d",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298c",rbrksld:"\u298e",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201d",rdquor:"\u201d",rdsh:"\u21b3",real:"\u211c",realine:"\u211b",realpart:"\u211c",reals:"\u211d",rect:"\u25ad",re:"\xae",reg:"\xae",rfisht:"\u297d",rfloor:"\u230b",rfr:"\ud835\udd2f",rhard:"\u21c1",rharu:"\u21c0",rharul:"\u296c",rho:"\u03c1",rhov:"\u03f1",rightarrow:"\u2192",rightarrowtail:"\u21a3",rightharpoondown:"\u21c1",rightharpoonup:"\u21c0",rightleftarrows:"\u21c4",rightleftharpoons:"\u21cc",rightrightarrows:"\u21c9",rightsquigarrow:"\u219d",rightthreetimes:"\u22cc",ring:"\u02da",risingdotseq:"\u2253",rlarr:"\u21c4",rlhar:"\u21cc",rlm:"\u200f",rmoust:"\u23b1",rmoustache:"\u23b1",rnmid:"\u2aee",roang:"\u27ed",roarr:"\u21fe",robrk:"\u27e7",ropar:"\u2986",ropf:"\ud835\udd63",roplus:"\u2a2e",rotimes:"\u2a35",rpar:")",rpargt:"\u2994",rppolint:"\u2a12",rrarr:"\u21c9",rsaquo:"\u203a",rscr:"\ud835\udcc7",rsh:"\u21b1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22cc",rtimes:"\u22ca",rtri:"\u25b9",rtrie:"\u22b5",rtrif:"\u25b8",rtriltri:"\u29ce",ruluhar:"\u2968",rx:"\u211e",sacute:"\u015b",sbquo:"\u201a",sc:"\u227b",scE:"\u2ab4",scap:"\u2ab8",scaron:"\u0161",sccue:"\u227d",sce:"\u2ab0",scedil:"\u015f",scirc:"\u015d",scnE:"\u2ab6",scnap:"\u2aba",scnsim:"\u22e9",scpolint:"\u2a13",scsim:"\u227f",scy:"\u0441",sdot:"\u22c5",sdotb:"\u22a1",sdote:"\u2a66",seArr:"\u21d8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xa7",sect:"\xa7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\ud835\udd30",sfrown:"\u2322",sharp:"\u266f",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xad",shy:"\xad",sigma:"\u03c3",sigmaf:"\u03c2",sigmav:"\u03c2",sim:"\u223c",simdot:"\u2a6a",sime:"\u2243",simeq:"\u2243",simg:"\u2a9e",simgE:"\u2aa0",siml:"\u2a9d",simlE:"\u2a9f",simne:"\u2246",simplus:"\u2a24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2a33",smeparsl:"\u29e4",smid:"\u2223",smile:"\u2323",smt:"\u2aaa",smte:"\u2aac",smtes:"\u2aac\ufe00",softcy:"\u044c",sol:"/",solb:"\u29c4",solbar:"\u233f",sopf:"\ud835\udd64",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\ufe00",sqcup:"\u2294",sqcups:"\u2294\ufe00",sqsub:"\u228f",sqsube:"\u2291",sqsubset:"\u228f",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25a1",square:"\u25a1",squarf:"\u25aa",squf:"\u25aa",srarr:"\u2192",sscr:"\ud835\udcc8",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22c6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03f5",straightphi:"\u03d5",strns:"\xaf",sub:"\u2282",subE:"\u2ac5",subdot:"\u2abd",sube:"\u2286",subedot:"\u2ac3",submult:"\u2ac1",subnE:"\u2acb",subne:"\u228a",subplus:"\u2abf",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2ac5",subsetneq:"\u228a",subsetneqq:"\u2acb",subsim:"\u2ac7",subsub:"\u2ad5",subsup:"\u2ad3",succ:"\u227b",succapprox:"\u2ab8",succcurlyeq:"\u227d",succeq:"\u2ab0",succnapprox:"\u2aba",succneqq:"\u2ab6",succnsim:"\u22e9",succsim:"\u227f",sum:"\u2211",sung:"\u266a",sup:"\u2283",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",supE:"\u2ac6",supdot:"\u2abe",supdsub:"\u2ad8",supe:"\u2287",supedot:"\u2ac4",suphsol:"\u27c9",suphsub:"\u2ad7",suplarr:"\u297b",supmult:"\u2ac2",supnE:"\u2acc",supne:"\u228b",supplus:"\u2ac0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2ac6",supsetneq:"\u228b",supsetneqq:"\u2acc",supsim:"\u2ac8",supsub:"\u2ad4",supsup:"\u2ad6",swArr:"\u21d9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292a",szli:"\xdf",szlig:"\xdf",target:"\u2316",tau:"\u03c4",tbrk:"\u23b4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20db",telrec:"\u2315",tfr:"\ud835\udd31",there4:"\u2234",therefore:"\u2234",theta:"\u03b8",thetasym:"\u03d1",thetav:"\u03d1",thickapprox:"\u2248",thicksim:"\u223c",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223c",thor:"\xfe",thorn:"\xfe",tilde:"\u02dc",time:"\xd7",times:"\xd7",timesb:"\u22a0",timesbar:"\u2a31",timesd:"\u2a30",tint:"\u222d",toea:"\u2928",top:"\u22a4",topbot:"\u2336",topcir:"\u2af1",topf:"\ud835\udd65",topfork:"\u2ada",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25b5",triangledown:"\u25bf",triangleleft:"\u25c3",trianglelefteq:"\u22b4",triangleq:"\u225c",triangleright:"\u25b9",trianglerighteq:"\u22b5",tridot:"\u25ec",trie:"\u225c",triminus:"\u2a3a",triplus:"\u2a39",trisb:"\u29cd",tritime:"\u2a3b",trpezium:"\u23e2",tscr:"\ud835\udcc9",tscy:"\u0446",tshcy:"\u045b",tstrok:"\u0167",twixt:"\u226c",twoheadleftarrow:"\u219e",twoheadrightarrow:"\u21a0",uArr:"\u21d1",uHar:"\u2963",uacut:"\xfa",uacute:"\xfa",uarr:"\u2191",ubrcy:"\u045e",ubreve:"\u016d",ucir:"\xfb",ucirc:"\xfb",ucy:"\u0443",udarr:"\u21c5",udblac:"\u0171",udhar:"\u296e",ufisht:"\u297e",ufr:"\ud835\udd32",ugrav:"\xf9",ugrave:"\xf9",uharl:"\u21bf",uharr:"\u21be",uhblk:"\u2580",ulcorn:"\u231c",ulcorner:"\u231c",ulcrop:"\u230f",ultri:"\u25f8",umacr:"\u016b",um:"\xa8",uml:"\xa8",uogon:"\u0173",uopf:"\ud835\udd66",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21bf",upharpoonright:"\u21be",uplus:"\u228e",upsi:"\u03c5",upsih:"\u03d2",upsilon:"\u03c5",upuparrows:"\u21c8",urcorn:"\u231d",urcorner:"\u231d",urcrop:"\u230e",uring:"\u016f",urtri:"\u25f9",uscr:"\ud835\udcca",utdot:"\u22f0",utilde:"\u0169",utri:"\u25b5",utrif:"\u25b4",uuarr:"\u21c8",uum:"\xfc",uuml:"\xfc",uwangle:"\u29a7",vArr:"\u21d5",vBar:"\u2ae8",vBarv:"\u2ae9",vDash:"\u22a8",vangrt:"\u299c",varepsilon:"\u03f5",varkappa:"\u03f0",varnothing:"\u2205",varphi:"\u03d5",varpi:"\u03d6",varpropto:"\u221d",varr:"\u2195",varrho:"\u03f1",varsigma:"\u03c2",varsubsetneq:"\u228a\ufe00",varsubsetneqq:"\u2acb\ufe00",varsupsetneq:"\u228b\ufe00",varsupsetneqq:"\u2acc\ufe00",vartheta:"\u03d1",vartriangleleft:"\u22b2",vartriangleright:"\u22b3",vcy:"\u0432",vdash:"\u22a2",vee:"\u2228",veebar:"\u22bb",veeeq:"\u225a",vellip:"\u22ee",verbar:"|",vert:"|",vfr:"\ud835\udd33",vltri:"\u22b2",vnsub:"\u2282\u20d2",vnsup:"\u2283\u20d2",vopf:"\ud835\udd67",vprop:"\u221d",vrtri:"\u22b3",vscr:"\ud835\udccb",vsubnE:"\u2acb\ufe00",vsubne:"\u228a\ufe00",vsupnE:"\u2acc\ufe00",vsupne:"\u228b\ufe00",vzigzag:"\u299a",wcirc:"\u0175",wedbar:"\u2a5f",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\ud835\udd34",wopf:"\ud835\udd68",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\ud835\udccc",xcap:"\u22c2",xcirc:"\u25ef",xcup:"\u22c3",xdtri:"\u25bd",xfr:"\ud835\udd35",xhArr:"\u27fa",xharr:"\u27f7",xi:"\u03be",xlArr:"\u27f8",xlarr:"\u27f5",xmap:"\u27fc",xnis:"\u22fb",xodot:"\u2a00",xopf:"\ud835\udd69",xoplus:"\u2a01",xotime:"\u2a02",xrArr:"\u27f9",xrarr:"\u27f6",xscr:"\ud835\udccd",xsqcup:"\u2a06",xuplus:"\u2a04",xutri:"\u25b3",xvee:"\u22c1",xwedge:"\u22c0",yacut:"\xfd",yacute:"\xfd",yacy:"\u044f",ycirc:"\u0177",ycy:"\u044b",ye:"\xa5",yen:"\xa5",yfr:"\ud835\udd36",yicy:"\u0457",yopf:"\ud835\udd6a",yscr:"\ud835\udcce",yucy:"\u044e",yum:"\xff",yuml:"\xff",zacute:"\u017a",zcaron:"\u017e",zcy:"\u0437",zdot:"\u017c",zeetrf:"\u2128",zeta:"\u03b6",zfr:"\ud835\udd37",zhcy:"\u0436",zigrarr:"\u21dd",zopf:"\ud835\udd6b",zscr:"\ud835\udccf",zwj:"\u200d",zwnj:"\u200c"},v=function(e){return!!F.call(b,e)&&b[e]},F={}.hasOwnProperty;var A=function(e,t){var r,n,u={};t||(t={});for(n in x)r=t[n],u[n]=null==r?x[n]:r;(u.position.indent||u.position.start)&&(u.indent=u.position.indent||[],u.position=u.position.start);return function(e,t){var r,n,u,i,o,a,c,s,l,f,D,p,g,m,E,b,F,A,x,q=t.additional,P=t.nonTerminated,j=t.text,G=t.reference,z=t.warning,U=t.textContext,M=t.referenceContext,V=t.warningContext,_=t.position,$=t.indent||[],H=e.length,X=0,W=-1,Y=_.column||1,Z=_.line||1,J="",K=[];"string"==typeof q&&(q=q.charCodeAt(0));b=Q(),s=z?ee:k,X--,H++;for(;++X65535&&(f+=w((a-=65536)>>>10|55296),a=56320|1023&a),a=f+w(a))):m!==O&&s(4,A)),a?(te(),b=Q(),X=x-1,Y+=x-g+1,K.push(a),(F=Q()).offset++,G&&G.call(M,a,{start:b,end:F},e.slice(g-1,x)),b=F):(i=e.slice(g-1,x),J+=i,Y+=i.length,X=x-1)}else 10===o&&(Z++,W++,Y=0),o==o?(J+=w(o),Y++):te();return K.join("");function Q(){return{line:Z,column:Y,offset:X+(_.offset||0)}}function ee(e,t){var r=Q();r.column+=t,r.offset+=t,z.call(V,S[e],r,e)}function te(){J&&(K.push(J),j&&j.call(U,J,{start:b,end:Q()}),J="")}}(e,u)},y={}.hasOwnProperty,w=String.fromCharCode,k=Function.prototype,x={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},O="named",L="hexadecimal",B="decimal",T={hexadecimal:16,decimal:10},N={};N.named=C,N[B]=g,N[L]=m;var S={};function I(e){return e>=55296&&e<=57343||e>1114111}function R(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535==(65535&e)||65534==(65535&e)}S[1]="Named character references must be terminated by a semicolon",S[2]="Numeric character references must be terminated by a semicolon",S[3]="Named character references cannot be empty",S[4]="Numeric character references cannot be empty",S[5]="Named character references must be known",S[6]="Numeric character references cannot be disallowed",S[7]="Numeric character references cannot be outside the permissible Unicode range";var q=function(t){return n.raw=u,n;function r(e){for(var r=t.offset,n=e.line,u=[];++n&&n in r;)u.push((r[n]||0)+1);return{start:e,indent:u}}function n(e,n,u){A(e,{position:r(n),warning:i,text:u,reference:u,textContext:t,referenceContext:t})}function u(t,n,u){return A(t,e(u,{position:r(n),warning:i}))}function i(e,r,n){3!==n&&t.file.message(e,r)}};var P=function(e){return function(t,r){var n,u,i,o,a,c=this,s=c.offset,l=[],f=c[e+"Methods"],D=c[e+"Tokenizers"],p=r.line,d=r.column;if(!t)return l;F.now=m,F.file=c.file,h("");for(;t;){for(n=-1,u=f.length,o=!1;++n"],V=M.concat(["~","|"]),_=V.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);function $(e){var t=e||{};return t.commonmark?_:t.gfm?V:M}$.default=M,$.gfm=V,$.commonmark=_;var H={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},X=function(t){var r,n,u=this,i=u.options;if(null==t)t={};else{if("object"!=typeof t)throw new Error("Invalid value `"+t+"` for setting `options`");t=e(t)}for(r in H){if(null==(n=t[r])&&(n=i[r]),"blocks"!==r&&"boolean"!=typeof n||"blocks"===r&&"object"!=typeof n)throw new Error("Invalid value `"+n+"` for setting `options."+r+"`");t[r]=n}return u.options=t,u.escape=U(t),u};var W=Y;function Y(e){if("string"==typeof e)return function(e){return t;function t(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return K;if("object"==typeof e)return("length"in e?J:Z)(e);if("function"==typeof e)return e;throw new Error("Expected function, string, or object as test")}function Z(e){return function(t){var r;for(r in e)if(t[r]!==e[r])return!1;return!0}}function J(e){var t=function(e){for(var t=[],r=e.length,n=-1;++nu&&a - * - * Copyright (c) 2014-2015, Jon Schlinkert. - * Licensed under the MIT License. - */;var de,he="",ge=function(e,t){if("string"!=typeof e)throw new TypeError("expected a string");if(1===t)return e;if(2===t)return e+e;var r=e.length*t;if(de!==e||void 0===de)de=e,he="";else if(he.length>=r)return he.substr(0,r);for(;r>he.length&&t>1;)1&t&&(he+=e),t>>=1,e+=e;return he=(he+=e).substr(0,r)};var me=function(e){var t=String(e),r=t.length;for(;"\n"===t.charAt(--r););return t.slice(0,r+1)};var Ee=function(e,t,r){var n,u,i,o=-1,a=t.length,c="",s="",l="",f="";for(;++o=4)){for(s="";C"!==t.charAt(F))return;if(r)return!0;F=0;for(;F"===t.charAt(F)?(F++,l=!0," "===t.charAt(F)&&F++):F=s,a=t.slice(F,o),!l&&!ve(a)){F=s;break}if(!l&&(i=t.slice(F),Fe(h,d,D,[e,i,!0])))break;c=s===F?a:t.slice(s,o),v.push(F-s),C.push(c),b.push(a),F=o+1}F=-1,E=v.length,n=e(C.join("\n"));for(;++F6)return;if(!i||!o&&"#"===t.charAt(c+1))return;a=t.length+1,u="";for(;++c=3&&(!n||"\n"===n)?(s+=o,!!r||e(s)({type:"thematicBreak"})):void 0;o+=n}};var ke=function(e){var t,r=0,n=0,u=e.charAt(r),i={},o=0;for(;"\t"===u||" "===u;){for(n+=t="\t"===u?4:1,t>1&&(n=Math.floor(n/t)*t);o0&&n.indent=b.indent&&(k=!0),o=t.charAt(N),f=null,!k){if("*"===o||"+"===o||"-"===o)f=o,N++,n++;else{for(u="";N=b.indent||n>4):k=!0,l=!1,N=s;if(p=t.slice(s,c),D=s===N?p:t.slice(N,c),("*"===f||"_"===f||"-"===f)&&B.thematicBreak.call(x,e,p,!0))break;if(d=h,h=!l&&!ve(D).length,k&&b)b.value=b.value.concat(C,p),E=E.concat(C,p),C=[];else if(l)0!==C.length&&(R=!0,b.value.push(""),b.trail=C.concat()),b={value:[p],indent:n,trail:[]},m.push(b),E=E.concat(C,p),C=[];else if(h){if(d&&!O)break;C.push(p)}else{if(d)break;if(Fe(T,B,x,[e,p,!0]))break;b.value=b.value.concat(C,p),E=E.concat(C,p),C=[]}N=c+1}A=e(E.join("\n")).reset({type:"list",ordered:i,start:I,spread:R,children:[]}),v=x.enterList(),F=x.enterBlock(),N=-1,S=m.length;for(;++N=3){l--;break}f+=i}n="",u="";for(;++l`\\u0000-\\u0020]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",Ge="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",ze={openCloseTag:new RegExp("^(?:"+je+"|"+Ge+")"),tag:new RegExp("^(?:"+je+"|"+Ge+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)")},Ue=function(e,t,r){var n,u,i,o,a,c,s,l=this.options.blocks.join("|"),f=new RegExp("^|$))","i"),D=t.length,p=0,d=[[Me,Ve,!0],[_e,$e,!0],[He,Xe,!0],[We,Ye,!0],[Ze,Je,!0],[f,Ke,!0],[Qe,Ke,!1]];for(;p|$))/i,Ve=/<\/(script|pre|style)>/i,_e=/^/,He=/^<\?/,Xe=/\?>/,We=/^/,Ze=/^/,Ke=/^$/,Qe=new RegExp(ze.openCloseTag.source+"\\s*$");var et=function(e){return rt.test("number"==typeof e?tt(e):e.charAt(0))},tt=String.fromCharCode,rt=/\s/;var nt=function(e){return String(e).replace(/\s+/g," ")};var ut=function(e){return nt(e).toLowerCase()};var it=function(e,t,r){var n,u,i,o,a,c,s,l,f=this,D=f.options.commonmark,p=0,d=t.length,h="";for(;p"!==e&&"["!==e&&"]"!==e}function at(e){return"["!==e&&"]"!==e&&!et(e)}ot.delimiter=">";var ct=function(e,t,r){var n,u,i,o,a,c,s,l,f,D,p,d,h,g,m,E,C,b,v,F,A,y;if(!this.options.gfm)return;n=0,E=0,c=t.length+1,s=[];for(;nF){if(E<2)return;break}s.push(t.slice(n,F)),E++,n=F+1}o=s.join("\n"),u=s.splice(1,1)[0]||[],n=0,c=u.length,E--,i=!1,p=[];for(;n1&&(f?(o+=l.slice(0,-1),l=l.charAt(l.length-1)):(o+=l,l="")),g=e.now(),e(o)({type:"tableCell",children:this.tokenizeInline(d,g)},a)),e(l+f),l="",d=""):(l&&(d+=l,l=""),d+=f,"\\"===f&&n!==c-2&&(d+=C.charAt(n+1),n++)),h=!1,n++):(d?l+=f:e(f),n++);m||e("\n"+u)}return v};var st=function(e,t,r){var n,u,i,o,a,c=this,s=c.options.commonmark,l=c.blockTokenizers,f=c.interruptParagraph,D=t.indexOf("\n"),p=t.length;for(;D=4&&"\n"!==i){D=t.indexOf("\n",D+1);continue}}if(u=t.slice(D+1),Fe(f,l,c,[e,u,!0]))break;if(n=D,-1!==(D=t.indexOf("\n",D+1))&&""===ve(t.slice(n,D))){D=n;break}}if(u=t.slice(0,D),r)return!0;return a=e.now(),u=me(u),e(u)({type:"paragraph",children:c.tokenizeInline(u,a)})};var lt=function(e,t){return e.indexOf("\\",t)};var ft=Dt;Dt.locator=lt;function Dt(e,t,r){var n,u;if("\\"===t.charAt(0)&&(n=t.charAt(1),-1!==this.escape.indexOf(n)))return!!r||(u="\n"===n?{type:"break"}:{type:"text",value:n},e("\\"+n)(u))}var pt=function(e,t){return e.indexOf("<",t)};var dt=gt;gt.locator=pt,gt.notInLink=!0;var ht="mailto:".length;function gt(e,t,r){var n,u,i,o,a,c=this,s="",l=t.length,f=0,D="",p=!1,d="";if("<"===t.charAt(0)){for(f++,s="<";f"===n||"@"===n||":"===n&&"/"===t.charAt(f+1)));)D+=n,f++;if(D){if(d+=D,D="",d+=n=t.charAt(f),f++,"@"===n)p=!0;else{if(":"!==n||"/"!==t.charAt(f+1))return;d+="/",f++}for(;f"!==n);)D+=n,f++;if(n=t.charAt(f),D&&">"===n)return!!r||(i=d+=D,s+=d+n,(u=e.now()).column++,u.offset++,p&&("mailto:"===d.slice(0,ht).toLowerCase()?(i=i.slice(ht),u.column+=ht,u.offset+=ht):d="mailto:"+d),o=c.inlineTokenizers,c.inlineTokenizers={text:o.text},a=c.enterLink(),i=c.tokenizeInline(i,u),c.inlineTokenizers=o,a(),e(s)({type:"link",title:null,url:A(d,{nonTerminated:!1}),children:i}))}}}var mt=function(e,t){var r,n=String(e),u=0;if("string"!=typeof t||1!==t.length)throw new Error("Expected character");r=n.indexOf(t);for(;-1!==r;)u++,r=n.indexOf(t,r+1);return u};var Et=function(e,t){var r,n,u,i=-1;if(!this.options.gfm)return i;n=Ct.length,r=-1;for(;++rf;)o=a+c.lastIndexOf(")"),c=t.slice(a,o),D--;if(59===t.charCodeAt(o-1)&&(o--,E(t.charCodeAt(o-1)))){for(l=o-2;E(t.charCodeAt(l));)l--;38===t.charCodeAt(l)&&(o=l)}return p=t.slice(0,o),h=A(p,{nonTerminated:!1}),w&&(h="http://"+h),m=C.enterLink(),C.inlineTokenizers={text:v.text},d=C.tokenizeInline(p,e.now()),C.inlineTokenizers=v,m(),e(p)({type:"link",title:null,url:h,children:d})}}}var Ft=function e(t,r){var n,u;if(!this.options.gfm)return-1;if(-1===(n=t.indexOf("@",r)))return-1;if((u=n)===r||!At(t.charCodeAt(u-1)))return e.call(this,t,n+1);for(;u>r&&At(t.charCodeAt(u-1));)u--;return u};function At(e){return g(e)||E(e)||43===e||45===e||46===e||95===e}var yt=wt;wt.locator=Ft,wt.notInLink=!0;function wt(e,t,r){var n,u,i,o,a=this,c=a.options.gfm,s=a.inlineTokenizers,l=0,f=t.length,D=-1;if(c){for(n=t.charCodeAt(l);g(n)||E(n)||43===n||45===n||46===n||95===n;)n=t.charCodeAt(++l);if(0!==l&&64===n){for(l++;l/i;function Bt(e,t,r){var n,u,i=this,o=t.length;if(!("<"!==t.charAt(0)||o<3)&&(n=t.charAt(1),(E(n)||"?"===n||"!"===n||"/"===n)&&(u=t.match(kt))))return!!r||(u=u[0],!i.inLink&&Ot.test(u)?i.inLink=!0:i.inLink&&Lt.test(u)&&(i.inLink=!1),e(u)({type:"html",value:u}))}var Tt=function(e,t){var r=e.indexOf("[",t),n=e.indexOf("![",t);if(-1===n)return r;return r=i&&(i=0):i=u}else if("\\"===y)A++,c+=t.charAt(A);else if(i&&!x||"["!==y){if((!i||x)&&"]"===y){if(!h){if("("!==t.charAt(A+1))return;c+="(",n=!0,A++;break}h--}}else h++;g+=c,c="",A++}if(n){for(f=g,F+=g+c,A++;A"!==(y=t.charAt(A));){if(k&&"\n"===y)return;g+=y,A++}if(">"!==t.charAt(A))return;F+="<"+g+">",m=g,A++}else{for(y=null,c="";A2&&(32===o||10===o)&&(32===a||10===a)){for(l++,s--;lt&&" "===e.charAt(r-1);)r--;return r};var Kt=Qt;Qt.locator=Jt;function Qt(e,t,r){for(var n,u=t.length,i=-1,o="";++i - * @license MIT - */;var cr=Object.prototype.hasOwnProperty,sr=Object.prototype.toString,lr=Object.defineProperty,fr=Object.getOwnPropertyDescriptor,Dr=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===sr.call(e)},pr=function(e){if(!e||"[object Object]"!==sr.call(e))return!1;var t,r=cr.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&cr.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;for(t in e);return void 0===t||cr.call(e,t)},dr=function(e,t){lr&&"__proto__"===t.name?lr(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},hr=function(e,t){if("__proto__"===t){if(!cr.call(e,t))return;if(fr)return fr(e,t).value}return e[t]},gr=function e(){var t,r,n,u,i,o,a=arguments[0],c=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},c=2),(null==a||"object"!=typeof a&&"function"!=typeof a)&&(a={});c{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype},Er=[].slice,Cr=function(e,t){var r;return function(){var t,i=Er.call(arguments,0),o=e.length>i.length;o&&i.push(n);try{t=e.apply(null,i)}catch(e){if(o&&r)throw e;return n(e)}o||(t&&"function"==typeof t.then?t.then(u,n):t instanceof Error?n(t):u(t))};function n(){r||(r=!0,t.apply(null,arguments))}function u(e){n(null,e)}};var br=Fr;Fr.wrap=Cr;var vr=[].slice;function Fr(){var e=[],t={run:function(){var t=-1,r=vr.call(arguments,0,-1),n=arguments[arguments.length-1];if("function"!=typeof n)throw new Error("Expected function as last argument, not "+n);function u(i){var o=e[++t],a=vr.call(arguments,0),c=a.slice(1),s=r.length,l=-1;if(i)n(i);else{for(;++l1)for(var r=1;r2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",u=0):u=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),i=a,o=0;continue}}else if(2===n.length||1===n.length){n="",u=0,i=a,o=0;continue}t&&(n.length>0?n+="/..":n="..",u=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),u=a-i-1;i=a,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var on={resolve:function(){for(var e,t="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var u;n>=0?u=arguments[n]:(void 0===e&&(e=rn.cwd()),u=e),nn(u),0!==u.length&&(t=u+"/"+t,r=47===u.charCodeAt(0))}return t=un(t,!r),r?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(nn(e),0===e.length)return".";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=un(e,!t)).length||t||(e="."),e.length>0&&r&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return nn(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":on.normalize(e)},relative:function(e,t){if(nn(e),nn(t),e===t)return"";if((e=on.resolve(e))===(t=on.resolve(t)))return"";for(var r=1;ra){if(47===t.charCodeAt(i+s))return t.slice(i+s+1);if(0===s)return t.slice(i+s)}else u>a&&(47===e.charCodeAt(r+s)?c=s:0===s&&(c=0));break}var l=e.charCodeAt(r+s);if(l!==t.charCodeAt(i+s))break;47===l&&(c=s)}var f="";for(s=r+c+1;s<=n;++s)s!==n&&47!==e.charCodeAt(s)||(0===f.length?f+="..":f+="/..");return f.length>0?f+t.slice(i+c):(i+=c,47===t.charCodeAt(i)&&++i,t.slice(i))},_makeLong:function(e){return e},dirname:function(e){if(nn(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,n=-1,u=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!u){n=i;break}}else u=!1;return-1===n?r?"/":".":r&&1===n?"//":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');nn(e);var r,n=0,u=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var o=t.length-1,a=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!i){n=r+1;break}}else-1===a&&(i=!1,a=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(u=r):(o=-1,u=a))}return n===u?u=a:-1===u&&(u=e.length),e.slice(n,u)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!i){n=r+1;break}}else-1===u&&(i=!1,u=r+1);return-1===u?"":e.slice(n,u)},extname:function(e){nn(e);for(var t=-1,r=0,n=-1,u=!0,i=0,o=e.length-1;o>=0;--o){var a=e.charCodeAt(o);if(47!==a)-1===n&&(u=!1,n=o+1),46===a?-1===t?t=o:1!==i&&(i=1):-1!==t&&(i=-1);else if(!u){r=o+1;break}}return-1===t||-1===n||0===i||1===i&&t===n-1&&t===r+1?"":e.slice(t,n)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){nn(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,n=e.charCodeAt(0),u=47===n;u?(t.root="/",r=1):r=0;for(var i=-1,o=0,a=-1,c=!0,s=e.length-1,l=0;s>=r;--s)if(47!==(n=e.charCodeAt(s)))-1===a&&(c=!1,a=s+1),46===n?-1===i?i=s:1!==l&&(l=1):-1!==i&&(l=-1);else if(!c){o=s+1;break}return-1===i||-1===a||0===l||1===l&&i===a-1&&i===o+1?-1!==a&&(t.base=t.name=0===o&&u?e.slice(1,a):e.slice(o,a)):(0===o&&u?(t.name=e.slice(1,i),t.base=e.slice(1,a)):(t.name=e.slice(o,i),t.base=e.slice(o,a)),t.ext=e.slice(i,a)),o>0?t.dir=e.slice(0,o-1):u&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};on.posix=on;var an=on,cn=n(Object.freeze(Object.assign(Object.create(null),an,{default:an,__moduleExports:an})));var sn=function(e,t){if("string"!=typeof e)return e;if(0===e.length)return e;var r=cn.basename(e,cn.extname(e))+t;return cn.join(cn.dirname(e),r)},ln=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},fn=hn,Dn={}.hasOwnProperty,pn=hn.prototype,dn=["history","path","basename","stem","extname","dirname"]; -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */function hn(e){var t,r,n;if(e){if("string"==typeof e||ln(e))e={contents:e};else if("message"in e&&"messages"in e)return e}else e={};if(!(this instanceof hn))return new hn(e);for(this.data={},this.messages=[],this.history=[],this.cwd=rn.cwd(),r=-1,n=dn.length;++r57)&&(!D||36===a)){s=d-1,d++,D&&d++,l=d;break}}else 92===o&&(d++,a=r.charCodeAt(d+1));d++}if(void 0!==l)return!!n||(f=r.slice(c,s+1),e(r.slice(0,l))({type:"inlineMath",value:f,data:{hName:"span",hProperties:{className:Sn.concat(D&&t.inlineMathDouble?["math-display"]:[])},hChildren:[{type:"text",value:f}]}}))}}}i.locator=u,r.inlineTokenizers.math=i,n.splice(n.indexOf("text"),0,"math")}(t,e);Tn.isRemarkCompiler(r)&&function(e){function t(e){let t="$";return(e.data&&e.data.hProperties&&e.data.hProperties.className||[]).includes("math-display")&&(t="$$"),t+e.value+t}e.prototype.visitors.inlineMath=t}(r)};const Sn=["math","math-inline"];var In=function(){const e=this.Parser,t=this.Compiler;Tn.isRemarkParser(e)&&function(e){const t=e.prototype,r=t.blockMethods,n=t.interruptParagraph,u=t.interruptList,i=t.interruptBlockquote;function o(e,t,r){var n=t.length,u=0;let i,o,a,c,s,l,f,D,p,d,h;for(;ud&&32===t.charCodeAt(c-1);)c--;for(;c>d&&36===t.charCodeAt(c-1);)p++,c--;for(l<=p&&t.indexOf("$",d)===c&&(D=!0,h=c);d<=h&&d-ud&&32===t.charCodeAt(h-1);)h--;if(D&&d===h||o.push(t.slice(d,h)),D)break;u=a+1,a=t.indexOf("\n",u+1),a=-1===a?n:a}return o=o.join("\n"),e(t.slice(0,a))({type:"math",value:o,data:{hName:"div",hProperties:{className:Rn.concat()},hChildren:[{type:"text",value:o}]}})}}}t.blockTokenizers.math=o,r.splice(r.indexOf("fencedCode")+1,0,"math"),n.splice(n.indexOf("fencedCode")+1,0,["math"]),u.splice(u.indexOf("fencedCode")+1,0,["math"]),i.splice(i.indexOf("fencedCode")+1,0,["math"])}(e);Tn.isRemarkCompiler(t)&&function(e){function t(e){return"$$\n"+e.value+"\n$$"}e.prototype.visitors.math=t}(t)};const Rn=["math","math-display"];var qn=function(e){var t=e||{};In.call(this,t),Nn.call(this,t)};var Pn=function(e){var t=this.Parser,r=this.Compiler;(function(e){return Boolean(e&&e.prototype&&e.prototype.blockTokenizers)})(t)&&function(e,t){var r,n=t||{},u=e.prototype,i=u.blockTokenizers,o=u.inlineTokenizers,a=u.blockMethods,c=u.inlineMethods,s=i.definition,l=o.reference,f=[],D=-1,p=a.length;for(;++D4&&(p=void 0,d=v);else{if(p<4&&g&&(g.contentStart===g.contentEnd||Gn(E,i,m,[e,t.slice(v,1024),!0])))break;p=void 0,d=v}v++}for(v=-1,b=h.length;b>0&&(g=h[b-1]).contentStart===g.contentEnd;)b--;for(s=e(t.slice(0,g.contentEnd));++v{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function Un(e){return{type:"concat",parts:e}}function Mn(e){return{type:"indent",contents:e}}function Vn(e,t){return{type:"align",contents:t,n:e}}function _n(e,t){return{type:"group",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const $n={type:"break-parent"},Hn=Un([{type:"line",hard:!0},$n]),Xn=Un([{type:"line",hard:!0,literal:!0},$n]);var Wn={concat:Un,join:function(e,t){const r=[];for(let n=0;n0){for(let e=0;e"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const Zn=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var Jn=Zn,Kn=Zn;Jn.default=Kn;const Qn=e=>{if("string"!=typeof(e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===e.length)return 0;e=Yn(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=Jn(n)?2:1))}return t};var eu=Qn,tu=Qn;eu.default=tu;function ru(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var nu="object"==typeof rn&&rn.env&&rn.env.NODE_DEBUG&&/\bsemver\b/i.test(rn.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var uu={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},iu=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=uu,n=(t=e.exports={}).re=[],u=t.src=[],i=t.t={};let o=0;const a=(e,t,r)=>{const a=o++;nu(a,t),i[e]=a,u[a]=t,n[a]=new RegExp(t,r?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(u[i.NUMERICIDENTIFIER],")\\.")+"(".concat(u[i.NUMERICIDENTIFIER],")\\.")+"(".concat(u[i.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(u[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[i.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(u[i.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(u[i.NUMERICIDENTIFIER],"|").concat(u[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(u[i.NUMERICIDENTIFIERLOOSE],"|").concat(u[i.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(u[i.PRERELEASEIDENTIFIER],"(?:\\.").concat(u[i.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(u[i.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(u[i.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(u[i.BUILDIDENTIFIER],"(?:\\.").concat(u[i.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(u[i.MAINVERSION]).concat(u[i.PRERELEASE],"?").concat(u[i.BUILD],"?")),a("FULL","^".concat(u[i.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(u[i.MAINVERSIONLOOSE]).concat(u[i.PRERELEASELOOSE],"?").concat(u[i.BUILD],"?")),a("LOOSE","^".concat(u[i.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(u[i.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(u[i.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(u[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[i.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(u[i.XRANGEIDENTIFIER],")")+"(?:".concat(u[i.PRERELEASE],")?").concat(u[i.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(u[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[i.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(u[i.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(u[i.PRERELEASELOOSE],")?").concat(u[i.BUILD],"?")+")?)?"),a("XRANGE","^".concat(u[i.GTLT],"\\s*").concat(u[i.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(u[i.GTLT],"\\s*").concat(u[i.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",u[i.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(u[i.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",a("TILDE","^".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(u[i.LONETILDE]).concat(u[i.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(u[i.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",a("CARET","^".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(u[i.LONECARET]).concat(u[i.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(u[i.GTLT],"\\s*(").concat(u[i.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(u[i.GTLT],"\\s*(").concat(u[i.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(u[i.GTLT],"\\s*(").concat(u[i.LOOSEPLAIN],"|").concat(u[i.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(u[i.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(u[i.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(u[i.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(u[i.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const ou=/^[0-9]+$/,au=(e,t)=>{const r=ou.test(e),n=ou.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eau(t,e)};const{MAX_LENGTH:su,MAX_SAFE_INTEGER:lu}=uu,{re:fu,t:Du}=iu,{compareIdentifiers:pu}=cu;class du{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof du){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>su)throw new TypeError("version is longer than ".concat(su," characters"));nu("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?fu[Du.LOOSE]:fu[Du.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>lu||this.major<0)throw new TypeError("Invalid major version");if(this.minor>lu||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>lu||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var hu=du;var gu=(e,t,r)=>new hu(e,r).compare(new hu(t,r));var mu=(e,t,r)=>gu(e,t,r)<0;var Eu=(e,t,r)=>gu(e,t,r)>=0,Cu="2.2.1",bu=r((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:xu(yu()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:xu(Au()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:xu(Fu()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:xu(vu()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Lu={compare:gu,lt:mu,gte:Eu},Bu=Cu,Tu={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:Ou}.options;var Nu={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const u=Bu.split("-",1)[0],i=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(s),o=(a=Object.assign({},...e.map((({options:e})=>e)),Tu),c="name",Object.entries(a).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>s(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(u[r]=e[r]);return u}(e,["cliName","cliCategory","cliDescription"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort(((e,t)=>Lu.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>s(e)&&l(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const u of t)if(u.parsers)for(const t of u.parsers)if(!n.has(t)){n.add(t);const i=r.find((e=>e.parsers&&e.parsers[t]));let o=u.name;i&&i.name&&(o+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:o})}}(t,i,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var a,c;return{languages:i,options:o};function s(e){return t||!("since"in e)||e.since&&Lu.gte(u,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&Lu.lt(u,e.deprecated)}}};const{getSupportInfo:Su}=Nu,Iu=/[^\x20-\x7F]/;function Ru(e){return(t,r,n)=>{const u=n&&n.backwards;if(!1===r)return!1;const{length:i}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:i.quote}return a}function Yu(e,t,r){const n='"'===t?"'":'"',u=e.replace(/\\([\S\s])|(["'])/g,((e,u,i)=>u===n?u:i===t?"\\"+i:i||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(u)?u:"\\"+u)));return t+u+t}function Zu(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}var Ju={inferParserByLanguage:function(e,t){const{languages:r}=Su({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split("\n"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?Iu.test(e)?eu(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(zn(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(zn(t),")+"),"g"));if(null===r)return 0;const n=new Map;let u=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>u&&(u=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:$u,getNextNonSpaceNonCommentCharacterIndex:Hu,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Hu(e,t,r))},skip:Ru,skipWhitespace:qu,skipSpaces:Pu,skipToLineEnd:ju,skipEverythingButNewLine:Gu,skipInlineComment:zu,skipTrailingComment:Uu,skipNewline:Mu,isNextLineEmptyAfterIndex:_u,isNextLineEmpty:function(e,t,r){return _u(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Pu(e,n,{backwards:!0}),n=Mu(e,n,{backwards:!0}),n=Pu(e,n,{backwards:!0}),n!==Mu(e,n,{backwards:!0})},hasNewline:Vu,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{getStringWidth:Qu}=Ju,{convertEndOfLineToChars:ei}=Ku,{concat:ti,fill:ri,cursor:ni}=Wn;let ui;function ii(e,t){return ai(e,{type:"indent"},t)}function oi(e,t,r){if(t===-1/0)return e.root||{value:"",length:0,queue:[]};if(t<0)return ai(e,{type:"dedent"},r);if(!t)return e;if("root"===t.type)return Object.assign({},e,{root:e});return ai(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},r)}function ai(e,t,r){const n="dedent"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let u="",i=0,o=0,a=0;for(const e of n)switch(e.type){case"indent":l(),r.useTabs?c(1):s(r.tabWidth);break;case"stringAlign":l(),u+=e.n,i+=e.n.length;break;case"numberAlign":o+=1,a+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return f(),Object.assign({},e,{value:u,length:i,queue:n});function c(e){u+="\t".repeat(e),i+=r.tabWidth*e}function s(e){u+=" ".repeat(e),i+=e}function l(){r.useTabs?function(){o>0&&c(o);D()}():f()}function f(){a>0&&s(a),D()}function D(){o=0,a=0}}function ci(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof e[e.length-1]&&e[e.length-1].match(/^[\t ]*$/);)t+=e.pop().length;if(e.length&&"string"==typeof e[e.length-1]){const r=e[e.length-1].replace(/[\t ]*$/,"");t+=e[e.length-1].length-r.length,e[e.length-1]=r}return t}function si(e,t,r,n,u){let i=t.length;const o=[e],a=[];for(;r>=0;){if(0===o.length){if(0===i)return!0;o.push(t[i-1]),i--;continue}const[e,c,s]=o.pop();if("string"==typeof s)a.push(s),r-=Qu(s);else switch(s.type){case"concat":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case"indent":o.push([ii(e,n),c,s.contents]);break;case"align":o.push([oi(e,s.n,n),c,s.contents]);break;case"trim":r+=ci(a);break;case"group":if(u&&s.break)return!1;o.push([e,s.break?1:c,s.contents]),s.id&&(ui[s.id]=o[o.length-1][1]);break;case"fill":for(let t=s.parts.length-1;t>=0;t--)o.push([e,c,s.parts[t]]);break;case"if-break":{const t=s.groupId?ui[s.groupId]:c;1===t&&s.breakContents&&o.push([e,c,s.breakContents]),2===t&&s.flatContents&&o.push([e,c,s.flatContents]);break}case"line":switch(c){case 2:if(!s.hard){s.soft||(a.push(" "),r-=1);break}return!0;case 1:return!0}}}return!1}var li={printDocToString:function(e,t){ui={};const r=t.printWidth,n=ei(t.endOfLine);let u=0;const i=[[{value:"",length:0,queue:[]},1,e]],o=[];let a=!1,c=[];for(;0!==i.length;){const[e,s,l]=i.pop();if("string"==typeof l){const e="\n"!==n&&l.includes("\n")?l.replace(/\n/g,n):l;o.push(e),u+=Qu(e)}else switch(l.type){case"cursor":o.push(ni.placeholder);break;case"concat":for(let t=l.parts.length-1;t>=0;t--)i.push([e,s,l.parts[t]]);break;case"indent":i.push([ii(e,t),s,l.contents]);break;case"align":i.push([oi(e,l.n,t),s,l.contents]);break;case"trim":u-=ci(o);break;case"group":switch(s){case 2:if(!a){i.push([e,l.break?1:2,l.contents]);break}case 1:{a=!1;const n=[e,2,l.contents],o=r-u;if(!l.break&&si(n,i,o,t))i.push(n);else if(l.expandedStates){const r=l.expandedStates[l.expandedStates.length-1];if(l.break){i.push([e,1,r]);break}for(let n=1;n=l.expandedStates.length){i.push([e,1,r]);break}{const r=[e,2,l.expandedStates[n]];if(si(r,i,o,t)){i.push(r);break}}}}else i.push([e,1,l.contents]);break}}l.id&&(ui[l.id]=i[i.length-1][1]);break;case"fill":{const n=r-u,{parts:o}=l;if(0===o.length)break;const[a,c]=o,f=[e,2,a],D=[e,1,a],p=si(f,[],n,t,!0);if(1===o.length){p?i.push(f):i.push(D);break}const d=[e,2,c],h=[e,1,c];if(2===o.length){p?(i.push(d),i.push(f)):(i.push(h),i.push(D));break}o.splice(0,2);const g=[e,s,ri(o)],m=o[0];si([e,2,ti([a,c,m])],[],n,t,!0)?(i.push(g),i.push(d),i.push(f)):p?(i.push(g),i.push(h),i.push(f)):(i.push(g),i.push(h),i.push(D));break}case"if-break":{const t=l.groupId?ui[l.groupId]:s;1===t&&l.breakContents&&i.push([e,s,l.breakContents]),2===t&&l.flatContents&&i.push([e,s,l.flatContents]);break}case"line-suffix":c.push([e,s,l.contents]);break;case"line-suffix-boundary":c.length>0&&i.push([e,s,{type:"line",hard:!0}]);break;case"line":switch(s){case 2:if(!l.hard){l.soft||(o.push(" "),u+=1);break}a=!0;case 1:if(c.length){i.push([e,s,l]),i.push(...c.reverse()),c=[];break}l.literal?e.root?(o.push(n,e.root.value),u=e.root.length):(o.push(n),u=0):(u-=ci(o),o.push(n+e.value),u=e.length)}}0===i.length&&c.length&&(i.push(...c.reverse()),c=[])}const s=o.indexOf(ni.placeholder);if(-1!==s){const e=o.indexOf(ni.placeholder,s+1),t=o.slice(0,s).join(""),r=o.slice(s+1,e).join("");return{formatted:t+r+o.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:r}}return{formatted:o.join("")}}};const{literalline:fi,concat:Di}=Wn,pi={};function di(e,t,r,n){const u=[e];for(;0!==u.length;){const e=u.pop();if(e!==pi){if(r&&u.push(e,pi),!t||!1!==t(e))if("concat"===e.type||"fill"===e.type)for(let t=e.parts.length-1;t>=0;--t)u.push(e.parts[t]);else if("if-break"===e.type)e.flatContents&&u.push(e.flatContents),e.breakContents&&u.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(n)for(let t=e.expandedStates.length-1;t>=0;--t)u.push(e.expandedStates[t]);else u.push(e.contents);else e.contents&&u.push(e.contents)}else r(u.pop())}}function hi(e,t){if("concat"===e.type||"fill"===e.type){const r=e.parts.map((e=>hi(e,t)));return t(Object.assign({},e,{parts:r}))}if("if-break"===e.type){const r=e.breakContents&&hi(e.breakContents,t),n=e.flatContents&&hi(e.flatContents,t);return t(Object.assign({},e,{breakContents:r,flatContents:n}))}if(e.contents){const r=hi(e.contents,t);return t(Object.assign({},e,{contents:r}))}return t(e)}function gi(e,t,r){let n=r,u=!1;return di(e,(function(e){const r=t(e);if(void 0!==r&&(u=!0,n=r),u)return!1})),n}function mi(e){return"string"!=typeof e&&("line"===e.type||void 0)}function Ei(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function Ci(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function bi(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}function vi(e){const t=[],r=e.filter(Boolean);for(;0!==r.length;){const e=r.shift();e&&("concat"!==e.type?0===t.length||"string"!=typeof t[t.length-1]||"string"!=typeof e?t.push(e):t[t.length-1]+=e:r.unshift(...e.parts))}return t}function Fi(e){if("concat"===e.type){const t=[];for(let r=0;r0&&!t;n--)t=r[n-1];return"group"===t.type&&(r=t.contents.parts),r}(t):t.parts,u=n[n.length-1];if("concat"===u.type)return 2===u.parts.length&&u.parts[0].hard&&"break-parent"===u.parts[1].type?{type:"concat",parts:n.slice(0,-1)}:{type:"concat",parts:t.parts.slice(0,-1).concat(e(u))}}return t},normalizeParts:vi,normalizeDoc:function(e){return hi(e,(e=>e.parts?Object.assign({},e,{parts:vi(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return hi(e,(e=>"string"==typeof e&&e.includes("\n")?Di(e.split(/(\n)/g).map(((e,t)=>t%2==0?e:fi))):e))}},debug:{printDocToDebug:e=>Ai(Fi(e))}};const{builders:{hardline:wi,concat:ki,markAsRoot:xi}}=yi,Oi={"---":"yaml","+++":"toml"};var Li={parse:function(e){const t=Object.keys(Oi).map(zn).join("|"),r=e.match(new RegExp("^(".concat(t,")([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)")));if(null===r)return{frontMatter:null,content:e};const[n,u,i,o]=r;let a=Oi[u];return"toml"!==a&&i&&i.trim()&&(a=i.trim()),{frontMatter:{type:"front-matter",lang:a,value:o,raw:n.replace(/\n$/,"")},content:n.replace(/[^\n]/g," ")+e.slice(n.length)}},print:function(e,t){if("yaml"===e.lang){const r=e.value.trim(),n=r?t(r,{parser:"yaml"},{stripTrailingHardline:!0}):"";return xi(ki(["---",wi,n,n?wi:"","---"]))}}};const{parse:Bi}=Li,Ti=["format","prettier"];function Ni(e){const t="@(".concat(Ti.join("|"),")"),r=new RegExp(["\x3c!--\\s*".concat(t,"\\s*--\x3e"),"\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*".concat(t,"[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e")].join("|"),"m"),n=e.match(r);return n&&0===n.index}var Si={startWithPragma:Ni,hasPragma:e=>Ni(Bi(e).content.trimStart()),insertPragma:e=>{const t=Bi(e),r="\x3c!-- @".concat(Ti[0]," --\x3e");return t.frontMatter?"".concat(t.frontMatter.raw,"\n\n").concat(r,"\n\n").concat(t.content):"".concat(r,"\n\n").concat(t.content)}};var Ii={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:Ri}=Ju,{locStart:qi,locEnd:Pi}=Ii,{cjkPattern:ji,kPattern:Gi,punctuationPattern:zi}={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"},Ui=["liquidNode","inlineCode","emphasis","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],Mi=Ui.concat(["tableCell","paragraph","heading"]),Vi=new RegExp(Gi),_i=new RegExp(zi);function $i(e,t){const[,r,n,u]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:r,marker:n,leadingSpaces:u}}var Hi={mapAst:function(e,t){return function e(r,n,u){u=u||[];const i=Object.assign({},t(r,n,u));return i.children&&(i.children=i.children.map(((t,r)=>e(t,r,[i].concat(u))))),i}(e,null,null)},splitText:function(e,t){const r="non-cjk",n="cj-letter",u="cjk-punctuation",i=[];return("preserve"===t.proseWrap?e:e.replace(new RegExp("(".concat(ji,")\n(").concat(ji,")"),"g"),"$1$2")).split(/([\t\n ]+)/).forEach(((e,t,a)=>{t%2!=1?(0!==t&&t!==a.length-1||""!==e)&&e.split(new RegExp("(".concat(ji,")"))).forEach(((e,t,i)=>{(0!==t&&t!==i.length-1||""!==e)&&(t%2!=0?o(_i.test(e)?{type:"word",value:e,kind:u,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:e,kind:Vi.test(e)?"k-letter":n,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==e&&o({type:"word",value:e,kind:r,hasLeadingPunctuation:_i.test(e[0]),hasTrailingPunctuation:_i.test(Ri(e))}))})):i.push({type:"whitespace",value:/\n/.test(e)?"\n":" "})})),i;function o(e){const t=Ri(i);var o,a;t&&"word"===t.type&&(t.kind===r&&e.kind===n&&!t.hasTrailingPunctuation||t.kind===n&&e.kind===r&&!e.hasLeadingPunctuation?i.push({type:"whitespace",value:" "}):(o=r,a=u,t.kind===o&&e.kind===a||t.kind===a&&e.kind===o||[t.value,e.value].some((e=>/\u3000/.test(e)))||i.push({type:"whitespace",value:""}))),i.push(e)}},punctuationPattern:zi,getFencedCodeBlockValue:function(e,t){const{value:r}=e;return e.position.end.offset===t.length&&r.endsWith("\n")&&t.endsWith("\n")?r.slice(0,-1):r},getOrderedListItemInfo:$i,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const r=Number($i(e.children[0],t.originalText).numberText),n=Number($i(e.children[1],t.originalText).numberText);if(0===r&&e.children.length>2){const r=Number($i(e.children[2],t.originalText).numberText);return 1===n&&1===r}return 1===n},INLINE_NODE_TYPES:Ui,INLINE_NODE_WRAPPER_TYPES:Mi,isAutolink:function(e){if(!e||"link"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&qi(e)===qi(t)&&Pi(e)===Pi(t)}};const Xi=/^import\s/,Wi=/^export\s/,Yi=e=>Xi.test(e),Zi=e=>Wi.test(e),Ji=(e,t)=>{const r=t.indexOf("\n\n"),n=t.slice(0,r);if(Zi(n)||Yi(n))return e(n)({type:Zi(n)?"export":"import",value:n})};Ji.locator=e=>Zi(e)||Yi(e)?-1:1;var Ki={esSyntax:function(){const{Parser:e}=this,t=e.prototype.blockTokenizers,r=e.prototype.blockMethods;t.esSyntax=Ji,r.splice(r.indexOf("paragraph"),0,"esSyntax")},BLOCKS_REGEX:"[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",COMMENT_REGEX:"\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e"};const{parse:Qi}=Li,{locStart:eo,locEnd:to}=Ii,{mapAst:ro,INLINE_NODE_WRAPPER_TYPES:no}=Hi;function uo({isMDX:e}){return t=>{const r=vn().use(ir,Object.assign({commonmark:!0},e&&{blocks:[Ki.BLOCKS_REGEX]})).use(Pn).use(ao).use(qn).use(e?Ki.esSyntax:io).use(co).use(e?oo:io).use(so).use(lo);return r.runSync(r.parse(t))}}function io(e){return e}function oo(){return e=>ro(e,((e,t,[r])=>"html"!==e.type||e.value.match(Ki.COMMENT_REGEX)||no.includes(r.type)?e:Object.assign({},e,{type:"jsx"})))}function ao(){const e=this.Parser.prototype;function t(e,t){const r=Qi(t);if(r.frontMatter)return e(r.frontMatter.raw)(r.frontMatter)}e.blockMethods=["frontMatter"].concat(e.blockMethods),e.blockTokenizers.frontMatter=t,t.onlyAtStart=!0}function co(){const e=this.Parser.prototype,t=e.inlineMethods;function r(e,t){const r=t.match(/^({%[\S\s]*?%}|{{[\S\s]*?}})/);if(r)return e(r[0])({type:"liquidNode",value:r[0]})}t.splice(t.indexOf("text"),0,"liquid"),e.inlineTokenizers.liquid=r,r.locator=function(e,t){return e.indexOf("{",t)}}function so(){const e="wikiLink",t=/^\[\[(?.+?)]]/s,r=this.Parser.prototype,n=r.inlineMethods;function u(r,n){const u=t.exec(n);if(u){const t=u.groups.linkContents.trim();return r(u[0])({type:e,value:t})}}n.splice(n.indexOf("link"),0,e),r.inlineTokenizers.wikiLink=u,u.locator=function(e,t){return e.indexOf("[",t)}}function lo(){const e=this.Parser.prototype,t=e.blockTokenizers.list;function r(e,t,r){return"listItem"===t.type&&(t.loose=t.spread||"\n"===e.charAt(e.length-1),t.loose&&(r.loose=!0)),t}e.blockTokenizers.list=function(e,n,u){function i(t){const n=e(t);function u(e,u){return n(r(t,e,u),u)}return u.reset=function(e,u){return n.reset(r(t,e,u),u)},u}return i.now=e.now,t.call(this,i,n,u)}}const fo={astFormat:"mdast",hasPragma:Si.hasPragma,locStart:eo,locEnd:to},Do=Object.assign({},fo,{parse:uo({isMDX:!1})});var po={parsers:{remark:Do,markdown:Do,mdx:Object.assign({},fo,{parse:uo({isMDX:!0})})}};export default po; diff --git a/node_modules/prettier/esm/parser-meriyah.mjs b/node_modules/prettier/esm/parser-meriyah.mjs deleted file mode 100644 index 60609315..00000000 --- a/node_modules/prettier/esm/parser-meriyah.mjs +++ /dev/null @@ -1 +0,0 @@ -var e=function(e,u){const t=new SyntaxError(e+" ("+u.start.line+":"+u.start.column+")");return t.loc=u,t};function u(e,u,t){return e(t={path:u,exports:{},require:function(e,u){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==u&&t.path)}},t.exports),t.exports}function t(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n=Object.freeze({__proto__:null,default:{EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}});const o=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const u=e.match(/(?:\r?\n)/g)||[];if(0===u.length)return;const t=u.filter((e=>"\r\n"===e)).length;return t>u.length-t?"\r\n":"\n"};var r=o;r.graceful=e=>"string"==typeof e&&o(e)||"\n";var s=t(n),i=u((function(e,u){function t(){const e=s;return t=function(){return e},e}function n(){const e=(u=r)&&u.__esModule?u:{default:u};var u;return n=function(){return e},e}Object.defineProperty(u,"__esModule",{value:!0}),u.extract=function(e){const u=e.match(D);return u?u[0].trimLeft():""},u.strip=function(e){const u=e.match(D);return u&&u[0]?e.substring(u[0].length):e},u.parse=function(e){return E(e).pragmas},u.parseWithComments=E,u.print=function({comments:e="",pragmas:u={}}){const o=(0,n().default)(e)||t().EOL,r=" *",s=Object.keys(u),i=s.map((e=>A(e,u[e]))).reduce(((e,u)=>e.concat(u)),[]).map((e=>" * "+e+o)).join("");if(!e){if(0===s.length)return"";if(1===s.length&&!Array.isArray(u[s[0]])){const e=u[s[0]];return"".concat("/**"," ").concat(A(s[0],e)[0]).concat(" */")}}const D=e.split(o).map((e=>"".concat(r," ").concat(e))).join(o)+o;return"/**"+o+(e?D:"")+(e&&s.length?r+o:"")+i+" */"};const o=/\*\/$/,i=/^\/\*\*/,D=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,c=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,F=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,C=[];function E(e){const u=(0,n().default)(e)||t().EOL;e=e.replace(i,"").replace(o,"").replace(p,"$1");let r="";for(;r!==e;)r=e,e=e.replace(l,"".concat(u,"$1 $2").concat(u));e=e.replace(c,"").trimRight();const s=Object.create(null),D=e.replace(F,"").replace(c,"").trimRight();let E;for(;E=F.exec(e);){const e=E[2].replace(a,"");"string"==typeof s[E[1]]||Array.isArray(s[E[1]])?s[E[1]]=C.concat(s[E[1]],e):s[E[1]]=e}return{comments:D,pragmas:s}}function A(e,u){return C.concat(u).map((u=>"@".concat(e," ").concat(u).trim()))}})),D=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,e?void 0:"g")})(),""):e;const a=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var c=a,l=a;c.default=l;const F=e=>{if("string"!=typeof(e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===e.length)return 0;e=D(e);let u=0;for(let t=0;t=127&&n<=159||(n>=768&&n<=879||(n>65535&&t++,u+=c(n)?2:1))}return u};var p=F,C=F;p.default=C;var E=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function A(e,u){return u||(u=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(u)}}))}var f="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function d(){throw new Error("setTimeout has not been defined")}function m(){throw new Error("clearTimeout has not been defined")}var g=d,B=m;function y(e){if(g===setTimeout)return setTimeout(e,0);if((g===d||!g)&&setTimeout)return g=setTimeout,setTimeout(e,0);try{return g(e,0)}catch(u){try{return g.call(null,e,0)}catch(u){return g.call(this,e,0)}}}"function"==typeof f.setTimeout&&(g=setTimeout),"function"==typeof f.clearTimeout&&(B=clearTimeout);var h,k=[],P=!1,b=-1;function x(){P&&h&&(P=!1,h.length?k=h.concat(k):b=-1,k.length&&v())}function v(){if(!P){var e=y(x);P=!0;for(var u=k.length;u;){for(h=k,k=[];++b1)for(var t=1;tconsole.error("SEMVER",...e):()=>{};var $={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},_=u((function(e,u){const{MAX_SAFE_COMPONENT_LENGTH:t}=$,n=(u=e.exports={}).re=[],o=u.src=[],r=u.t={};let s=0;const i=(e,u,t)=>{const i=s++;G(i,u),r[e]=i,o[i]=u,n[i]=new RegExp(u,t?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*"),i("NUMERICIDENTIFIERLOOSE","[0-9]+"),i("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),i("MAINVERSION","(".concat(o[r.NUMERICIDENTIFIER],")\\.")+"(".concat(o[r.NUMERICIDENTIFIER],")\\.")+"(".concat(o[r.NUMERICIDENTIFIER],")")),i("MAINVERSIONLOOSE","(".concat(o[r.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[r.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[r.NUMERICIDENTIFIERLOOSE],")")),i("PRERELEASEIDENTIFIER","(?:".concat(o[r.NUMERICIDENTIFIER],"|").concat(o[r.NONNUMERICIDENTIFIER],")")),i("PRERELEASEIDENTIFIERLOOSE","(?:".concat(o[r.NUMERICIDENTIFIERLOOSE],"|").concat(o[r.NONNUMERICIDENTIFIER],")")),i("PRERELEASE","(?:-(".concat(o[r.PRERELEASEIDENTIFIER],"(?:\\.").concat(o[r.PRERELEASEIDENTIFIER],")*))")),i("PRERELEASELOOSE","(?:-?(".concat(o[r.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(o[r.PRERELEASEIDENTIFIERLOOSE],")*))")),i("BUILDIDENTIFIER","[0-9A-Za-z-]+"),i("BUILD","(?:\\+(".concat(o[r.BUILDIDENTIFIER],"(?:\\.").concat(o[r.BUILDIDENTIFIER],")*))")),i("FULLPLAIN","v?".concat(o[r.MAINVERSION]).concat(o[r.PRERELEASE],"?").concat(o[r.BUILD],"?")),i("FULL","^".concat(o[r.FULLPLAIN],"$")),i("LOOSEPLAIN","[v=\\s]*".concat(o[r.MAINVERSIONLOOSE]).concat(o[r.PRERELEASELOOSE],"?").concat(o[r.BUILD],"?")),i("LOOSE","^".concat(o[r.LOOSEPLAIN],"$")),i("GTLT","((?:<|>)?=?)"),i("XRANGEIDENTIFIERLOOSE","".concat(o[r.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),i("XRANGEIDENTIFIER","".concat(o[r.NUMERICIDENTIFIER],"|x|X|\\*")),i("XRANGEPLAIN","[v=\\s]*(".concat(o[r.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[r.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[r.XRANGEIDENTIFIER],")")+"(?:".concat(o[r.PRERELEASE],")?").concat(o[r.BUILD],"?")+")?)?"),i("XRANGEPLAINLOOSE","[v=\\s]*(".concat(o[r.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[r.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[r.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(o[r.PRERELEASELOOSE],")?").concat(o[r.BUILD],"?")+")?)?"),i("XRANGE","^".concat(o[r.GTLT],"\\s*").concat(o[r.XRANGEPLAIN],"$")),i("XRANGELOOSE","^".concat(o[r.GTLT],"\\s*").concat(o[r.XRANGEPLAINLOOSE],"$")),i("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(t,"})")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:\\.(\\d{1,".concat(t,"}))?")+"(?:$|[^\\d])"),i("COERCERTL",o[r.COERCE],!0),i("LONETILDE","(?:~>?)"),i("TILDETRIM","(\\s*)".concat(o[r.LONETILDE],"\\s+"),!0),u.tildeTrimReplace="$1~",i("TILDE","^".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAIN],"$")),i("TILDELOOSE","^".concat(o[r.LONETILDE]).concat(o[r.XRANGEPLAINLOOSE],"$")),i("LONECARET","(?:\\^)"),i("CARETTRIM","(\\s*)".concat(o[r.LONECARET],"\\s+"),!0),u.caretTrimReplace="$1^",i("CARET","^".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAIN],"$")),i("CARETLOOSE","^".concat(o[r.LONECARET]).concat(o[r.XRANGEPLAINLOOSE],"$")),i("COMPARATORLOOSE","^".concat(o[r.GTLT],"\\s*(").concat(o[r.LOOSEPLAIN],")$|^$")),i("COMPARATOR","^".concat(o[r.GTLT],"\\s*(").concat(o[r.FULLPLAIN],")$|^$")),i("COMPARATORTRIM","(\\s*)".concat(o[r.GTLT],"\\s*(").concat(o[r.LOOSEPLAIN],"|").concat(o[r.XRANGEPLAIN],")"),!0),u.comparatorTrimReplace="$1$2$3",i("HYPHENRANGE","^\\s*(".concat(o[r.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(o[r.XRANGEPLAIN],")")+"\\s*$"),i("HYPHENRANGELOOSE","^\\s*(".concat(o[r.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(o[r.XRANGEPLAINLOOSE],")")+"\\s*$"),i("STAR","(<|>)?=?\\s*\\*"),i("GTE0","^\\s*>=\\s*0.0.0\\s*$"),i("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const J=/^[0-9]+$/,q=(e,u)=>{const t=J.test(e),n=J.test(u);return t&&n&&(e=+e,u=+u),e===u?0:t&&!n?-1:n&&!t?1:eq(u,e)};const{MAX_LENGTH:z,MAX_SAFE_INTEGER:H}=$,{re:K,t:Y}=_,{compareIdentifiers:Z}=W;class Q{constructor(e,u){if(u&&"object"==typeof u||(u={loose:!!u,includePrerelease:!1}),e instanceof Q){if(e.loose===!!u.loose&&e.includePrerelease===!!u.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>z)throw new TypeError("version is longer than ".concat(z," characters"));G("SemVer",e,u),this.options=u,this.loose=!!u.loose,this.includePrerelease=!!u.includePrerelease;const t=e.trim().match(u.loose?K[Y.LOOSE]:K[Y.FULL]);if(!t)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>H||this.major<0)throw new TypeError("Invalid major version");if(this.minor>H||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>H||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const u=+e;if(u>=0&&u=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}u&&(this.prerelease[0]===u?isNaN(this.prerelease[1])&&(this.prerelease=[u,0]):this.prerelease=[u,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var ee=Q;var ue=(e,u,t)=>new ee(e,t).compare(new ee(u,t));var te=(e,u,t)=>ue(e,u,t)<0;var ne=(e,u,t)=>ue(e,u,t)>=0,oe="2.2.1",re=u((function(e,u){function t(){for(var e=[],u=0;u"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:Fe(ae()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:Fe(De()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:Fe(ie()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:Fe(se()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const Ce={compare:ue,lt:te,gte:ne},Ee=oe,Ae={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:pe}.options;var fe={getSupportInfo:function({plugins:e=[],showUnreleased:u=!1,showDeprecated:t=!1,showInternal:n=!1}={}){const o=Ee.split("-",1)[0],r=e.reduce(((e,u)=>e.concat(u.languages||[])),[]).filter(a),s=(i=Object.assign({},...e.map((({options:e})=>e)),Ae),D="name",Object.entries(i).map((([e,u])=>Object.assign({[D]:e},u)))).filter((e=>a(e)&&c(e))).sort(((e,u)=>e.name===u.name?0:e.name=0||(o[t]=e[t]);return o}(e,["cliName","cliCategory","cliDescription"])})).map((u=>{u=Object.assign({},u),Array.isArray(u.default)&&(u.default=1===u.default.length?u.default[0].value:u.default.filter(a).sort(((e,u)=>Ce.compare(u.since,e.since)))[0].value),Array.isArray(u.choices)&&(u.choices=u.choices.filter((e=>a(e)&&c(e))),"parser"===u.name&&function(e,u,t){const n=new Set(e.choices.map((e=>e.value)));for(const o of u)if(o.parsers)for(const u of o.parsers)if(!n.has(u)){n.add(u);const r=t.find((e=>e.parsers&&e.parsers[u]));let s=o.name;r&&r.name&&(s+=" (plugin: ".concat(r.name,")")),e.choices.push({value:u,description:s})}}(u,r,e));const t=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[u.name])).reduce(((e,t)=>(e[t.name]=t.defaultOptions[u.name],e)),{});return Object.assign({},u,{pluginDefaults:t})}));var i,D;return{languages:r,options:s};function a(e){return u||!("since"in e)||e.since&&Ce.gte(o,e.since)}function c(e){return t||!("deprecated"in e)||e.deprecated&&Ce.lt(o,e.deprecated)}}};const{getSupportInfo:de}=fe,me=/[^\x20-\x7F]/;function ge(e){return(u,t,n)=>{const o=n&&n.backwards;if(!1===t)return!1;const{length:r}=u;let s=t;for(;s>=0&&s(t.match(s.regex)||[]).length?s.quote:r.quote}return i}function Le(e,u,t){const n='"'===u?"'":'"',o=e.replace(/\\([\S\s])|(["'])/g,((e,o,r)=>o===n?o:r===u?"\\"+r:r||(t&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return u+o+u}function Oe(e,u){(e.comments||(e.comments=[])).push(u),u.printed=!1,"JSXText"===e.type&&(u.printed=!0)}var Re={inferParserByLanguage:function(e,u){const{languages:t}=de({plugins:u.plugins}),n=t.find((({name:u})=>u.toLowerCase()===e))||t.find((({aliases:u})=>Array.isArray(u)&&u.includes(e)))||t.find((({extensions:u})=>Array.isArray(u)&&u.includes(".".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,u){const t=[];for(const n of e.split("\n"))0!==t.length&&t.push(u),t.push(n);return t},getStringWidth:function(e){return e?me.test(e)?p(e):e.length:0},getMaxContinuousCount:function(e,u){const t=e.match(new RegExp("(".concat(E(u),")+"),"g"));return null===t?0:t.reduce(((e,t)=>Math.max(e,t.length/u.length)),0)},getMinNotPresentContinuousCount:function(e,u){const t=e.match(new RegExp("(".concat(E(u),")+"),"g"));if(null===t)return 0;const n=new Map;let o=0;for(const e of t){const t=e.length/u.length;n.set(t,!0),t>o&&(o=t)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:we,getNextNonSpaceNonCommentCharacterIndex:Te,getNextNonSpaceNonCommentCharacter:function(e,u,t){return e.charAt(Te(e,u,t))},skip:ge,skipWhitespace:Be,skipSpaces:ye,skipToLineEnd:he,skipEverythingButNewLine:ke,skipInlineComment:Pe,skipTrailingComment:be,skipNewline:xe,isNextLineEmptyAfterIndex:Se,isNextLineEmpty:function(e,u,t){return Se(e,t(u))},isPreviousLineEmpty:function(e,u,t){let n=t(u)-1;return n=ye(e,n,{backwards:!0}),n=xe(e,n,{backwards:!0}),n=ye(e,n,{backwards:!0}),n!==xe(e,n,{backwards:!0})},hasNewline:ve,hasNewlineInRange:function(e,u,t){for(let n=u;n=0?"\n"===e.charAt(u+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,u){let t;if("\n"===u)t=/\n/g;else if("\r"===u)t=/\r/g;else{if("\r\n"!==u)throw new Error('Unexpected "eol" '.concat(JSON.stringify(u),"."));t=/\r\n/g}const n=e.match(t);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:je,strip:Ve,extract:Xe,print:Ue}=i,{getShebang:Ge}=Re,{normalizeEndOfLine:$e}=Me;function _e(e){const u=Ge(e);u&&(e=e.slice(u.length+1));const t=Xe(e),{pragmas:n,comments:o}=je(t);return{shebang:u,text:e,pragmas:n,comments:o}}var Je={hasPragma:function(e){const u=Object.keys(_e(e).pragmas);return u.includes("prettier")||u.includes("format")},insertPragma:function(e){const{shebang:u,text:t,pragmas:n,comments:o}=_e(e),r=Ve(t),s=Ue({pragmas:Object.assign({format:""},n),comments:o.trimStart()});return(u?"".concat(u,"\n"):"")+$e(s)+(r.startsWith("\n")?"\n":"\n\n")+r}};function qe(e,u){const{ignoreDecorators:t}=u||{};if(!t){const u=e.declaration&&e.declaration.decorators||e.decorators;if(u&&u.length>0)return qe(u[0])}return e.range?e.range[0]:e.start}function We(e){const u=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(u,We(e.typeAnnotation)):u}function ze(e,u){return qe(e)===qe(u)}var He={locStart:qe,locEnd:We,composeLoc:function(e,u=e){const t=qe(e);return[t,"number"==typeof u?t+u:We(u)]},hasSameLocStart:ze,hasSameLoc:function(e,u){return ze(e,u)&&function(e,u){return We(e)===We(u)}(e,u)}},Ke=u((function(e){!function(){function u(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function t(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:u,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return u(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var u;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;u=e.consequent;do{if("IfStatement"===u.type&&null==u.alternate)return!0;u=t(u)}while(u);return!1},trailingStatement:t}}()})),Ye=u((function(e){!function(){var u,t,n,o,r,s;function i(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],o=new Array(128),s=0;s<128;++s)o[s]=s>=97&&s<=122||s>=65&&s<=90||36===s||95===s;for(r=new Array(128),s=0;s<128;++s)r[s]=s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||36===s||95===s;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?o[e]:t.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES5:function(e){return e<128?r[e]:t.NonAsciiIdentifierPart.test(i(e))},isIdentifierStartES6:function(e){return e<128?o[e]:u.NonAsciiIdentifierStart.test(i(e))},isIdentifierPartES6:function(e){return e<128?r[e]:u.NonAsciiIdentifierPart.test(i(e))}}}()})),Ze=u((function(e){!function(){var u=Ye;function t(e,u){return!(!u&&"yield"===e)&&n(e,u)}function n(e,u){if(u&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function o(e,u){return"null"===e||"true"===e||"false"===e||t(e,u)}function r(e,u){return"null"===e||"true"===e||"false"===e||n(e,u)}function s(e){var t,n,o;if(0===e.length)return!1;if(o=e.charCodeAt(0),!u.isIdentifierStartES5(o))return!1;for(t=1,n=e.length;t=n)return!1;if(!(56320<=(r=e.charCodeAt(t))&&r<=57343))return!1;o=1024*(o-55296)+(r-56320)+65536}if(!s(o))return!1;s=u.isIdentifierPartES6}return!0}e.exports={isKeywordES5:t,isKeywordES6:n,isReservedWordES5:o,isReservedWordES6:r,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:s,isIdentifierNameES6:i,isIdentifierES5:function(e,u){return s(e)&&!o(e,u)},isIdentifierES6:function(e,u){return i(e)&&!r(e,u)}}}()}));const Qe=u((function(e,u){u.ast=Ke,u.code=Ye,u.keyword=Ze})).keyword.isIdentifierNameES5,{getLast:eu,hasNewline:uu,hasNewlineInRange:tu,skipWhitespace:nu}=Re,{locStart:ou,locEnd:ru,hasSameLocStart:su}=He,iu=new RegExp("^".concat("(?:(?=.)\\s)","*:")),Du=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function au(e,u){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>au(e,u)));const t=u(e);return"boolean"==typeof t?t:Object.keys(e).some((t=>au(e[t],u)))}function cu(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||"CallExpression"===e.type||"OptionalCallExpression"===e.type||"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type}function lu(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}const Fu=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function pu(e){return e&&Fu.has(e.type)}function Cu(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type}function Eu(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Au(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function fu(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function du(e){return!("CallExpression"!==e.type&&"OptionalCallExpression"!==e.type||"Identifier"!==e.callee.type||"async"!==e.callee.name&&"inject"!==e.callee.name&&"fakeAsync"!==e.callee.name)}function mu(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function gu(e){return"get"===e.kind||"set"===e.kind}function Bu(e){return gu(e)||su(e,e.value)}const yu=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const hu=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const ku=/^(skip|[fx]?(it|describe|test))$/;function Pu(e){return"CallExpression"===e.type||"OptionalCallExpression"===e.type}const bu=new RegExp("([ \n\r\t]+)"),xu=new RegExp("[^ \n\r\t]");function vu(e){return Cu(e)&&(xu.test(Iu(e))||!/\n/.test(Iu(e)))}function Su(e,u){if(mu(u))return Gu(u);return u.comments&&u.comments.some((u=>u.leading&&uu(e,ru(u))))}function wu(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Tu(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Iu(e){return e.extra?e.extra.raw:e.raw}const Nu={"==":!0,"!=":!0,"===":!0,"!==":!0},Lu={"*":!0,"/":!0,"%":!0},Ou={">>":!0,">>>":!0,"<<":!0};const Ru={};function Mu(e){return Ru[e]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((e,u)=>{e.forEach((e=>{Ru[e]=u}))}));const ju=new WeakMap;function Vu(e){if(ju.has(e))return ju.get(e);const u=[];return e.this&&u.push(e.this),Array.isArray(e.parameters)?u.push(...e.parameters):Array.isArray(e.params)&&u.push(...e.params),e.rest&&u.push(e.rest),ju.set(e,u),u}const Xu=new WeakMap;function Uu(e){return"prettier-ignore"===e.value.trim()}function Gu(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Uu(e)&&!e.unignore))||e.prettierIgnore)}function $u(e){return Gu(e.getValue())}var _u={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const u=e.key&&e.key.name;if("in"===u||"instanceof"===u)return!0}switch(e.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const u=e.value?e.value.async:e.async,t=e.value?e.value.generator:e.generator;return!u&&"get"!==e.kind&&"set"!==e.kind&&!(!e.computed&&!t)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const u=e.getNode();if("ClassProperty"!==u.type&&"FieldDefinition"!==u.type)return!1;const t=u.key&&u.key.name;return!("static"!==t&&"get"!==t&&"set"!==t||u.value||u.typeAnnotation)||void 0},getFunctionParameters:Vu,iterateFunctionParametersPath:function(e,u){const t=e.getValue();let n=0;const o=e=>u(e,n++);t.this&&e.call(o,"this"),Array.isArray(t.parameters)?e.each(o,"parameters"):Array.isArray(t.params)&&e.each(o,"params"),t.rest&&e.call(o,"rest")},getCallArguments:function(e){if(Xu.has(e))return Xu.get(e);const u="ImportExpression"===e.type?[e.source]:e.arguments;return Xu.set(e,u),u},iterateCallArgumentsPath:function(e,u){"ImportExpression"===e.getValue().type?e.call((e=>u(e,0)),"source"):e.each(u,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const u=Vu(e);return u.length>0&&"RestElement"===eu(u).type},getLeftSidePathName:function(e,u){if(u.expressions)return["expressions",0];if(u.left)return["left"];if(u.test)return["test"];if(u.object)return["object"];if(u.callee)return["callee"];if(u.tag)return["tag"];if(u.argument)return["argument"];if(u.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const u=e.getParentNode();return"declaration"===e.getName()&&pu(u)?u:null},getTypeScriptMappedTypeModifier:function(e,u){return"+"===e?"+"+u:"-"===e?"-"+u:u},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&lu(e[0])&&Du.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&lu(e.trailingComments[0])&&iu.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:Su,hasNakedLeftSide:cu,hasNewlineBetweenOrAfterDecorators:function(e,u){return tu(u.originalText,ou(e.decorators[0]),ru(eu(e.decorators)))||uu(u.originalText,ru(eu(e.decorators)))},hasNgSideEffect:function(e){return au(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:au,hasPrettierIgnore:function(e){return $u(e)||function(e){const u=e.getValue(),t=e.getParentNode();if(!(t&&u&&mu(u)&&mu(t)))return!1;let n=null;for(let e=t.children.indexOf(u);e>0;e--){const u=t.children[e-1];if("JSXText"!==u.type||vu(u)){n=u;break}}return n&&"JSXExpressionContainer"===n.type&&"JSXEmptyExpression"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>Uu(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!lu(e)))},hasIgnoreComment:$u,hasNodeIgnoreComment:Gu,identity:function(e){return e},isBinaryish:function(e){return yu.has(e.type)},isBlockComment:lu,isLineComment:function(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type},isPrettierIgnoreComment:Uu,isCallOrOptionalCallExpression:Pu,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const u=e.children[0];return Cu(u)&&!vu(u)},isExportDeclaration:pu,isFlowAnnotationComment:function(e,u){const t=ou(u),n=nu(e,ru(u));return!1!==n&&"/*"===e.slice(t,t+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let u=0;for(const t of e)if(fu(t)){if(u+=1,u>1)return!0}else if(Pu(t))for(const e of t.arguments)if(fu(e))return!0;return!1},isFunctionNotation:Bu,isFunctionOrArrowExpression:fu,isGetterOrSetter:gu,isJestEachTemplateLiteral:function(e,u){const t=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===u.type&&u.quasi===e&&"MemberExpression"===u.tag.type&&"Identifier"===u.tag.property.type&&"each"===u.tag.property.name&&("Identifier"===u.tag.object.type&&t.test(u.tag.object.name)||"MemberExpression"===u.tag.object.type&&"Identifier"===u.tag.object.property.type&&("only"===u.tag.object.property.name||"skip"===u.tag.object.property.name)&&"Identifier"===u.tag.object.object.type&&t.test(u.tag.object.object.name))},isJSXNode:mu,isJSXWhitespaceExpression:function(e){return"JSXExpressionContainer"===e.type&&Cu(e.expression)&&" "===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const u=e.getParentNode();if(!u)return!0;const t=e.getValue(),n=(u.body||u.consequent).filter((e=>"EmptyStatement"!==e.type));return n[n.length-1]===t},isLiteral:Cu,isLongCurriedCallExpression:function(e){const u=e.getValue(),t=e.getParentNode();return Pu(u)&&Pu(t)&&t.callee===u&&u.arguments.length>t.arguments.length&&t.arguments.length>0},isSimpleCallArgument:function e(u,t){if(t>=2)return!1;const n=u=>e(u,t+1),o="Literal"===u.type&&"regex"in u&&u.regex.pattern||"RegExpLiteral"===u.type&&u.pattern;return!(o&&o.length>5)&&("Literal"===u.type||"BigIntLiteral"===u.type||"DecimalLiteral"===u.type||"BooleanLiteral"===u.type||"NullLiteral"===u.type||"NumericLiteral"===u.type||"RegExpLiteral"===u.type||"StringLiteral"===u.type||"Identifier"===u.type||"ThisExpression"===u.type||"Super"===u.type||"PrivateName"===u.type||"ArgumentPlaceholder"===u.type||"Import"===u.type||("TemplateLiteral"===u.type?u.expressions.every(n):"ObjectExpression"===u.type?u.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===u.type?u.elements.every((e=>null===e||n(e))):"ImportExpression"===u.type?n(u.source):"CallExpression"===u.type||"OptionalCallExpression"===u.type||"NewExpression"===u.type?e(u.callee,t)&&u.arguments.every(n):"MemberExpression"===u.type||"OptionalMemberExpression"===u.type?e(u.object,t)&&e(u.property,t):"UnaryExpression"!==u.type||"!"!==u.operator&&"-"!==u.operator?"TSNonNullExpression"===u.type&&e(u.expression,t):e(u.argument,t)))},isMeaningfulJSXText:vu,isMemberExpressionChain:function e(u){return("MemberExpression"===u.type||"OptionalMemberExpression"===u.type)&&("Identifier"===u.object.type||e(u.object))},isMemberish:function(e){return"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"BindExpression"===e.type&&Boolean(e.object)},isNgForOf:function(e,u,t){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===u&&"NGMicrosyntaxLet"===t.body[0].type&&null===t.body[0].value},isNumericLiteral:Eu,isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Bu(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!hu.has(e.type))},isSimpleNumber:wu,isSimpleTemplateLiteral:function(e){let u="expressions";"TSTemplateLiteralType"===e.type&&(u="types");const t=e[u];return 0!==t.length&&t.every((e=>{if(e.comments)return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if("MemberExpression"===e.type||"OptionalMemberExpression"===e.type){let u=e;for(;"MemberExpression"===u.type||"OptionalMemberExpression"===u.type;){if("Identifier"!==u.property.type&&"Literal"!==u.property.type&&"StringLiteral"!==u.property.type&&"NumericLiteral"!==u.property.type)return!1;if(u=u.object,u.comments)return!1}return"Identifier"===u.type||"ThisExpression"===u.type}return!1}))},isStringLiteral:Au,isStringPropSafeToUnquote:function(e,u){return"json"!==u.parser&&Au(e.key)&&Iu(e.key).slice(1,-1)===e.key.value&&(Qe(e.key.value)&&!(("typescript"===u.parser||"babel-ts"===u.parser)&&"ClassProperty"===e.type)||wu(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===u.parser||"espree"===u.parser||"meriyah"===u.parser))},isTemplateOnItsOwnLine:function(e,u){return("TemplateLiteral"===e.type&&Tu(e)||"TaggedTemplateExpression"===e.type&&Tu(e.quasi))&&!uu(u,ou(e),{backwards:!0})},isTestCall:function e(u,t){if("CallExpression"!==u.type)return!1;if(1===u.arguments.length){if(du(u)&&t&&e(t))return fu(u.arguments[0]);if("Identifier"===(n=u).callee.type&&/^(before|after)(Each|All)$/.test(n.callee.name)&&1===n.arguments.length)return du(u.arguments[0])}else if((2===u.arguments.length||3===u.arguments.length)&&("Identifier"===u.callee.type&&ku.test(u.callee.name)||function(e){return("MemberExpression"===e.callee.type||"OptionalMemberExpression"===e.callee.type)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&ku.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(u))&&(function(e){return"TemplateLiteral"===e.type}(u.arguments[0])||Au(u.arguments[0])))return!(u.arguments[2]&&!Eu(u.arguments[2]))&&((2===u.arguments.length?fu(u.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(u.arguments[1])&&Vu(u.arguments[1]).length<=1)||du(u.arguments[1]));var n;return!1},isTheOnlyJSXElementInMarkdown:function(e,u){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const t=u.getNode();if(!t.expression||!mu(t.expression))return!1;const n=u.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||su(e,e.typeAnnotation))},matchJsxWhitespaceRegex:bu,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const u=eu(e.comments.filter((e=>!e.leading&&!e.trailing)));return u&&!lu(u)},rawText:Iu,returnArgumentHasLeadingComment:function(e,u){if(Su(e.originalText,u))return!0;if(cu(u)){let n,o=u;for(;n=(t=o).expressions?t.expressions[0]:t.left||t.test||t.callee||t.object||t.tag||t.argument||t.expression;)if(o=n,Su(e.originalText,o))return!0}var t;return!1},shouldPrintComma:function(e,u="es5"){return"es5"===e.trailingComma&&"es5"===u||"all"===e.trailingComma&&("all"===u||"es5"===u)},isBitwiseOperator:function(e){return!!Ou[e]||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,u){return Mu(u)===Mu(e)&&("**"!==e&&((!Nu[e]||!Nu[u])&&(!("%"===u&&Lu[e]||"%"===e&&Lu[u])&&((u===e||!Lu[u]||!Lu[e])&&(!Ou[e]||!Ou[u])))))},startsWithNoLookaheadToken:function e(u,t){switch((u=function(e){for(;e.left;)e=e.left;return e}(u)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return t;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(u.object,t);case"TaggedTemplateExpression":return"FunctionExpression"!==u.tag.type&&e(u.tag,t);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==u.callee.type&&e(u.callee,t);case"ConditionalExpression":return e(u.test,t);case"UpdateExpression":return!u.prefix&&e(u.argument,t);case"BindExpression":return u.object&&e(u.object,t);case"SequenceExpression":return e(u.expressions[0],t);case"TSAsExpression":return e(u.expression,t);default:return!1}},getPrecedence:Mu};const{getLast:Ju,hasNewline:qu,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Wu,getNextNonSpaceNonCommentCharacter:zu,hasNewlineInRange:Hu,addLeadingComment:Ku,addTrailingComment:Yu,addDanglingComment:Zu,getNextNonSpaceNonCommentCharacterIndex:Qu}=Re,{isBlockComment:et,getFunctionParameters:ut,isPrettierIgnoreComment:tt,isJSXNode:nt,hasFlowShorthandAnnotationComment:ot,hasFlowAnnotationComment:rt,hasIgnoreComment:st}=_u,{locStart:it,locEnd:Dt}=He;function at(e,u){const t=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));t?Ku(t,u):Zu(e,u)}function ct(e,u){"BlockStatement"===e.type?at(e,u):Ku(e,u)}function lt(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||"IfStatement"!==n.type||!o)return!1;return")"===zu(u,e,Dt)?(Yu(t,e),!0):t===n.consequent&&o===n.alternate?("BlockStatement"===t.type?Yu(t,e):Zu(n,e),!0):"BlockStatement"===o.type?(at(o,e),!0):"IfStatement"===o.type?(ct(o.consequent,e),!0):n.consequent===o&&(Ku(o,e),!0)}function Ft(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(!n||"WhileStatement"!==n.type||!o)return!1;return")"===zu(u,e,Dt)?(Yu(t,e),!0):"BlockStatement"===o.type?(at(o,e),!0):n.body===o&&(Ku(o,e),!0)}function pt(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;return!(!t||"TryStatement"!==t.type&&"CatchClause"!==t.type||!n)&&("CatchClause"===t.type&&u?(Yu(u,e),!0):"BlockStatement"===n.type?(at(n,e),!0):"TryStatement"===n.type?(ct(n.finalizer,e),!0):"CatchClause"===n.type&&(ct(n.body,e),!0))}function Ct(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&("ClassDeclaration"===t.type||"ClassExpression"===t.type||"DeclareClass"===t.type||"DeclareInterface"===t.type||"InterfaceDeclaration"===t.type||"TSInterfaceDeclaration"===t.type)){if(t.decorators&&t.decorators.length>0&&(!n||"Decorator"!==n.type))return Yu(t.decorators[t.decorators.length-1],e),!0;if(t.body&&n===t.body)return at(t.body,e),!0;if(n)for(const o of["implements","extends","mixins"])if(t[o]&&n===t[o][0])return!u||u!==t.id&&u!==t.typeParameters&&u!==t.superClass?Zu(t,e,o):Yu(u,e),!0}return!1}function Et(e,u){const{precedingNode:t,enclosingNode:n}=e;return(n&&t&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===t.type&&n.key===t&&":"!==zu(u,t,Dt)||!(!t||!n||"Decorator"!==t.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"FieldDefinition"!==n.type&&"TSAbstractClassProperty"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(Yu(t,e),!0)}function At(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e;if(t&&"FunctionTypeParam"===t.type&&n&&"FunctionTypeAnnotation"===n.type&&o&&"FunctionTypeParam"!==o.type)return Yu(t,e),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&n&&Bt(n)&&")"===zu(u,e,Dt))return Yu(t,e),!0;if(n&&"FunctionDeclaration"===n.type&&o&&"BlockStatement"===o.type){const t=(()=>{const e=ut(n);if(0!==e.length)return Wu(u,Dt(Ju(e)));const t=Wu(u,Dt(n.id));return!1!==t&&Wu(u,t+1)})();if(it(e)>t)return at(o,e),!0}return!1}function ft(e){const{enclosingNode:u}=e;return!(!u||"ImportSpecifier"!==u.type)&&(Ku(u,e),!0)}function dt(e){const{enclosingNode:u}=e;return!(!u||"LabeledStatement"!==u.type)&&(Ku(u,e),!0)}function mt(e,u,t){const{enclosingNode:n}=e;return u&&u.body&&0===u.body.length?(t?Zu(u,e):Ku(u,e),!0):!(!n||"Program"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(t?Zu(n,e):Ku(n,e),!0)}function gt(e){const{enclosingNode:u,followingNode:t}=e;if(tt(e)&&u&&"TSMappedType"===u.type&&t&&"TSTypeParameter"===t.type&&t.constraint)return u.prettierIgnore=!0,e.unignore=!0,!0}function Bt(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function yt(e){return et(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var ht={handleOwnLineComment:function(e,u,t,n,o){return gt(e)||At(e,u)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&("MemberExpression"===u.type||"OptionalMemberExpression"===u.type)&&t&&"Identifier"===t.type)return Ku(u,e),!0;return!1}(e)||lt(e,u)||Ft(e,u)||pt(e)||Ct(e)||ft(e)||function(e){const{enclosingNode:u}=e;if(u&&("ForInStatement"===u.type||"ForOfStatement"===u.type))return Ku(u,e),!0;return!1}(e)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(t&&("UnionTypeAnnotation"===t.type||"TSUnionType"===t.type))return tt(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!u&&(Yu(u,e),!0);n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&tt(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||mt(e,n,o)||function(e,u){const{precedingNode:t,enclosingNode:n}=e;if(t&&"ImportSpecifier"===t.type&&n&&"ImportDeclaration"===n.type&&qu(u,Dt(e)))return Yu(t,e),!0;return!1}(e,u)||function(e){const{enclosingNode:u}=e;if(u&&"AssignmentPattern"===u.type)return Ku(u,e),!0;return!1}(e)||Et(e,u)||dt(e)},handleEndOfLineComment:function(e,u,t,n,o){return function(e){const{followingNode:u}=e;if(u&&yt(e))return Ku(u,e),!0;return!1}(e)||At(e,u)||function(e,u){const{precedingNode:t,enclosingNode:n,followingNode:o}=e,r=t&&!Hu(u,Dt(t),it(e));if((!t||!r)&&n&&("ConditionalExpression"===n.type||"TSConditionalType"===n.type)&&o)return Ku(o,e),!0;return!1}(e,u)||ft(e)||lt(e,u)||Ft(e,u)||pt(e)||Ct(e)||dt(e)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&u&&t.callee===u&&t.arguments.length>0)return Ku(t.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&("Property"===u.type||"ObjectProperty"===u.type))return Ku(u,e),!0;return!1}(e)||mt(e,n,o)||function(e){const{enclosingNode:u}=e;if(u&&"TypeAlias"===u.type)return Ku(u,e),!0;return!1}(e)||function(e){const{enclosingNode:u,followingNode:t}=e;if(u&&("VariableDeclarator"===u.type||"AssignmentExpression"===u.type)&&t&&("ObjectExpression"===t.type||"ArrayExpression"===t.type||"TemplateLiteral"===t.type||"TaggedTemplateExpression"===t.type||et(e)))return Ku(t,e),!0;return!1}(e)},handleRemainingComment:function(e,u,t,n,o){return!!(gt(e)||lt(e,u)||Ft(e,u)||function(e){const{precedingNode:u,enclosingNode:t}=e;if(t&&("ObjectProperty"===t.type||"Property"===t.type)&&t.shorthand&&t.key===u&&"AssignmentPattern"===t.value.type)return Yu(t.value.left,e),!0;return!1}(e)||function(e,u){if(")"!==zu(u,e,Dt))return!1;const{enclosingNode:t}=e;if(t&&(Bt(t)&&0===ut(t).length||("CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type)&&0===t.arguments.length))return Zu(t,e),!0;if(t&&"MethodDefinition"===t.type&&0===ut(t.value).length)return Zu(t.value,e),!0;return!1}(e,u)||Et(e,u)||mt(e,n,o)||function(e,u){const{enclosingNode:t}=e;if(!t||"ArrowFunctionExpression"!==t.type)return!1;const n=Qu(u,e,Dt);if(!1!==n&&"=>"===u.slice(n,n+2))return Zu(t,e),!0;return!1}(e,u)||function(e,u){if("("!==zu(u,e,Dt))return!1;const{precedingNode:t,enclosingNode:n}=e;if(t&&n&&("FunctionDeclaration"===n.type||"FunctionExpression"===n.type||"ClassMethod"===n.type||"MethodDefinition"===n.type||"ObjectMethod"===n.type))return Yu(t,e),!0;return!1}(e,u)||function(e){const{precedingNode:u,enclosingNode:t,followingNode:n}=e;if(!t||"TSMappedType"!==t.type)return!1;if(n&&"TSTypeParameter"===n.type&&n.name)return Ku(n.name,e),!0;if(u&&"TSTypeParameter"===u.type&&u.constraint)return Yu(u.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:u}=e;if(u&&("ContinueStatement"===u.type||"BreakStatement"===u.type)&&!u.label)return Yu(u,e),!0;return!1}(e)||function(e,u){const{enclosingNode:t,followingNode:n}=e;if(!n&&t&&("TSMethodSignature"===t.type||"TSDeclareFunction"===t.type||"TSAbstractMethodDefinition"===t.type)&&";"===zu(u,e,Dt))return Yu(t,e),!0;return!1}(e,u))},hasLeadingComment:function(e,u=(()=>!0)){return e.leadingComments?e.leadingComments.some(u):!!e.comments&&e.comments.some((e=>e.leading&&u(e)))},isTypeCastComment:yt,getGapRegex:function(e){if(e&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type)return/^[\s&(|]*$/},getCommentChildNodes:function(e,u){if(("typescript"===u.parser||"flow"===u.parser||"espree"===u.parser||"meriyah"===u.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===ut(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const u=e.getValue(),t=e.getParentNode();return(u&&(nt(u)||ot(u)||t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&(rt(u.leadingComments)||rt(u.trailingComments)))||t&&("JSXSpreadAttribute"===t.type||"JSXSpreadChild"===t.type||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type||("ClassDeclaration"===t.type||"ClassExpression"===t.type)&&t.superClass===u))&&(!st(e)||"UnionTypeAnnotation"===t.type||"TSUnionType"===t.type)}};const{getLast:kt,getNextNonSpaceNonCommentCharacter:Pt,getShebang:bt}=Re,{composeLoc:xt,locStart:vt,locEnd:St}=He,{isTypeCastComment:wt}=ht;function Tt(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=Tt(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=Tt(e.object)):"TSNonNullExpression"===e.type&&(e.expression=Tt(e.expression)),e}function It(e,u){let t;if(Array.isArray(e))t=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;t=Object.entries(e)}for(const[n,o]of t)e[n]=It(o,u);return Array.isArray(e)?e:u(e)||e}function Nt(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Lt(e){return Nt(e)?Lt({type:"LogicalExpression",operator:e.operator,left:Lt({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:xt(e.left,e.right.left)}),right:e.right.right,range:xt(e)}):e}var Ot=function(u,t){if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser||function(e,u){const t=bt(u.originalText);t&&e.comments.unshift({type:"Line",value:t.slice(2),range:[0,t.length]})}(u,t),"typescript"===t.parser&&t.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:o}=t.tsParseResult;u=It(u,(u=>{const t=n.get(u);if(!t)return;const r=t.decorators;if(!Array.isArray(r))return;const s=o.get(t);if(s!==u)return;const i=s.decorators;if(!Array.isArray(i)||i.length!==r.length||r.some((e=>{const u=o.get(e);return!u||!i.includes(u)}))){const{start:u,end:t}=s.loc;throw e("Leading decorators must be attached to a class declaration",{start:{line:u.line,column:u.column+1},end:{line:t.line,column:t.column+1}})}}))}if("typescript"!==t.parser&&"flow"!==t.parser&&"espree"!==t.parser&&"meriyah"!==t.parser){const e=new Set;u=It(u,(u=>{u.leadingComments&&u.leadingComments.some(wt)&&e.add(vt(u))})),u=It(u,(u=>{if("ParenthesizedExpression"===u.type){const{expression:t}=u;if("TypeCastExpression"===t.type)return t.range=u.range,t;const n=vt(u);if(!e.has(n))return t.extra=Object.assign({},t.extra,{parenthesized:!0}),t}}))}return u=It(u,(e=>{switch(e.type){case"ChainExpression":return Tt(e.expression);case"LogicalExpression":if(Nt(e))return Lt(e);break;case"VariableDeclaration":{const u=kt(e.declarations);u&&u.init&&function(e,u){if(";"===t.originalText[St(u)])return;e.range=xt(e,u)}(e,u);break}case"TSParenthesizedType":return e.typeAnnotation.range=xt(e),e.typeAnnotation;case"TSUnionType":case"TSIntersectionType":if(1===e.types.length){const[u]=e.types;return u.range=xt(e),u}break;case"TSTypeParameter":"string"==typeof e.name&&(e.name={type:"Identifier",name:e.name,range:xt(e,e.name.length)});break;case"SequenceExpression":{const u=kt(e.expressions);St(e)>St(u)&&(e.range=xt(e,u));break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===Pt(t.originalText,e.key,St)&&(e.optional=!0)}}))};const Rt={0:"Unexpected token",28:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"Unexpected token `#`",4:"Illegal Unicode escape sequence",5:"Invalid code point %0",6:"Invalid hexadecimal escape sequence",8:"Octal literals are not allowed in strict mode",7:"Decimal integer literals with a leading zero are forbidden in strict mode",9:"Expected number in radix %0",145:"Invalid left-hand side assignment to a destructible right-hand side",10:"Non-number found after exponent indicator",11:"Invalid BigIntLiteral",12:"No identifiers allowed directly after numeric literal",13:"Escapes \\8 or \\9 are not syntactically valid escapes",14:"Unterminated string literal",15:"Unterminated template literal",16:"Multiline comment was not closed properly",17:"The identifier contained dynamic unicode escape that was not closed",18:"Illegal character '%0'",19:"Missing hexadecimal digits",20:"Invalid implicit octal",21:"Invalid line break in string literal",22:"Only unicode escapes are legal in identifier names",23:"Expected '%0'",24:"Invalid left-hand side in assignment",25:"Invalid left-hand side in async arrow",26:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',27:"Member access on super must be in a method",29:"Await expression not allowed in formal parameter",30:"Yield expression not allowed in formal parameter",92:"Unexpected token: 'escaped keyword'",31:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",119:"Async functions can only be declared at the top level or inside a block",32:"Unterminated regular expression",33:"Unexpected regular expression flag",34:"Duplicate regular expression flag '%0'",35:"%0 functions must have exactly %1 argument%2",36:"Setter function argument must not be a rest parameter",37:"%0 declaration must have a name in this context",38:"Function name may not contain any reserved words or be eval or arguments in strict mode",39:"The rest operator is missing an argument",40:"A getter cannot be a generator",41:"A computed property name must be followed by a colon or paren",130:"Object literal keys that are strings or numbers must be a method or have a colon",43:"Found `* async x(){}` but this should be `async * x(){}`",42:"Getters and setters can not be generators",44:"'%0' can not be generator method",45:"No line break is allowed after '=>'",46:"The left-hand side of the arrow can only be destructed through assignment",47:"The binding declaration is not destructible",48:"Async arrow can not be followed by new expression",49:"Classes may not have a static property named 'prototype'",50:"Class constructor may not be a %0",51:"Duplicate constructor method in class",52:"Invalid increment/decrement operand",53:"Invalid use of `new` keyword on an increment/decrement expression",54:"`=>` is an invalid assignment target",55:"Rest element may not have a trailing comma",56:"Missing initializer in %0 declaration",57:"'for-%0' loop head declarations can not have an initializer",58:"Invalid left-hand side in for-%0 loop: Must have a single binding",59:"Invalid shorthand property initializer",60:"Property name __proto__ appears more than once in object literal",61:"Let is disallowed as a lexically bound name",62:"Invalid use of '%0' inside new expression",63:"Illegal 'use strict' directive in function with non-simple parameter list",64:'Identifier "let" disallowed as left-hand side expression in strict mode',65:"Illegal continue statement",66:"Illegal break statement",67:"Cannot have `let[...]` as a var name in strict mode",68:"Invalid destructuring assignment target",69:"Rest parameter may not have a default initializer",70:"The rest argument must the be last parameter",71:"Invalid rest argument",73:"In strict mode code, functions can only be declared at top level or inside a block",74:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",75:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",76:"Class declaration can't appear in single-statement context",77:"Invalid left-hand side in for-%0",78:"Invalid assignment in for-%0",79:"for await (... of ...) is only valid in async functions and async generators",80:"The first token after the template expression should be a continuation of the template",82:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",81:"`let \n [` is a restricted production at the start of a statement",83:"Catch clause requires exactly one parameter, not more (and no trailing comma)",84:"Catch clause parameter does not support default values",85:"Missing catch or finally after try",86:"More than one default clause in switch statement",87:"Illegal newline after throw",88:"Strict mode code may not include a with statement",89:"Illegal return statement",90:"The left hand side of the for-header binding declaration is not destructible",91:"new.target only allowed within functions",92:"'Unexpected token: 'escaped keyword'",93:"'#' not followed by identifier",99:"Invalid keyword",98:"Can not use 'let' as a class name",97:"'A lexical declaration can't define a 'let' binding",96:"Can not use `let` as variable name in strict mode",94:"'%0' may not be used as an identifier in this context",95:"Await is only valid in async functions",100:"The %0 keyword can only be used with the module goal",101:"Unicode codepoint must not be greater than 0x10FFFF",102:"%0 source must be string",103:"Only a identifier can be used to indicate alias",104:"Only '*' or '{...}' can be imported after default",105:"Trailing decorator may be followed by method",106:"Decorators can't be used with a constructor",107:"'%0' may not be used as an identifier in this context",108:"HTML comments are only allowed with web compatibility (Annex B)",109:"The identifier 'let' must not be in expression position in strict mode",110:"Cannot assign to `eval` and `arguments` in strict mode",111:"The left-hand side of a for-of loop may not start with 'let'",112:"Block body arrows can not be immediately invoked without a group",113:"Block body arrows can not be immediately accessed without a group",114:"Unexpected strict mode reserved word",115:"Unexpected eval or arguments in strict mode",116:"Decorators must not be followed by a semicolon",117:"Calling delete on expression not allowed in strict mode",118:"Pattern can not have a tail",120:"Can not have a `yield` expression on the left side of a ternary",121:"An arrow function can not have a postfix update operator",122:"Invalid object literal key character after generator star",123:"Private fields can not be deleted",125:"Classes may not have a field called constructor",124:"Classes may not have a private element named constructor",126:"A class field initializer may not contain arguments",127:"Generators can only be declared at the top level or inside a block",128:"Async methods are a restricted production and cannot have a newline following it",129:"Unexpected character after object literal property name",131:"Invalid key token",132:"Label '%0' has already been declared",133:"continue statement must be nested within an iteration statement",134:"Undefined label '%0'",135:"Trailing comma is disallowed inside import(...) arguments",136:"import() requires exactly one argument",137:"Cannot use new with import(...)",138:"... is not allowed in import()",139:"Expected '=>'",140:"Duplicate binding '%0'",141:"Cannot export a duplicate name '%0'",144:"Duplicate %0 for-binding",142:"Exported binding '%0' needs to refer to a top-level declared variable",143:"Unexpected private field",147:"Numeric separators are not allowed at the end of numeric literals",146:"Only one underscore is allowed as numeric separator",148:"JSX value should be either an expression or a quoted JSX text",149:"Expected corresponding JSX closing tag for %0",150:"Adjacent JSX elements must be wrapped in an enclosing tag",151:"JSX attributes must only be assigned a non-empty 'expression'",152:"'%0' has already been declared",153:"'%0' shadowed a catch clause binding",154:"Dot property must be an identifier",155:"Encountered invalid input after spread/rest argument",156:"Catch without try",157:"Finally without try",158:"Expected corresponding closing tag for JSX fragment",159:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",160:"Invalid tagged template on optional chain",161:"Invalid optional chain from super property",162:"Invalid optional chain from new expression",163:'Cannot use "import.meta" outside a module',164:"Leading decorators must be attached to a class declaration"};class Mt extends SyntaxError{constructor(e,u,t,n,...o){const r="["+u+":"+t+"]: "+Rt[n].replace(/%(\d+)/g,((e,u)=>o[u]));super("".concat(r)),this.index=e,this.line=u,this.column=t,this.description=r,this.loc={line:u,column:t}}}function jt(e,u,...t){throw new Mt(e.index,e.line,e.column,u,...t)}function Vt(e){throw new Mt(e.index,e.line,e.column,e.type,e.params)}function Xt(e,u,t,n,...o){throw new Mt(e,u,t,n,...o)}function Ut(e,u,t,n){throw new Mt(e,u,t,n)}const Gt=((e,u)=>{const t=new Uint32Array(104448);let n=0,o=0;for(;n<3540;){const r=e[n++];if(r<0)o-=r;else{let s=e[n++];2&r&&(s=u[s]),1&r?t.fill(s,o,o+=e[n++]):t[o++]=s}}return t})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]),$t=[126,126,126,126,126,126,126,126,126,125,133,125,125,127,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,125,16842797,134283267,128,208897,8457012,8455748,134283267,67174411,16,8457011,25233967,18,25233968,67108877,8457013,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456255,1077936157,8456256,22,130,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,134,20,8455494,208897,129,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455237,1074790415,16842798,126];function _t(e,u){if(e.flags=1^(1|e.flags),e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=Jt(e,u,0),e.onToken&&1048576!==e.token){const u={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(function(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 129:return"TemplateLiteral";default:return 143360==(143360&e)?"Identifier":4096==(4096&e)?"Keyword":"Punctuator"}}(e.token),e.tokenPos,e.index,u)}}function Jt(e,u,t){const n=0===e.index,o=e.source;let r=e.index,s=e.line,i=e.column;for(;e.index=e.end)return 8457011;const u=e.currentChar;return 61===u?(Kt(e),4194340):42!==u?8457011:61!==Kt(e)?8457270:(Kt(e),4194337)}case 8455494:return 61!==Kt(e)?8455494:(Kt(e),4194343);case 25233967:{Kt(e);const u=e.currentChar;return 43===u?(Kt(e),33619995):61===u?(Kt(e),4194338):25233967}case 25233968:{Kt(e);const D=e.currentChar;if(45===D){if(Kt(e),(1&t||n)&&62===e.currentChar){0==(256&u)&&jt(e,108),Kt(e),t=Wt(e,o,t,u,3,r,s,i),r=e.tokenPos,s=e.linePos,i=e.colPos;continue}return 33619996}return 61===D?(Kt(e),4194339):25233968}case 8457013:if(Kt(e),e.index=48&&l<=57)return dn(e,u,80);if(46===l){const u=e.index+1;if(u=48&&u<=57)))return Kt(e),67108988}return 22}}}else{if((8232^a)<=1){t=-5&t|1,Qt(e);continue}if(55296==(64512&a)||0!=(1&Gt[34816+(a>>>5)]>>>a))return 56320==(64512&a)&&(a=(1023&a)<<10|1023&a|65536,0==(1&Gt[0+(a>>>5)]>>>a)&&jt(e,18,en(a)),e.index++,e.currentChar=a),e.column++,e.tokenValue="",Fn(e,u,0,0);if(160===(D=a)||65279===D||133===D||5760===D||D>=8192&&D<=8203||8239===D||8287===D||12288===D||8201===D||65519===D){Kt(e);continue}jt(e,18,en(a))}}var D;return 1048576}const qt=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function Wt(e,u,t,n,o,r,s,i){return 2048&n&&jt(e,0),zt(e,u,t,o,r,s,i)}function zt(e,u,t,n,o,r,s){const{index:i}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index>>5)]>>>u)&&jt(e,18,en(u)),e.index++,e.column++,1)}function Zt(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,0==(4&u)&&(e.column=0,e.line++)}function Qt(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function en(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(1023&e)}function un(e){return e<65?e-48:e-65+10&15}const tn=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],nn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],on=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function rn(e){return e<=127?nn[e]:1&Gt[34816+(e>>>5)]>>>e}function sn(e){return e<=127?on[e]:1&Gt[0+(e>>>5)]>>>e||8204===e||8205===e}const Dn=["end of source","identifier","number","string","regular expression","false","true","null","template continuation","template tail","=>","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],an=Object.create(null,{this:{value:86110},function:{value:86103},if:{value:20568},return:{value:20571},var:{value:86087},else:{value:20562},for:{value:20566},new:{value:86106},in:{value:8738865},typeof:{value:16863274},while:{value:20577},case:{value:20555},break:{value:20554},try:{value:20576},catch:{value:20556},delete:{value:16863275},throw:{value:86111},switch:{value:86109},continue:{value:20558},default:{value:20560},instanceof:{value:8476722},do:{value:20561},void:{value:16863276},finally:{value:20565},async:{value:143468},await:{value:209005},class:{value:86093},const:{value:86089},constructor:{value:12398},debugger:{value:20559},export:{value:20563},extends:{value:20564},false:{value:86021},from:{value:12401},get:{value:12399},implements:{value:36963},import:{value:86105},interface:{value:36964},let:{value:241736},null:{value:86023},of:{value:274546},package:{value:36965},private:{value:36966},protected:{value:36967},public:{value:36968},set:{value:12400},static:{value:36969},super:{value:86108},true:{value:86022},with:{value:20578},yield:{value:241770},enum:{value:20595},eval:{value:537079924},as:{value:12395},arguments:{value:537079925},target:{value:143491},meta:{value:143492}});function cn(e,u,t){for(;on[Kt(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),92!==e.currentChar&&e.currentChar<126?an[e.tokenValue]||208897:Fn(e,u,0,t)}function ln(e,u){const t=Cn(e);return sn(t)||jt(e,4),e.tokenValue=en(t),Fn(e,u,1,4&tn[t])}function Fn(e,u,t,n){let o=e.index;for(;e.index=2&&r<=11){const n=an[e.tokenValue];return void 0===n?208897:t?1024&u?209005===n&&0==(4196352&u)?n:36969===n||36864==(36864&n)?119:118:1073741824&u&&0==(8192&u)&&20480==(20480&n)?n:241770===n?1073741824&u?143480:2097152&u?118:n:143468===n&&1073741824&u?143480:36864==(36864&n)||209005===n&&0==(4194304&u)?n:118:n}return 208897}function pn(e){return rn(Kt(e))||jt(e,93),128}function Cn(e){return 117!==e.source.charCodeAt(e.index+1)&&jt(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),function(e){let u=0;const t=e.currentChar;if(123===t){const t=e.index-2;for(;64&tn[Kt(e)];)u=u<<4|un(e.currentChar),u>1114111&&Ut(t,e.line,e.index+1,101);return 125!==e.currentChar&&Ut(t,e.line,e.index-1,6),Kt(e),u}0==(64&tn[t])&&jt(e,6);const n=e.source.charCodeAt(e.index+1);0==(64&tn[n])&&jt(e,6);const o=e.source.charCodeAt(e.index+2);0==(64&tn[o])&&jt(e,6);const r=e.source.charCodeAt(e.index+3);0==(64&tn[r])&&jt(e,6);return u=un(t)<<12|un(n)<<8|un(o)<<4|un(r),e.currentChar=e.source.charCodeAt(e.index+=4),u}(e)}function En(e,u,t){const{index:n}=e;let o="",r=Kt(e),s=e.index;for(;0==(8&tn[r]);){if(r===t)return o+=e.source.slice(s,e.index),Kt(e),512&u&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=o,134283267;if(8==(8&r)&&92===r){if(o+=e.source.slice(s,e.index),r=Kt(e),r<127||8232===r||8233===r){const t=An(e,u,r);t>=0?o+=en(t):fn(e,t,0)}else o+=en(r);s=e.index+1}e.index>=e.end&&jt(e,14),r=Kt(e)}jt(e,14)}function An(e,u,t){switch(t){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:u}{if(0==(64&tn[u]))return-4;const t=e.source.charCodeAt(e.index+1);if(0==(64&tn[t]))return-4;const n=e.source.charCodeAt(e.index+2);if(0==(64&tn[n]))return-4;const o=e.source.charCodeAt(e.index+3);return 0==(64&tn[o])?-4:(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),un(u)<<12|un(t)<<8|un(n)<<4|un(o))}}case 56:case 57:if(0==(256&u))return-3;default:return t}}function fn(e,u,t){switch(u){case-1:return;case-2:jt(e,t?2:1);case-3:jt(e,13);case-4:jt(e,6);case-5:jt(e,101)}}function dn(e,u,t){let n=e.currentChar,o=0,r=9,s=64&t?0:1,i=0,D=0;if(64&t)o="."+mn(e,n),n=e.currentChar,110===n&&jt(e,11);else{if(48===n)if(n=Kt(e),120==(32|n)){for(t=136,n=Kt(e);4160&tn[n];)95!==n?(D=1,o=16*o+un(n),i++,n=Kt(e)):(D||jt(e,146),D=0,n=Kt(e));(i<1||!D)&&jt(e,i<1?19:147)}else if(111==(32|n)){for(t=132,n=Kt(e);4128&tn[n];)95!==n?(D=1,o=8*o+(n-48),i++,n=Kt(e)):(D||jt(e,146),D=0,n=Kt(e));(i<1||!D)&&jt(e,i<1?0:147)}else if(98==(32|n)){for(t=130,n=Kt(e);4224&tn[n];)95!==n?(D=1,o=2*o+(n-48),i++,n=Kt(e)):(D||jt(e,146),D=0,n=Kt(e));(i<1||!D)&&jt(e,i<1?0:147)}else if(32&tn[n])for(1024&u&&jt(e,1),t=1;16&tn[n];){if(512&tn[n]){t=32,s=0;break}o=8*o+(n-48),n=Kt(e)}else 512&tn[n]?(1024&u&&jt(e,1),e.flags|=64,t=32):95===n&&jt(e,0);if(48&t){if(s){for(;r>=0&&4112&tn[n];)95!==n?(D=0,o=10*o+(n-48),n=Kt(e),--r):(n=Kt(e),(95===n||32&t)&&Ut(e.index,e.line,e.index+1,146),D=1);if(D&&Ut(e.index,e.line,e.index+1,147),r>=0&&!rn(n)&&46!==n)return e.tokenValue=o,512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}o+=mn(e,n),n=e.currentChar,46===n&&(95===Kt(e)&&jt(e,0),t=64,o+="."+mn(e,e.currentChar),n=e.currentChar)}}const a=e.index;let c=0;if(110===n&&128&t)c=1,n=Kt(e);else if(101==(32|n)){n=Kt(e),256&tn[n]&&(n=Kt(e));const{index:u}=e;(16&tn[n])<1&&jt(e,10),o+=e.source.substring(a,u)+mn(e,n),n=e.currentChar}return(e.index126)o+=en(r);else{const t=An(e,1024|u,r);if(t>=0)o+=en(t);else{if(-1!==t&&65536&u){o=void 0,r=Bn(e,r),r<0&&(n=67174408);break}fn(e,t,1)}}else e.index=e.end&&jt(e,15),r=Kt(e)}return Kt(e),e.tokenValue=o,e.tokenRaw=e.source.slice(t+1,e.index-(67174409===n?1:2)),n}function Bn(e,u){for(;96!==u;){switch(u){case 36:{const t=e.index+1;if(t=e.end&&jt(e,15),u=Kt(e)}return u}function yn(e,u){return e.index>=e.end&&jt(e,0),e.index--,e.column--,gn(e,u)}function hn(e,u){const t=e.index;let n=0;e:for(;;){const u=e.currentChar;if(Kt(e),1&n)n&=-2;else switch(u){case 47:if(n)break;break e;case 92:n|=1;break;case 91:n|=2;break;case 93:n&=1;break;case 13:case 10:case 8232:case 8233:jt(e,32)}if(e.index>=e.source.length)return jt(e,32)}const o=e.index-1;let r=0,s=e.currentChar;const{index:i}=e;for(;sn(s);){switch(s){case 103:2&r&&jt(e,34,"g"),r|=2;break;case 105:1&r&&jt(e,34,"i"),r|=1;break;case 109:4&r&&jt(e,34,"m"),r|=4;break;case 117:16&r&&jt(e,34,"g"),r|=16;break;case 121:8&r&&jt(e,34,"y"),r|=8;break;case 115:12&r&&jt(e,34,"s"),r|=12;break;default:jt(e,33)}s=Kt(e)}const D=e.source.slice(i,e.index),a=e.source.slice(t,o);return e.tokenRegExp={pattern:a,flags:D},512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=function(e,u,t){try{return new RegExp(u,t)}catch(u){jt(e,32)}}(e,a,D),65540}function kn(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=8192&tn[e.currentChar]?function(e,u){const t=e.currentChar;let n=Kt(e);const o=e.index;for(;n!==t;)e.index>=e.end&&jt(e,14),n=Kt(e);n!==t&&jt(e,14);e.tokenValue=e.source.slice(o,e.index),Kt(e),512&u&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index));return 134283267}(e,u):Jt(e,u,0),e.token}function Pn(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch($t[e.source.charCodeAt(e.index)]){case 8456255:Kt(e),47===e.currentChar?(Kt(e),e.token=25):e.token=8456255;break;case 2162700:Kt(e),e.token=2162700;break;default:{let t=0;for(;e.index0&&wn(e,u,209005);Tn(e,32768|u,67174411),t&&(t=Un(t,1));let D,a=null,c=null,l=0,F=null,p=86087===e.token||241736===e.token||86089===e.token;const{token:C,tokenPos:E,linePos:A,colPos:f}=e;p?241736===C?(F=Ro(e,u,0),2240512&e.token?(8738865===e.token?1024&u&&jt(e,64):F=Mn(e,u,E,A,f,{type:"VariableDeclaration",kind:"let",declarations:Do(e,134217728|u,t,8,32)}),e.assignable=1):1024&u?jt(e,64):(p=!1,e.assignable=1,F=Po(e,u,F,0,0,E,A,f),274546===e.token&&jt(e,111))):(_t(e,u),F=Mn(e,u,E,A,f,86087===C?{type:"VariableDeclaration",kind:"var",declarations:Do(e,134217728|u,t,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Do(e,134217728|u,t,16,32)}),e.assignable=1):1074790417===C?i&&jt(e,79):2097152==(2097152&C)?(F=2162700===C?_o(e,u,void 0,1,0,0,2,32,E,A,f):Xo(e,u,void 0,1,0,0,2,32,E,A,f),l=e.destructible,256&u&&64&l&&jt(e,60),e.assignable=16&l?2:1,F=Po(e,134217728|u,F,0,0,e.tokenPos,e.linePos,e.colPos)):F=ko(e,134217728|u,1,0,1,E,A,f);if(262144==(262144&e.token)){if(274546===e.token){2&e.assignable&&jt(e,77,i?"await":"of"),In(e,F),_t(e,32768|u),D=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),Tn(e,32768|u,16);return Mn(e,u,o,r,s,{type:"ForOfStatement",left:F,right:D,body:ro(e,u,t,n),await:i})}2&e.assignable&&jt(e,77,"in"),In(e,F),_t(e,32768|u),i&&jt(e,79),D=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos),Tn(e,32768|u,16);return Mn(e,u,o,r,s,{type:"ForInStatement",body:ro(e,u,t,n),left:F,right:D})}i&&jt(e,79);p||(8&l&&1077936157!==e.token&&jt(e,77,"loop"),F=mo(e,134217728|u,0,0,E,A,f,F));18===e.token&&(F=Ao(e,u,0,e.tokenPos,e.linePos,e.colPos,F));Tn(e,32768|u,1074790417),1074790417!==e.token&&(a=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Tn(e,32768|u,1074790417),16!==e.token&&(c=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos));Tn(e,32768|u,16);const d=ro(e,u,t,n);return Mn(e,u,o,r,s,{type:"ForStatement",init:F,test:a,update:c,body:d})}(e,u,t,o,s,i,D);case 20561:return function(e,u,t,n,o,r,s){_t(e,32768|u);const i=ro(e,u,t,n);Tn(e,u,20577),Tn(e,32768|u,67174411);const D=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return Tn(e,32768|u,16),wn(e,u,1074790417),Mn(e,u,o,r,s,{type:"DoWhileStatement",body:i,test:D})}(e,u,t,o,s,i,D);case 20577:return function(e,u,t,n,o,r,s){_t(e,u),Tn(e,32768|u,67174411);const i=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Tn(e,32768|u,16);const D=ro(e,u,t,n);return Mn(e,u,o,r,s,{type:"WhileStatement",test:i,body:D})}(e,u,t,o,s,i,D);case 86109:return function(e,u,t,n,o,r,s){_t(e,u),Tn(e,32768|u,67174411);const i=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Tn(e,u,16),Tn(e,u,2162700);const D=[];let a=0;t&&(t=Un(t,8));for(;1074790415!==e.token;){const{tokenPos:o,linePos:r,colPos:s}=e;let i=null;const c=[];for(wn(e,32768|u,20555)?i=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos):(Tn(e,32768|u,20560),a&&jt(e,86),a=1),Tn(e,32768|u,21);20555!==e.token&&1074790415!==e.token&&20560!==e.token;)c.push(Yn(e,4096|u,t,2,{$:n}));D.push(Mn(e,u,o,r,s,{type:"SwitchCase",test:i,consequent:c}))}return Tn(e,32768|u,1074790415),Mn(e,u,o,r,s,{type:"SwitchStatement",discriminant:i,cases:D})}(e,u,t,o,s,i,D);case 1074790417:return function(e,u,t,n,o){return _t(e,32768|u),Mn(e,u,t,n,o,{type:"EmptyStatement"})}(e,u,s,i,D);case 2162700:return Qn(e,u,t?Un(t,2):t,o,s,i,D);case 86111:return function(e,u,t,n,o){_t(e,32768|u),1&e.flags&&jt(e,87);const r=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos);return xn(e,32768|u),Mn(e,u,t,n,o,{type:"ThrowStatement",argument:r})}(e,u,s,i,D);case 20554:return function(e,u,t,n,o,r){_t(e,32768|u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Ro(e,32768|u,0),Rn(e,t,n,0)||jt(e,134,n)}else(135168&u)<1&&jt(e,66);return xn(e,32768|u),Mn(e,u,n,o,r,{type:"BreakStatement",label:s})}(e,u,o,s,i,D);case 20558:return function(e,u,t,n,o,r){(131072&u)<1&&jt(e,65);_t(e,u);let s=null;if((1&e.flags)<1&&143360&e.token){const{tokenValue:n}=e;s=Ro(e,32768|u,0),Rn(e,t,n,1)||jt(e,134,n)}return xn(e,32768|u),Mn(e,u,n,o,r,{type:"ContinueStatement",label:s})}(e,u,o,s,i,D);case 20576:return function(e,u,t,n,o,r,s){_t(e,32768|u);const i=t?Un(t,32):void 0,D=Qn(e,u,i,{$:n},e.tokenPos,e.linePos,e.colPos),{tokenPos:a,linePos:c,colPos:l}=e,F=wn(e,32768|u,20556)?function(e,u,t,n,o,r,s){let i=null,D=t;wn(e,u,67174411)&&(t&&(t=Un(t,4)),i=ir(e,u,t,2097152==(2097152&e.token)?256:512,0,e.tokenPos,e.linePos,e.colPos),18===e.token?jt(e,83):1077936157===e.token&&jt(e,84),Tn(e,32768|u,16),t&&(D=Un(t,64)));const a=Qn(e,u,D,{$:n},e.tokenPos,e.linePos,e.colPos);return Mn(e,u,o,r,s,{type:"CatchClause",param:i,body:a})}(e,u,t,n,a,c,l):null;let p=null;if(20565===e.token){_t(e,32768|u);p=Qn(e,u,i?Un(t,4):void 0,{$:n},e.tokenPos,e.linePos,e.colPos)}F||p||jt(e,85);return Mn(e,u,o,r,s,{type:"TryStatement",block:D,handler:F,finalizer:p})}(e,u,t,o,s,i,D);case 20578:return function(e,u,t,n,o,r,s){_t(e,u),1024&u&&jt(e,88);Tn(e,32768|u,67174411);const i=fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos);Tn(e,32768|u,16);const D=Zn(e,u,t,2,n,0,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,o,r,s,{type:"WithStatement",object:i,body:D})}(e,u,t,o,s,i,D);case 20559:return function(e,u,t,n,o){return _t(e,32768|u),xn(e,32768|u),Mn(e,u,t,n,o,{type:"DebuggerStatement"})}(e,u,s,i,D);case 143468:return to(e,u,t,n,o,0,s,i,D);case 20556:jt(e,156);case 20565:jt(e,157);case 86103:jt(e,1024&u?73:(256&u)<1?75:74);case 86093:jt(e,76);default:return function(e,u,t,n,o,r,s,i,D){const{tokenValue:a,token:c}=e;let l;switch(c){case 241736:l=Ro(e,u,0),1024&u&&jt(e,82),69271571===e.token&&jt(e,81);break;default:l=xo(e,u,2,0,1,0,0,1,e.tokenPos,e.linePos,e.colPos)}if(143360&c&&21===e.token)return uo(e,u,t,n,o,a,l,c,r,s,i,D);l=Po(e,u,l,0,0,s,i,D),l=mo(e,u,0,0,s,i,D,l),18===e.token&&(l=Ao(e,u,0,s,i,D,l));return eo(e,u,l,s,i,D)}(e,u,t,n,o,r,s,i,D)}}function Qn(e,u,t,n,o,r,s){const i=[];for(Tn(e,32768|u,2162700);1074790415!==e.token;)i.push(Yn(e,u,t,2,{$:n}));return Tn(e,32768|u,1074790415),Mn(e,u,o,r,s,{type:"BlockStatement",body:i})}function eo(e,u,t,n,o,r){return xn(e,32768|u),Mn(e,u,n,o,r,{type:"ExpressionStatement",expression:t})}function uo(e,u,t,n,o,r,s,i,D,a,c,l){Nn(e,u,0,i,1),function(e,u,t){let n=u;for(;n;)n["$"+t]&&jt(e,132,t),n=n.$;u["$"+t]=1}(e,o,r),_t(e,32768|u);return Mn(e,u,a,c,l,{type:"LabeledStatement",label:s,body:D&&(1024&u)<1&&256&u&&86103===e.token?jo(e,u,Un(t,2),n,0,0,0,e.tokenPos,e.linePos,e.colPos):Zn(e,u,t,n,o,D,e.tokenPos,e.linePos,e.colPos)})}function to(e,u,t,n,o,r,s,i,D){const{token:a,tokenValue:c}=e;let l=Ro(e,u,0);if(21===e.token)return uo(e,u,t,n,o,c,l,a,1,s,i,D);const F=1&e.flags;if(!F){if(86103===e.token)return r||jt(e,119),jo(e,u,t,n,1,0,1,s,i,D);if(143360==(143360&e.token))return l=Zo(e,u,1,s,i,D),18===e.token&&(l=Ao(e,u,0,s,i,D,l)),eo(e,u,l,s,i,D)}return 67174411===e.token?l=Qo(e,u,l,1,1,0,F,s,i,D):(10===e.token&&(zn(e,u,a,1),l=Wo(e,u,e.tokenValue,l,0,1,0,s,i,D)),e.assignable=1),l=Po(e,u,l,0,0,s,i,D),18===e.token&&(l=Ao(e,u,0,s,i,D,l)),l=mo(e,u,0,0,s,i,D,l),e.assignable=1,eo(e,u,l,s,i,D)}function no(e,u,t,n,o,r,s){return 1074790417!==n&&(e.assignable=2,t=Po(e,u,t,0,0,o,r,s),1074790417!==e.token&&(t=mo(e,u,0,0,o,r,s,t),18===e.token&&(t=Ao(e,u,0,o,r,s,t))),xn(e,32768|u)),8&u&&"Literal"===t.type&&"string"==typeof t.value?Mn(e,u,o,r,s,{type:"ExpressionStatement",expression:t,directive:t.raw.slice(1,-1)}):Mn(e,u,o,r,s,{type:"ExpressionStatement",expression:t})}function oo(e,u,t,n,o,r,s){return 1024&u||(256&u)<1||86103!==e.token?Zn(e,u,t,0,{$:n},0,e.tokenPos,e.linePos,e.colPos):jo(e,u,Un(t,2),0,0,0,0,o,r,s)}function ro(e,u,t,n){return Zn(e,134217728^(134217728|u)|131072,t,0,{loop:1,$:n},0,e.tokenPos,e.linePos,e.colPos)}function so(e,u,t,n,o,r,s,i){_t(e,u);const D=Do(e,u,t,n,o);return xn(e,32768|u),Mn(e,u,r,s,i,{type:"VariableDeclaration",kind:8&n?"let":"const",declarations:D})}function io(e,u,t,n,o,r,s){_t(e,u);const i=Do(e,u,t,4,n);return xn(e,32768|u),Mn(e,u,o,r,s,{type:"VariableDeclaration",kind:"var",declarations:i})}function Do(e,u,t,n,o){let r=1;const s=[ao(e,u,t,n,o)];for(;wn(e,u,18);)r++,s.push(ao(e,u,t,n,o));return r>1&&32&o&&262144&e.token&&jt(e,58,Dn[255&e.token]),s}function ao(e,u,t,n,o){const{token:r,tokenPos:s,linePos:i,colPos:D}=e;let a=null;const c=ir(e,u,t,n,o,s,i,D);return 1077936157===e.token?(_t(e,32768|u),a=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(32&o||(2097152&r)<1)&&(274546===e.token||8738865===e.token&&(2097152&r||(4&n)<1||1024&u))&&Xt(s,e.line,e.index-3,57,274546===e.token?"of":"in")):(16&n||(2097152&r)>0)&&262144!=(262144&e.token)&&jt(e,56,16&n?"const":"destructuring"),Mn(e,u,s,i,D,{type:"VariableDeclarator",id:c,init:a})}function co(e,u,t){return Wn(u,e.token)||jt(e,114),537079808==(537079808&e.token)&&jt(e,115),t&&$n(e,u,t,e.tokenValue,8,0),Ro(e,u,0)}function lo(e,u,t){const{tokenPos:n,linePos:o,colPos:r}=e;return _t(e,u),Tn(e,u,12395),134217728==(134217728&e.token)&&Xt(n,e.line,e.index,28,Dn[255&e.token]),Mn(e,u,n,o,r,{type:"ImportNamespaceSpecifier",local:co(e,u,t)})}function Fo(e,u,t,n){for(_t(e,u);143360&e.token;){let{token:o,tokenValue:r,tokenPos:s,linePos:i,colPos:D}=e;const a=Ro(e,u,0);let c;wn(e,u,12395)?(134217728==(134217728&e.token)||18===e.token?jt(e,103):Nn(e,u,16,e.token,0),r=e.tokenValue,c=Ro(e,u,0)):(Nn(e,u,16,o,0),c=a),t&&$n(e,u,t,r,8,0),n.push(Mn(e,u,s,i,D,{type:"ImportSpecifier",local:c,imported:a})),1074790415!==e.token&&Tn(e,u,18)}return Tn(e,u,1074790415),n}function po(e,u,t,n,o){let r=vo(e,u,Mn(e,u,t,n,o,{type:"Identifier",name:"import"}),t,n,o);return r=Po(e,u,r,0,0,t,n,o),r=mo(e,u,0,0,t,n,o,r),eo(e,u,r,t,n,o)}function Co(e,u,t,n,o){let r=So(e,u,0,t,n,o);return r=Po(e,u,r,0,0,t,n,o),eo(e,u,r,t,n,o)}function Eo(e,u,t,n,o,r,s,i){let D=xo(e,u,2,0,t,n,o,1,r,s,i);return D=Po(e,u,D,o,0,r,s,i),mo(e,u,o,0,r,s,i,D)}function Ao(e,u,t,n,o,r,s){const i=[s];for(;wn(e,32768|u,18);)i.push(Eo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos));return Mn(e,u,n,o,r,{type:"SequenceExpression",expressions:i})}function fo(e,u,t,n,o,r,s){const i=Eo(e,u,n,0,t,o,r,s);return 18===e.token?Ao(e,u,t,o,r,s,i):i}function mo(e,u,t,n,o,r,s,i){const{token:D}=e;if(4194304==(4194304&D)){2&e.assignable&&jt(e,24),(!n&&1077936157===D&&"ArrayExpression"===i.type||"ObjectExpression"===i.type)&&In(e,i),_t(e,32768|u);const a=Eo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Mn(e,u,o,r,s,n?{type:"AssignmentPattern",left:i,right:a}:{type:"AssignmentExpression",left:i,operator:Dn[255&D],right:a})}return 8454144==(8454144&D)&&(i=yo(e,u,t,o,r,s,4,D,i)),wn(e,32768|u,22)&&(i=Bo(e,u,i,o,r,s)),i}function go(e,u,t,n,o,r,s,i){const{token:D}=e;_t(e,32768|u);const a=Eo(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);return i=Mn(e,u,o,r,s,n?{type:"AssignmentPattern",left:i,right:a}:{type:"AssignmentExpression",left:i,operator:Dn[255&D],right:a}),e.assignable=2,i}function Bo(e,u,t,n,o,r){const s=Eo(e,134217728^(134217728|u),1,0,0,e.tokenPos,e.linePos,e.colPos);Tn(e,32768|u,21),e.assignable=1;const i=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Mn(e,u,n,o,r,{type:"ConditionalExpression",test:t,consequent:s,alternate:i})}function yo(e,u,t,n,o,r,s,i,D){const a=8738865&-((134217728&u)>0);let c,l;for(e.assignable=2;8454144&e.token&&(c=e.token,l=3840&c,(524288&c&&268435456&i||524288&i&&268435456&c)&&jt(e,159),!(l+((8457270===c)<<8)-((a===c)<<12)<=s));)_t(e,32768|u),D=Mn(e,u,n,o,r,{type:524288&c||268435456&c?"LogicalExpression":"BinaryExpression",left:D,right:yo(e,u,t,e.tokenPos,e.linePos,e.colPos,l,c,ko(e,u,0,t,1,e.tokenPos,e.linePos,e.colPos)),operator:Dn[255&c]});return 1077936157===e.token&&jt(e,24),D}function ho(e,u,t,n,o,r){const{tokenPos:s,linePos:i,colPos:D}=e;Tn(e,32768|u,2162700);const a=[],c=u;if(1074790415!==e.token){for(;134283267===e.token;){const{index:t,tokenPos:n,tokenValue:o,token:r}=e,s=Mo(e,u);vn(e,t,n,o)&&(u|=1024,128&e.flags&&Xt(e.index,e.line,e.tokenPos,63),64&e.flags&&Xt(e.index,e.line,e.tokenPos,8)),a.push(no(e,u,s,r,n,e.linePos,e.colPos))}1024&u&&(o&&(537079808==(537079808&o)&&jt(e,115),36864==(36864&o)&&jt(e,38)),512&e.flags&&jt(e,115),256&e.flags&&jt(e,114)),64&u&&t&&void 0!==r&&(1024&c)<1&&(8192&u)<1&&Vt(r)}for(e.flags=832^(832|e.flags),e.destructible=256^(256|e.destructible);1074790415!==e.token;)a.push(Yn(e,u,t,4,{}));return Tn(e,24&n?32768|u:u,1074790415),e.flags&=-193,1077936157===e.token&&jt(e,24),Mn(e,u,s,i,D,{type:"BlockStatement",body:a})}function ko(e,u,t,n,o,r,s,i){return Po(e,u,xo(e,u,2,0,t,0,n,o,r,s,i),n,0,r,s,i)}function Po(e,u,t,n,o,r,s,i){if(33619968==(33619968&e.token)&&(1&e.flags)<1)t=function(e,u,t,n,o,r){2&e.assignable&&jt(e,52);const{token:s}=e;return _t(e,u),e.assignable=2,Mn(e,u,n,o,r,{type:"UpdateExpression",argument:t,operator:Dn[255&s],prefix:!1})}(e,u,t,r,s,i);else if(67108864==(67108864&e.token)){switch(u=134225920^(134225920|u),e.token){case 67108877:_t(e,1073741824|u),e.assignable=1;t=Mn(e,u,r,s,i,{type:"MemberExpression",object:t,computed:!1,property:bo(e,u)});break;case 69271571:{let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags)),_t(e,32768|u);const{tokenPos:D,linePos:a,colPos:c}=e,l=fo(e,u,n,1,D,a,c);Tn(e,u,20),e.assignable=1,t=Mn(e,u,r,s,i,{type:"MemberExpression",object:t,computed:!0,property:l}),o&&(e.flags|=2048);break}case 67174411:{if(1024==(1024&e.flags))return e.flags=1024^(1024|e.flags),t;let o=!1;2048==(2048&e.flags)&&(o=!0,e.flags=2048^(2048|e.flags));const D=Oo(e,u,n);e.assignable=2,t=Mn(e,u,r,s,i,{type:"CallExpression",callee:t,arguments:D}),o&&(e.flags|=2048);break}case 67108988:_t(e,u),e.flags|=2048,e.assignable=2,t=function(e,u,t,n,o,r){let s,i=!1;69271571!==e.token&&67174411!==e.token||2048==(2048&e.flags)&&(i=!0,e.flags=2048^(2048|e.flags));if(69271571===e.token){_t(e,32768|u);const{tokenPos:i,linePos:D,colPos:a}=e,c=fo(e,u,0,1,i,D,a);Tn(e,u,20),e.assignable=2,s=Mn(e,u,n,o,r,{type:"MemberExpression",object:t,computed:!0,optional:!0,property:c})}else if(67174411===e.token){const i=Oo(e,u,0);e.assignable=2,s=Mn(e,u,n,o,r,{type:"CallExpression",callee:t,arguments:i,optional:!0})}else{(143360&e.token)<1&&jt(e,154);const i=Ro(e,u,0);e.assignable=2,s=Mn(e,u,n,o,r,{type:"MemberExpression",object:t,computed:!1,optional:!0,property:i})}i&&(e.flags|=2048);return s}(e,u,t,r,s,i);break;default:2048==(2048&e.flags)&&jt(e,160),e.assignable=2,t=Mn(e,u,r,s,i,{type:"TaggedTemplateExpression",tag:t,quasi:67174408===e.token?Io(e,65536|u,e.tokenPos,e.linePos,e.colPos):To(e,u,e.tokenPos,e.linePos,e.colPos)})}t=Po(e,u,t,0,1,r,s,i)}return 0===o&&2048==(2048&e.flags)&&(e.flags=2048^(2048|e.flags),t=Mn(e,u,r,s,i,{type:"ChainExpression",expression:t})),t}function bo(e,u){return(143360&e.token)<1&&128!==e.token&&jt(e,154),1&u&&128===e.token?rr(e,u,e.tokenPos,e.linePos,e.colPos):Ro(e,u,0)}function xo(e,u,t,n,o,r,s,i,D,a,c){if(143360==(143360&e.token)){switch(e.token){case 209005:return function(e,u,t,n,o,r,s){if(n&&(e.destructible|=128),4194304&u){t&&jt(e,0),8388608&u&&Xt(e.index,e.line,e.index,29),_t(e,32768|u);const n=ko(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable=2,Mn(e,u,o,r,s,{type:"AwaitExpression",argument:n})}return 2048&u&&jt(e,107,"Await"),qo(e,u,o,r,s)}(e,u,n,s,D,a,c);case 241770:return function(e,u,t,n,o,r,s){if(t&&(e.destructible|=256),2097152&u){_t(e,32768|u),8388608&u&&jt(e,30),n||jt(e,24),22===e.token&&jt(e,120);let t=null,i=!1;return(1&e.flags)<1&&(i=wn(e,32768|u,8457011),(65536&e.token||i)&&(t=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,Mn(e,u,o,r,s,{type:"YieldExpression",argument:t,delegate:i})}return 1024&u&&jt(e,94,"yield"),qo(e,u,o,r,s)}(e,u,s,o,D,a,c);case 143468:return function(e,u,t,n,o,r,s,i,D,a){const{token:c}=e,l=Ro(e,u,r),{flags:F}=e;if((1&F)<1){if(86103===e.token)return Vo(e,u,1,t,i,D,a);if(143360==(143360&e.token))return n||jt(e,0),Zo(e,u,o,i,D,a)}return s||67174411!==e.token?10===e.token?(zn(e,u,c,1),s&&jt(e,48),Wo(e,u,e.tokenValue,l,s,o,0,i,D,a)):l:Qo(e,u,l,o,1,0,F,i,D,a)}(e,u,s,i,o,r,n,D,a,c)}const{token:l,tokenValue:F}=e,p=Ro(e,65536|u,r);return 10===e.token?(i||jt(e,0),zn(e,u,l,1),Wo(e,u,F,p,n,o,0,D,a,c)):(16384&u&&537079925===l&&jt(e,126),241736===l&&(1024&u&&jt(e,109),24&t&&jt(e,97)),e.assignable=1024&u&&537079808==(537079808&l)?2:1,p)}if(134217728==(134217728&e.token))return Mo(e,u);switch(e.token){case 33619995:case 33619996:return function(e,u,t,n,o,r,s){t&&jt(e,53),n||jt(e,0);const{token:i}=e;_t(e,32768|u);const D=ko(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return 2&e.assignable&&jt(e,52),e.assignable=2,Mn(e,u,o,r,s,{type:"UpdateExpression",argument:D,operator:Dn[255&i],prefix:!0})}(e,u,n,i,D,a,c);case 16863275:case 16842797:case 16842798:case 25233967:case 25233968:case 16863274:case 16863276:return function(e,u,t,n,o,r,s){t||jt(e,0);const i=e.token;_t(e,32768|u);const D=ko(e,u,0,s,1,e.tokenPos,e.linePos,e.colPos);var a;return 8457270===e.token&&jt(e,31),1024&u&&16863275===i&&("Identifier"===D.type?jt(e,117):(a=D).property&&"PrivateName"===a.property.type&&jt(e,123)),e.assignable=2,Mn(e,u,n,o,r,{type:"UnaryExpression",operator:Dn[255&i],argument:D,prefix:!0})}(e,u,i,D,a,c,s);case 86103:return Vo(e,u,0,s,D,a,c);case 2162700:return function(e,u,t,n,o,r,s){const i=_o(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&jt(e,60);8&e.destructible&&jt(e,59);return i}(e,u,o?0:1,s,D,a,c);case 69271571:return function(e,u,t,n,o,r,s){const i=Xo(e,u,void 0,t,n,0,2,0,o,r,s);256&u&&64&e.destructible&&jt(e,60);8&e.destructible&&jt(e,59);return i}(e,u,o?0:1,s,D,a,c);case 67174411:return function(e,u,t,n,o,r,s,i){e.flags=128^(128|e.flags);const{tokenPos:D,linePos:a,colPos:c}=e;_t(e,1073774592|u);const l=64&u?Un({parent:void 0,type:2},1024):void 0;if(wn(e,u=134225920^(134225920|u),16))return zo(e,u,l,[],t,0,r,s,i);let F,p=0;e.destructible&=-385;let C=[],E=0,A=0;const{tokenPos:f,linePos:d,colPos:m}=e;e.assignable=1;for(;16!==e.token;){const{token:t,tokenPos:r,linePos:s,colPos:i}=e;if(143360&t)l&&$n(e,u,l,e.tokenValue,1,0),F=xo(e,u,n,0,1,0,1,1,r,s,i),16===e.token||18===e.token?2&e.assignable?(p|=16,A=1):537079808!=(537079808&t)&&36864!=(36864&t)||(A=1):(1077936157===e.token?A=1:p|=16,F=Po(e,u,F,1,0,r,s,i),16!==e.token&&18!==e.token&&(F=mo(e,u,1,0,r,s,i,F)));else{if(2097152!=(2097152&t)){if(14===t){F=Go(e,u,l,16,n,o,0,1,0,r,s,i),16&e.destructible&&jt(e,71),A=1,!E||16!==e.token&&18!==e.token||C.push(F),p|=8;break}if(p|=16,F=Eo(e,u,1,0,1,r,s,i),!E||16!==e.token&&18!==e.token||C.push(F),18===e.token&&(E||(E=1,C=[F])),E){for(;wn(e,32768|u,18);)C.push(Eo(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,F=Mn(e,u,f,d,m,{type:"SequenceExpression",expressions:C})}return Tn(e,u,16),e.destructible=p,F}F=2162700===t?_o(e,1073741824|u,l,0,1,0,n,o,r,s,i):Xo(e,1073741824|u,l,0,1,0,n,o,r,s,i),p|=e.destructible,A=1,e.assignable=2,16!==e.token&&18!==e.token&&(8&p&&jt(e,118),F=Po(e,u,F,0,0,r,s,i),p|=16,16!==e.token&&18!==e.token&&(F=mo(e,u,0,0,r,s,i,F)))}if(!E||16!==e.token&&18!==e.token||C.push(F),!wn(e,32768|u,18))break;if(E||(E=1,C=[F]),16===e.token){p|=8;break}}E&&(e.assignable=2,F=Mn(e,u,f,d,m,{type:"SequenceExpression",expressions:C}));Tn(e,u,16),16&p&&8&p&&jt(e,145);if(p|=256&e.destructible?256:0|128&e.destructible?128:0,10===e.token)return 48&p&&jt(e,46),4196352&u&&128&p&&jt(e,29),2098176&u&&256&p&&jt(e,30),A&&(e.flags|=128),zo(e,u,l,E?C:[F],t,0,r,s,i);8&p&&jt(e,139);return e.destructible=256^(256|e.destructible)|p,128&u?Mn(e,u,D,a,c,{type:"ParenthesizedExpression",expression:F}):F}(e,u,o,1,0,D,a,c);case 86021:case 86022:case 86023:return function(e,u,t,n,o){const r=Dn[255&e.token],s=86023===e.token?null:"true"===r;return _t(e,u),e.assignable=2,Mn(e,u,t,n,o,512&u?{type:"Literal",value:s,raw:r}:{type:"Literal",value:s})}(e,u,D,a,c);case 86110:return function(e,u){const{tokenPos:t,linePos:n,colPos:o}=e;return _t(e,u),e.assignable=2,Mn(e,u,t,n,o,{type:"ThisExpression"})}(e,u);case 65540:return function(e,u,t,n,o){const{tokenRaw:r,tokenRegExp:s,tokenValue:i}=e;return _t(e,u),e.assignable=2,Mn(e,u,t,n,o,512&u?{type:"Literal",value:i,regex:s,raw:r}:{type:"Literal",value:i,regex:s})}(e,u,D,a,c);case 130:case 86093:return function(e,u,t,n,o,r){let s=null,i=null;const D=ur(e,u=16777216^(16778240|u));D.length&&(n=e.tokenPos,o=e.linePos,r=e.colPos);_t(e,u),(4351&e.token^84)>4096&&(On(e,u,e.token)&&jt(e,114),537079808==(537079808&e.token)&&jt(e,115),s=Ro(e,u,0));let a=u;wn(e,32768|u,20564)?(i=ko(e,u,0,t,0,e.tokenPos,e.linePos,e.colPos),a|=524288):a=524288^(524288|a);const c=nr(e,a,u,void 0,2,0,t);return e.assignable=2,Mn(e,u,n,o,r,1&u?{type:"ClassExpression",id:s,superClass:i,decorators:D,body:c}:{type:"ClassExpression",id:s,superClass:i,body:c})}(e,u,s,D,a,c);case 86108:return function(e,u,t,n,o){switch(_t(e,u),e.token){case 67108988:jt(e,161);case 67174411:(524288&u)<1&&jt(e,26),16384&u&&jt(e,143),e.assignable=2;break;case 69271571:case 67108877:(262144&u)<1&&jt(e,27),16384&u&&jt(e,143),e.assignable=1;break;default:jt(e,28,"super")}return Mn(e,u,t,n,o,{type:"Super"})}(e,u,D,a,c);case 67174409:return To(e,u,D,a,c);case 67174408:return Io(e,u,D,a,c);case 86106:return function(e,u,t,n,o,r){const s=Ro(e,32768|u,0),{tokenPos:i,linePos:D,colPos:a}=e;if(wn(e,u,67108877)){if(67108864&u&&143491===e.token)return e.assignable=2,function(e,u,t,n,o,r){const s=Ro(e,u,0);return Mn(e,u,n,o,r,{type:"MetaProperty",meta:t,property:s})}(e,u,s,n,o,r);jt(e,91)}e.assignable=2,16842752==(16842752&e.token)&&jt(e,62,Dn[255&e.token]);const c=xo(e,u,2,1,0,0,t,1,i,D,a);u=134217728^(134217728|u),67108988===e.token&&jt(e,162);const l=Yo(e,u,c,t,i,D,a);return e.assignable=2,Mn(e,u,n,o,r,{type:"NewExpression",callee:l,arguments:67174411===e.token?Oo(e,u,t):[]})}(e,u,s,D,a,c);case 134283386:return wo(e,u,D,a,c);case 128:return rr(e,u,D,a,c);case 86105:return function(e,u,t,n,o,r,s){let i=Ro(e,u,0);if(67108877===e.token)return vo(e,u,i,o,r,s);t&&jt(e,137);return i=So(e,u,n,o,r,s),e.assignable=2,Po(e,u,i,n,0,o,r,s)}(e,u,n,s,D,a,c);case 8456255:if(16&u)return ar(e,u,1,D,a,c);default:if(Wn(u,e.token))return qo(e,u,D,a,c);jt(e,28,Dn[255&e.token])}}function vo(e,u,t,n,o,r){return 0==(2048&u)&&jt(e,163),_t(e,u),143492!==e.token&&"meta"!==e.tokenValue&&jt(e,28,Dn[255&e.token]),e.assignable=2,Mn(e,u,n,o,r,{type:"MetaProperty",meta:t,property:Ro(e,u,0)})}function So(e,u,t,n,o,r){Tn(e,32768|u,67174411),14===e.token&&jt(e,138);const s=Eo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos);return Tn(e,u,16),Mn(e,u,n,o,r,{type:"ImportExpression",source:s})}function wo(e,u,t,n,o){const{tokenRaw:r,tokenValue:s}=e;return _t(e,u),e.assignable=2,Mn(e,u,t,n,o,512&u?{type:"Literal",value:s,bigint:r.slice(0,-1),raw:r}:{type:"Literal",value:s,bigint:r.slice(0,-1)})}function To(e,u,t,n,o){e.assignable=2;const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Tn(e,u,67174409);return Mn(e,u,t,n,o,{type:"TemplateLiteral",expressions:[],quasis:[No(e,u,r,s,i,D,a,!0)]})}function Io(e,u,t,n,o){u=134217728^(134217728|u);const{tokenValue:r,tokenRaw:s,tokenPos:i,linePos:D,colPos:a}=e;Tn(e,32768|u,67174408);const c=[No(e,u,r,s,i,D,a,!1)],l=[fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(1074790415!==e.token&&jt(e,80);67174409!==(e.token=yn(e,u));){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Tn(e,32768|u,67174408),c.push(No(e,u,t,n,o,r,s,!1)),l.push(fo(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),1074790415!==e.token&&jt(e,80)}{const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;Tn(e,u,67174409),c.push(No(e,u,t,n,o,r,s,!0))}return Mn(e,u,t,n,o,{type:"TemplateLiteral",expressions:l,quasis:c})}function No(e,u,t,n,o,r,s,i){const D=Mn(e,u,o,r,s,{type:"TemplateElement",value:{cooked:t,raw:n},tail:i}),a=i?1:2;return 2&u&&(D.start+=1,D.range[0]+=1,D.end-=a,D.range[1]-=a),4&u&&(D.loc.start.column+=1,D.loc.end.column-=a),D}function Lo(e,u,t,n,o){Tn(e,32768|(u=134217728^(134217728|u)),14);const r=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,Mn(e,u,t,n,o,{type:"SpreadElement",argument:r})}function Oo(e,u,t){_t(e,32768|u);const n=[];if(16===e.token)return _t(e,u),n;for(;16!==e.token&&(14===e.token?n.push(Lo(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(Eo(e,u,1,0,t,e.tokenPos,e.linePos,e.colPos)),18===e.token)&&(_t(e,32768|u),16!==e.token););return Tn(e,u,16),n}function Ro(e,u,t){const{tokenValue:n,tokenPos:o,linePos:r,colPos:s}=e;return _t(e,u),Mn(e,u,o,r,s,268435456&u?{type:"Identifier",name:n,pattern:1===t}:{type:"Identifier",name:n})}function Mo(e,u){const{tokenValue:t,tokenRaw:n,tokenPos:o,linePos:r,colPos:s}=e;return 134283386===e.token?wo(e,u,o,r,s):(_t(e,u),e.assignable=2,Mn(e,u,o,r,s,512&u?{type:"Literal",value:t,raw:n}:{type:"Literal",value:t}))}function jo(e,u,t,n,o,r,s,i,D,a){_t(e,32768|u);const c=o?Sn(e,u,8457011):0;let l,F=null,p=t?{parent:void 0,type:2}:void 0;if(67174411===e.token)(1&r)<1&&jt(e,37,"Function");else{const o=4&n&&((8192&u)<1||(2048&u)<1)?4:64;Ln(e,u|(3072&u)<<11,e.token),t&&(4&o?_n(e,u,t,e.tokenValue,o):$n(e,u,t,e.tokenValue,o,n),p=Un(p,256),r&&2&r&&Jn(e,e.tokenValue)),l=e.token,F=Ro(e,u,0)}u=32243712^(32243712|u)|67108864|2*s+c<<21|(c?0:1073741824),t&&(p=Un(p,512));return Mn(e,u,i,D,a,{type:"FunctionDeclaration",id:F,params:Ko(e,8388608|u,p,0,1),body:ho(e,143360^(143360|u),t?Un(p,128):p,8,l,t?p.scopeError:void 0),async:1===s,generator:1===c})}function Vo(e,u,t,n,o,r,s){_t(e,32768|u);const i=Sn(e,u,8457011),D=2*t+i<<21;let a,c=null,l=64&u?{parent:void 0,type:2}:void 0;(176128&e.token)>0&&(Ln(e,32243712^(32243712|u)|D,e.token),l&&(l=Un(l,256)),a=e.token,c=Ro(e,u,0)),u=32243712^(32243712|u)|67108864|D|(i?0:1073741824),l&&(l=Un(l,512));const F=Ko(e,8388608|u,l,n,1),p=ho(e,-134377473&u,l?Un(l,128):l,0,a,void 0);return e.assignable=2,Mn(e,u,o,r,s,{type:"FunctionExpression",id:c,params:F,body:p,async:1===t,generator:1===i})}function Xo(e,u,t,n,o,r,s,i,D,a,c){_t(e,32768|u);const l=[];let F=0;for(u=134217728^(134217728|u);20!==e.token;)if(wn(e,32768|u,18))l.push(null);else{let n;const{token:D,tokenPos:a,linePos:c,colPos:p,tokenValue:C}=e;if(143360&D)if(n=xo(e,u,s,0,1,0,o,1,a,c,p),1077936157===e.token){2&e.assignable&&jt(e,24),_t(e,32768|u),t&&Gn(e,u,t,C,s,i);const D=Eo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);n=Mn(e,u,a,c,p,r?{type:"AssignmentPattern",left:n,right:D}:{type:"AssignmentExpression",operator:"=",left:n,right:D}),F|=256&e.destructible?256:0|128&e.destructible?128:0}else 18===e.token||20===e.token?(2&e.assignable?F|=16:t&&Gn(e,u,t,C,s,i),F|=256&e.destructible?256:0|128&e.destructible?128:0):(F|=1&s?32:(2&s)<1?16:0,n=Po(e,u,n,o,0,a,c,p),18!==e.token&&20!==e.token?(1077936157!==e.token&&(F|=16),n=mo(e,u,o,r,a,c,p,n)):1077936157!==e.token&&(F|=2&e.assignable?16:32));else 2097152&D?(n=2162700===e.token?_o(e,u,t,0,o,r,s,i,a,c,p):Xo(e,u,t,0,o,r,s,i,a,c,p),F|=e.destructible,e.assignable=16&e.destructible?2:1,18===e.token||20===e.token?2&e.assignable&&(F|=16):8&e.destructible?jt(e,68):(n=Po(e,u,n,o,0,a,c,p),F=2&e.assignable?16:0,18!==e.token&&20!==e.token?n=mo(e,u,o,r,a,c,p,n):1077936157!==e.token&&(F|=2&e.assignable?16:32))):14===D?(n=Go(e,u,t,20,s,i,0,o,r,a,c,p),F|=e.destructible,18!==e.token&&20!==e.token&&jt(e,28,Dn[255&e.token])):(n=ko(e,u,1,0,1,a,c,p),18!==e.token&&20!==e.token?(n=mo(e,u,o,r,a,c,p,n),(3&s)<1&&67174411===D&&(F|=16)):2&e.assignable?F|=16:67174411===D&&(F|=1&e.assignable&&3&s?32:16));if(l.push(n),!wn(e,32768|u,18))break;if(20===e.token)break}Tn(e,u,20);const p=Mn(e,u,D,a,c,{type:r?"ArrayPattern":"ArrayExpression",elements:l});return!n&&4194304&e.token?Uo(e,u,F,o,r,D,a,c,p):(e.destructible=F,p)}function Uo(e,u,t,n,o,r,s,i,D){1077936157!==e.token&&jt(e,24),_t(e,32768|u),16&t&&jt(e,24),o||In(e,D);const{tokenPos:a,linePos:c,colPos:l}=e,F=Eo(e,u,1,1,n,a,c,l);return e.destructible=72^(72|t)|(128&e.destructible?128:0)|(256&e.destructible?256:0),Mn(e,u,r,s,i,o?{type:"AssignmentPattern",left:D,right:F}:{type:"AssignmentExpression",left:D,operator:"=",right:F})}function Go(e,u,t,n,o,r,s,i,D,a,c,l){_t(e,32768|u);let F=null,p=0,{token:C,tokenValue:E,tokenPos:A,linePos:f,colPos:d}=e;if(143360&C)e.assignable=1,F=xo(e,u,o,0,1,0,i,1,A,f,d),C=e.token,F=Po(e,u,F,i,0,A,f,d),18!==e.token&&e.token!==n&&(2&e.assignable&&1077936157===e.token&&jt(e,68),p|=16,F=mo(e,u,i,D,A,f,d,F)),2&e.assignable?p|=16:C===n||18===C?t&&Gn(e,u,t,E,o,r):p|=32,p|=128&e.destructible?128:0;else if(C===n)jt(e,39);else{if(!(2097152&C)){p|=32,F=ko(e,u,1,i,1,e.tokenPos,e.linePos,e.colPos);const{token:t,tokenPos:o,linePos:r,colPos:s}=e;return 1077936157===t&&t!==n&&18!==t?(2&e.assignable&&jt(e,24),F=mo(e,u,i,D,o,r,s,F),p|=16):(18===t?p|=16:t!==n&&(F=mo(e,u,i,D,o,r,s,F)),p|=1&e.assignable?32:16),e.destructible=p,e.token!==n&&18!==e.token&&jt(e,155),Mn(e,u,a,c,l,{type:D?"RestElement":"SpreadElement",argument:F})}F=2162700===e.token?_o(e,u,t,1,i,D,o,r,A,f,d):Xo(e,u,t,1,i,D,o,r,A,f,d),C=e.token,1077936157!==C&&C!==n&&18!==C?(8&e.destructible&&jt(e,68),F=Po(e,u,F,i,0,A,f,d),p|=2&e.assignable?16:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(p|=16),F=mo(e,u,i,D,A,f,d,F)):(8454144==(8454144&e.token)&&(F=yo(e,u,1,A,f,d,4,C,F)),wn(e,32768|u,22)&&(F=Bo(e,u,F,A,f,d)),p|=2&e.assignable?16:32)):p|=1074790415===n&&1077936157!==C?16:e.destructible}if(e.token!==n)if(1&o&&(p|=s?16:32),wn(e,32768|u,1077936157)){16&p&&jt(e,24),In(e,F);const t=Eo(e,u,1,1,i,e.tokenPos,e.linePos,e.colPos);F=Mn(e,u,A,f,d,D?{type:"AssignmentPattern",left:F,right:t}:{type:"AssignmentExpression",left:F,operator:"=",right:t}),p=16}else p|=16;return e.destructible=p,Mn(e,u,a,c,l,{type:D?"RestElement":"SpreadElement",argument:F})}function $o(e,u,t,n,o,r,s){const i=(64&t)<1?31981568:14680064;let D=64&(u=(u|i)^i|(88&t)<<18|100925440)?Un({parent:void 0,type:2},512):void 0;const a=function(e,u,t,n,o,r){Tn(e,u,67174411);const s=[];if(e.flags=128^(128|e.flags),16===e.token)return 512&n&&jt(e,35,"Setter","one",""),_t(e,u),s;256&n&&jt(e,35,"Getter","no","s");512&n&&14===e.token&&jt(e,36);u=134217728^(134217728|u);let i=0,D=0;for(;18!==e.token;){let a=null;const{tokenPos:c,linePos:l,colPos:F}=e;if(143360&e.token?((1024&u)<1&&(36864==(36864&e.token)&&(e.flags|=256),537079808==(537079808&e.token)&&(e.flags|=512)),a=Dr(e,u,t,1|n,0,c,l,F)):(2162700===e.token?a=_o(e,u,t,1,r,1,o,0,c,l,F):69271571===e.token?a=Xo(e,u,t,1,r,1,o,0,c,l,F):14===e.token&&(a=Go(e,u,t,16,o,0,0,r,1,c,l,F)),D=1,48&e.destructible&&jt(e,47)),1077936157===e.token){_t(e,32768|u),D=1;a=Mn(e,u,c,l,F,{type:"AssignmentPattern",left:a,right:Eo(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos)})}if(i++,s.push(a),!wn(e,u,18))break;if(16===e.token)break}512&n&&1!==i&&jt(e,35,"Setter","one","");t&&void 0!==t.scopeError&&Vt(t.scopeError);D&&(e.flags|=128);return Tn(e,u,16),s}(e,8388608|u,D,t,1,n);D&&(D=Un(D,128));return Mn(e,u,o,r,s,{type:"FunctionExpression",params:a,body:ho(e,-134230017&u,D,0,void 0,void 0),async:(16&t)>0,generator:(8&t)>0,id:null})}function _o(e,u,t,n,o,r,s,i,D,a,c){_t(e,u);const l=[];let F=0,p=0;for(u=134217728^(134217728|u);1074790415!==e.token;){const{token:n,tokenValue:D,linePos:a,colPos:c,tokenPos:C}=e;if(14===n)l.push(Go(e,u,t,1074790415,s,i,0,o,r,C,a,c));else{let E,A=0,f=null;const d=e.token;if(143360&e.token||118===e.token)if(f=Ro(e,u,0),18===e.token||1074790415===e.token||1077936157===e.token)if(A|=4,1024&u&&537079808==(537079808&n)?F|=16:Nn(e,u,s,n,0),t&&Gn(e,u,t,D,s,i),wn(e,32768|u,1077936157)){F|=8;const t=Eo(e,u,1,1,o,e.tokenPos,e.linePos,e.colPos);F|=256&e.destructible?256:0|128&e.destructible?128:0,E=Mn(e,u,C,a,c,{type:"AssignmentPattern",left:-2147483648&u?Object.assign({},f):f,right:t})}else F|=(209005===n?128:0)|(118===n?16:0),E=-2147483648&u?Object.assign({},f):f;else if(wn(e,32768|u,21)){const{tokenPos:a,linePos:c,colPos:l}=e;if("__proto__"===D&&p++,143360&e.token){const n=e.token,D=e.tokenValue;F|=118===d?16:0,E=xo(e,u,s,0,1,0,o,1,a,c,l);const{token:p}=e;E=Po(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===p||1074790415===p||18===p?(F|=128&e.destructible?128:0,2&e.assignable?F|=16:t&&143360==(143360&n)&&Gn(e,u,t,D,s,i)):F|=1&e.assignable?32:16:4194304==(4194304&e.token)?(2&e.assignable?F|=16:1077936157!==p?F|=32:t&&Gn(e,u,t,D,s,i),E=mo(e,u,o,r,a,c,l,E)):(F|=16,8454144==(8454144&e.token)&&(E=yo(e,u,1,a,c,l,4,p,E)),wn(e,32768|u,22)&&(E=Bo(e,u,E,a,c,l)))}else 2097152==(2097152&e.token)?(E=69271571===e.token?Xo(e,u,t,0,o,r,s,i,a,c,l):_o(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&e.destructible?jt(e,68):(E=Po(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=go(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=yo(e,u,1,a,c,l,4,n,E)),wn(e,32768|u,22)&&(E=Bo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=ko(e,u,1,o,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=Po(e,u,E,o,0,a,a,l),F=2&e.assignable?16:0,18!==e.token&&1074790415!==n&&(1077936157!==e.token&&(F|=16),E=mo(e,u,o,r,a,a,l,E))))}else 69271571===e.token?(F|=16,143468===n&&(A|=16),A|=2|(12399===n?256:12400===n?512:1),f=Jo(e,u,o),F|=e.assignable,E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):143360&e.token?(F|=16,118===n&&jt(e,92),143468===n&&(1&e.flags&&jt(e,128),A|=16),f=Ro(e,u,0),A|=12399===n?256:12400===n?512:1,E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):67174411===e.token?(F|=16,A|=1,E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):8457011===e.token?(F|=16,12399===n||12400===n?jt(e,40):143480===n&&jt(e,92),_t(e,u),A|=9|(143468===n?16:0),143360&e.token?f=Ro(e,u,0):134217728==(134217728&e.token)?f=Mo(e,u):69271571===e.token?(A|=2,f=Jo(e,u,o),F|=e.assignable):jt(e,28,Dn[255&e.token]),E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):134217728==(134217728&e.token)?(143468===n&&(A|=16),A|=12399===n?256:12400===n?512:1,F|=16,f=Mo(e,u),E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):jt(e,129);else if(134217728==(134217728&e.token))if(f=Mo(e,u),21===e.token){Tn(e,32768|u,21);const{tokenPos:a,linePos:c,colPos:l}=e;if("__proto__"===D&&p++,143360&e.token){E=xo(e,u,s,0,1,0,o,1,a,c,l);const{token:n,tokenValue:D}=e;E=Po(e,u,E,o,0,a,c,l),18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&Gn(e,u,t,D,s,i):F|=1&e.assignable?32:16:1077936157===e.token?(2&e.assignable&&(F|=16),E=mo(e,u,o,r,a,c,l,E)):(F|=16,E=mo(e,u,o,r,a,c,l,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?Xo(e,u,t,0,o,r,s,i,a,c,l):_o(e,u,t,0,o,r,s,i,a,c,l),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8!=(8&e.destructible)&&(E=Po(e,u,E,o,0,a,c,l),F=2&e.assignable?16:0,4194304==(4194304&e.token)?E=go(e,u,o,r,a,c,l,E):(8454144==(8454144&e.token)&&(E=yo(e,u,1,a,c,l,4,n,E)),wn(e,32768|u,22)&&(E=Bo(e,u,E,a,c,l)),F|=2&e.assignable?16:32))):(E=ko(e,u,1,0,1,a,c,l),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=Po(e,u,E,o,0,a,c,l),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=mo(e,u,o,r,a,c,l,E))))}else 67174411===e.token?(A|=1,E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos),F=16|e.assignable):jt(e,130);else if(69271571===e.token)if(f=Jo(e,u,o),F|=256&e.destructible?256:0,A|=2,21===e.token){_t(e,32768|u);const{tokenPos:D,linePos:a,colPos:c,tokenValue:l,token:p}=e;if(143360&e.token){E=xo(e,u,s,0,1,0,o,1,D,a,c);const{token:n}=e;E=Po(e,u,E,o,0,D,a,c),4194304==(4194304&e.token)?(F|=2&e.assignable?16:1077936157===n?0:32,E=go(e,u,o,r,D,a,c,E)):18===e.token||1074790415===e.token?1077936157===n||1074790415===n||18===n?2&e.assignable?F|=16:t&&143360==(143360&p)&&Gn(e,u,t,l,s,i):F|=1&e.assignable?32:16:(F|=16,E=mo(e,u,o,r,D,a,c,E))}else 2097152==(2097152&e.token)?(E=69271571===e.token?Xo(e,u,t,0,o,r,s,i,D,a,c):_o(e,u,t,0,o,r,s,i,D,a,c),F=e.destructible,e.assignable=16&F?2:1,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):8&F?jt(e,59):(E=Po(e,u,E,o,0,D,a,c),F=2&e.assignable?16|F:0,4194304==(4194304&e.token)?(1077936157!==e.token&&(F|=16),E=go(e,u,o,r,D,a,c,E)):(8454144==(8454144&e.token)&&(E=yo(e,u,1,D,a,c,4,n,E)),wn(e,32768|u,22)&&(E=Bo(e,u,E,D,a,c)),F|=2&e.assignable?16:32))):(E=ko(e,u,1,0,1,D,a,c),F|=1&e.assignable?32:16,18===e.token||1074790415===e.token?2&e.assignable&&(F|=16):(E=Po(e,u,E,o,0,D,a,c),F=1&e.assignable?0:16,18!==e.token&&1074790415!==e.token&&(1077936157!==e.token&&(F|=16),E=mo(e,u,o,r,D,a,c,E))))}else 67174411===e.token?(A|=1,E=$o(e,u,A,o,e.tokenPos,a,c),F=16):jt(e,41);else if(8457011===n)if(Tn(e,32768|u,8457011),A|=8,143360&e.token){const{token:t,line:n,index:r}=e;f=Ro(e,u,0),A|=1,67174411===e.token?(F|=16,E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):Xt(r,n,r,143468===t?43:12399===t||12400===e.token?42:44,Dn[255&t])}else 134217728==(134217728&e.token)?(F|=16,f=Mo(e,u),A|=1,E=$o(e,u,A,o,C,a,c)):69271571===e.token?(F|=16,A|=3,f=Jo(e,u,o),E=$o(e,u,A,o,e.tokenPos,e.linePos,e.colPos)):jt(e,122);else jt(e,28,Dn[255&n]);F|=128&e.destructible?128:0,e.destructible=F,l.push(Mn(e,u,C,a,c,{type:"Property",key:f,value:E,kind:768&A?512&A?"set":"get":"init",computed:(2&A)>0,method:(1&A)>0,shorthand:(4&A)>0}))}if(F|=e.destructible,18!==e.token)break;_t(e,u)}Tn(e,u,1074790415),p>1&&(F|=64);const C=Mn(e,u,D,a,c,{type:r?"ObjectPattern":"ObjectExpression",properties:l});return!n&&4194304&e.token?Uo(e,u,F,o,r,D,a,c,C):(e.destructible=F,C)}function Jo(e,u,t){_t(e,32768|u);const n=Eo(e,134217728^(134217728|u),1,0,t,e.tokenPos,e.linePos,e.colPos);return Tn(e,u,20),n}function qo(e,u,t,n,o){const{tokenValue:r}=e,s=Ro(e,u,0);if(e.assignable=1,10===e.token){let i=void 0;return 64&u&&(i=Vn(e,u,r)),e.flags=128^(128|e.flags),Ho(e,u,i,[s],0,t,n,o)}return s}function Wo(e,u,t,n,o,r,s,i,D,a){r||jt(e,54),o&&jt(e,48),e.flags&=-129;return Ho(e,u,64&u?Vn(e,u,t):void 0,[n],s,i,D,a)}function zo(e,u,t,n,o,r,s,i,D){o||jt(e,54);for(let u=0;u4096?(On(e,u,e.token)&&jt(e,114),537079808==(537079808&e.token)&&jt(e,115),t&&($n(e,u,t,c,32,0),n&&2&n&&Jn(e,c)),D=Ro(e,u,0)):(1&n)<1&&jt(e,37,"Class");let l=u;wn(e,32768|u,20564)?(a=ko(e,u,0,0,0,e.tokenPos,e.linePos,e.colPos),l|=524288):l=524288^(524288|l);const F=nr(e,l,u,t,2,8,0);return Mn(e,u,o,r,s,1&u?{type:"ClassDeclaration",id:D,superClass:a,decorators:i,body:F}:{type:"ClassDeclaration",id:D,superClass:a,body:F})}function ur(e,u){const t=[];if(1&u)for(;130===e.token;)t.push(tr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function tr(e,u,t,n,o){_t(e,32768|u);let r=xo(e,u,2,0,1,0,0,1,t,n,o);return r=Po(e,u,r,0,0,t,n,o),Mn(e,u,t,n,o,{type:"Decorator",expression:r})}function nr(e,u,t,n,o,r,s){const{tokenPos:i,linePos:D,colPos:a}=e;Tn(e,32768|u,2162700),u=134217728^(134217728|u),e.flags=32^(32|e.flags);const c=[];let l;for(;1074790415!==e.token;){let r=0;l=ur(e,u),r=l.length,r>0&&"constructor"===e.tokenValue&&jt(e,106),1074790415===e.token&&jt(e,105),wn(e,u,1074790417)?r>0&&jt(e,116):c.push(or(e,u,n,t,o,l,0,s,e.tokenPos,e.linePos,e.colPos))}return Tn(e,8&r?32768|u:u,1074790415),Mn(e,u,i,D,a,{type:"ClassBody",body:c})}function or(e,u,t,n,o,r,s,i,D,a,c){let l=s?32:0,F=null;const{token:p,tokenPos:C,linePos:E,colPos:A}=e;if(176128&p)switch(F=Ro(e,u,0),p){case 36969:if(!s&&67174411!==e.token)return or(e,u,t,n,o,r,1,i,D,a,c);break;case 143468:if(67174411!==e.token&&(1&e.flags)<1){if(1&u&&1073741824==(1073741824&e.token))return sr(e,u,F,l,r,C,E,A);l|=16|(Sn(e,u,8457011)?8:0)}break;case 12399:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return sr(e,u,F,l,r,C,E,A);l|=256}break;case 12400:if(67174411!==e.token){if(1&u&&1073741824==(1073741824&e.token))return sr(e,u,F,l,r,C,E,A);l|=512}}else 69271571===p?(l|=2,F=Jo(e,n,i)):134217728==(134217728&p)?F=Mo(e,u):8457011===p?(l|=8,_t(e,u)):1&u&&128===e.token?(l|=4096,F=rr(e,u,C,E,A),u|=16384):1&u&&1073741824==(1073741824&e.token)?(l|=128,u|=16384):119===p?(F=Ro(e,u,0),67174411!==e.token&&jt(e,28,Dn[255&e.token])):jt(e,28,Dn[255&e.token]);if(792&l&&(143360&e.token?F=Ro(e,u,0):134217728==(134217728&e.token)?F=Mo(e,u):69271571===e.token?(l|=2,F=Jo(e,u,0)):119===e.token?F=Ro(e,u,0):1&u&&128===e.token?(l|=4096,F=rr(e,u,C,E,A)):jt(e,131)),(2&l)<1&&("constructor"===e.tokenValue?(1073741824==(1073741824&e.token)?jt(e,125):(32&l)<1&&67174411===e.token&&(920&l?jt(e,50,"accessor"):(524288&u)<1&&(32&e.flags?jt(e,51):e.flags|=32)),l|=64):(4096&l)<1&&824&l&&"prototype"===e.tokenValue&&jt(e,49)),1&u&&67174411!==e.token)return sr(e,u,F,l,r,C,E,A);const f=$o(e,u,l,i,e.tokenPos,e.linePos,e.colPos);return Mn(e,u,D,a,c,1&u?{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:F,decorators:r,value:f}:{type:"MethodDefinition",kind:(32&l)<1&&64&l?"constructor":256&l?"get":512&l?"set":"method",static:(32&l)>0,computed:(2&l)>0,key:F,value:f})}function rr(e,u,t,n,o){_t(e,u);const{tokenValue:r}=e;return"constructor"===r&&jt(e,124),_t(e,u),Mn(e,u,t,n,o,{type:"PrivateName",name:r})}function sr(e,u,t,n,o,r,s,i){let D=null;if(8&n&&jt(e,0),1077936157===e.token){_t(e,32768|u);const{tokenPos:t,linePos:n,colPos:o}=e;537079925===e.token&&jt(e,115),D=xo(e,16384|u,2,0,1,0,0,1,t,n,o),1073741824!=(1073741824&e.token)&&(D=Po(e,16384|u,D,0,0,t,n,o),D=mo(e,16384|u,0,0,t,n,o,D),18===e.token&&(D=Ao(e,u,0,r,s,i,D)))}return Mn(e,u,r,s,i,{type:"FieldDefinition",key:t,value:D,static:(32&n)>0,computed:(2&n)>0,decorators:o})}function ir(e,u,t,n,o,r,s,i){if(143360&e.token)return Dr(e,u,t,n,o,r,s,i);2097152!=(2097152&e.token)&&jt(e,28,Dn[255&e.token]);const D=69271571===e.token?Xo(e,u,t,1,0,1,n,o,r,s,i):_o(e,u,t,1,0,1,n,o,r,s,i);return 16&e.destructible&&jt(e,47),32&e.destructible&&jt(e,47),D}function Dr(e,u,t,n,o,r,s,i){const{tokenValue:D,token:a}=e;return 1024&u&&(537079808==(537079808&a)?jt(e,115):36864==(36864&a)&&jt(e,114)),20480==(20480&a)&&jt(e,99),2099200&u&&241770===a&&jt(e,30),241736===a&&24&n&&jt(e,97),4196352&u&&209005===a&&jt(e,95),_t(e,u),t&&Gn(e,u,t,D,n,o),Mn(e,u,r,s,i,{type:"Identifier",name:D})}function ar(e,u,t,n,o,r){if(_t(e,u),8456256===e.token)return Mn(e,u,n,o,r,{type:"JSXFragment",openingFragment:cr(e,u,n,o,r),children:Fr(e,u),closingFragment:lr(e,u,t,e.tokenPos,e.linePos,e.colPos)});let s=null,i=[];const D=function(e,u,t,n,o,r){143360!=(143360&e.token)&&4096!=(4096&e.token)&&jt(e,0);const s=Cr(e,u,e.tokenPos,e.linePos,e.colPos),i=function(e,u){const t=[];for(;8457013!==e.token&&8456256!==e.token&&1048576!==e.token;)t.push(Ar(e,u,e.tokenPos,e.linePos,e.colPos));return t}(e,u),D=8457013===e.token;8456256===e.token?Pn(e,u):(Tn(e,u,8457013),t?Tn(e,u,8456256):Pn(e,u));return Mn(e,u,n,o,r,{type:"JSXOpeningElement",name:s,attributes:i,selfClosing:D})}(e,u,t,n,o,r);if(!D.selfClosing){i=Fr(e,u),s=function(e,u,t,n,o,r){Tn(e,u,25);const s=Cr(e,u,e.tokenPos,e.linePos,e.colPos);t?Tn(e,u,8456256):e.token=Pn(e,u);return Mn(e,u,n,o,r,{type:"JSXClosingElement",name:s})}(e,u,t,e.tokenPos,e.linePos,e.colPos);const n=jn(s.name);jn(D.name)!==n&&jt(e,149,n)}return Mn(e,u,n,o,r,{type:"JSXElement",children:i,openingElement:D,closingElement:s})}function cr(e,u,t,n,o){return Pn(e,u),Mn(e,u,t,n,o,{type:"JSXOpeningFragment"})}function lr(e,u,t,n,o,r){return Tn(e,u,25),Tn(e,u,8456256),Mn(e,u,n,o,r,{type:"JSXClosingFragment"})}function Fr(e,u){const t=[];for(;25!==e.token;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,Pn(e,u),t.push(pr(e,u,e.tokenPos,e.linePos,e.colPos));return t}function pr(e,u,t,n,o){return 135===e.token?function(e,u,t,n,o){Pn(e,u);const r={type:"JSXText",value:e.tokenValue};512&u&&(r.raw=e.tokenRaw);return Mn(e,u,t,n,o,r)}(e,u,t,n,o):2162700===e.token?dr(e,u,0,0,t,n,o):8456255===e.token?ar(e,u,0,t,n,o):void jt(e,0)}function Cr(e,u,t,n,o){bn(e);let r=mr(e,u,t,n,o);if(21===e.token)return fr(e,u,r,t,n,o);for(;wn(e,u,67108877);)bn(e),r=Er(e,u,r,t,n,o);return r}function Er(e,u,t,n,o,r){return Mn(e,u,n,o,r,{type:"JSXMemberExpression",object:t,property:mr(e,u,e.tokenPos,e.linePos,e.colPos)})}function Ar(e,u,t,n,o){if(2162700===e.token)return function(e,u,t,n,o){_t(e,u),Tn(e,u,14);const r=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Tn(e,u,1074790415),Mn(e,u,t,n,o,{type:"JSXSpreadAttribute",argument:r})}(e,u,t,n,o);bn(e);let r=null,s=mr(e,u,t,n,o);if(21===e.token&&(s=fr(e,u,s,t,n,o)),1077936157===e.token){const t=kn(e,u),{tokenPos:n,linePos:o,colPos:s}=e;switch(t){case 134283267:r=Mo(e,u);break;case 8456255:r=ar(e,u,1,n,o,s);break;case 2162700:r=dr(e,u,1,1,n,o,s);break;default:jt(e,148)}}return Mn(e,u,t,n,o,{type:"JSXAttribute",value:r,name:s})}function fr(e,u,t,n,o,r){Tn(e,u,21);return Mn(e,u,n,o,r,{type:"JSXNamespacedName",namespace:t,name:mr(e,u,e.tokenPos,e.linePos,e.colPos)})}function dr(e,u,t,n,o,r,s){_t(e,u);const{tokenPos:i,linePos:D,colPos:a}=e;if(14===e.token)return function(e,u,t,n,o){Tn(e,u,14);const r=Eo(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return Tn(e,u,1074790415),Mn(e,u,t,n,o,{type:"JSXSpreadChild",expression:r})}(e,u,i,D,a);let c=null;return 1074790415===e.token?(n&&jt(e,151),c=function(e,u,t,n,o){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,Mn(e,u,t,n,o,{type:"JSXEmptyExpression"})}(e,u,e.startPos,e.startLine,e.startColumn)):c=Eo(e,u,1,0,0,i,D,a),t?Tn(e,u,1074790415):Pn(e,u),Mn(e,u,o,r,s,{type:"JSXExpressionContainer",expression:c})}function mr(e,u,t,n,o){const{tokenValue:r}=e;return _t(e,u),Mn(e,u,t,n,o,{type:"JSXIdentifier",name:r})}var gr=Object.freeze({__proto__:null});var Br=Object.freeze({__proto__:null,ESTree:gr,parse:function(e,u){return Hn(e,u,0)},parseModule:function(e,u){return Hn(e,u,3072)},parseScript:function(e,u){return Hn(e,u,0)},version:"3.1.6"});const{hasPragma:yr}=Je,{locStart:hr,locEnd:kr}=He,Pr={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function br(e,u){const{parse:t}=Br,n=[],o=[],r=t(e,Object.assign({},Pr,{module:u,onComment:n,onToken:o}));return r.comments=n,r.tokens=o,r}var xr={parsers:{meriyah:{parse:function(u,t,n){let o;try{o=br(u,!0)}catch(t){try{o=br(u,!1)}catch(u){const{message:n,line:o,column:r}=t;if("number"!=typeof o)throw t;throw e(n,{start:{line:o,column:r}})}}return Ot(o,Object.assign({},n,{originalText:u}))},astFormat:"estree",hasPragma:yr,locStart:hr,locEnd:kr}}};export default xr; diff --git a/node_modules/prettier/esm/parser-postcss.mjs b/node_modules/prettier/esm/parser-postcss.mjs deleted file mode 100644 index 3d491d79..00000000 --- a/node_modules/prettier/esm/parser-postcss.mjs +++ /dev/null @@ -1 +0,0 @@ -var e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function t(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}var r=t,o=n;function i(e){if(r===setTimeout)return setTimeout(e,0);if((r===t||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}"function"==typeof e.setTimeout&&(r=setTimeout),"function"==typeof e.clearTimeout&&(o=clearTimeout);var s,u=[],a=!1,c=-1;function l(){a&&s&&(a=!1,s.length?u=s.concat(u):c=-1,u.length&&f())}function f(){if(!a){var e=i(l);a=!0;for(var t=u.length;t;){for(s=u,u=[];++c1)for(var n=1;n>18&63]+k[o>>12&63]+k[o>>6&63]+k[63&o]);return i.join("")}function T(e){var t;_||O();for(var n=e.length,r=n%3,o="",i=[],s=16383,u=0,a=n-r;ua?a:u+s));return 1===r?(t=e[n-1],o+=k[t>>2],o+=k[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=k[t>>10],o+=k[t>>4&63],o+=k[t<<2&63],o+="="),i.push(o),i.join("")}function R(e,t,n,r,o){var i,s,u=8*o-r-1,a=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,i=p&(1<<-l)-1,p>>=-l,l+=u;l>0;i=256*i+e[t+f],f+=h,l-=8);for(s=i&(1<<-l)-1,i>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===i)i=1-c;else{if(i===a)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),i-=c}return(p?-1:1)*s*Math.pow(2,i-r)}function I(e,t,n,r,o,i){var s,u,a,c=8*i-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,D=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-s))<1&&(s--,a*=2),(t+=s+f>=1?h/a:h*Math.pow(2,1-f))*a>=2&&(s++,a/=2),s+f>=l?(u=0,s=l):s+f>=1?(u=(t*a-1)*Math.pow(2,o),s+=f):(u=t*Math.pow(2,f-1)*Math.pow(2,o),s=0));o>=8;e[n+p]=255&u,p+=d,u/=256,o-=8);for(s=s<0;e[n+p]=255&s,p+=d,s/=256,c-=8);e[n+p-d]|=128*D}var N={}.toString,M=Array.isArray||function(e){return"[object Array]"==N.call(e)};function B(){return P.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function L(e,t){if(B()=B())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+B().toString(16)+" bytes");return 0|e}function z(e){return!(null==e||!e._isBuffer)}function q(e,t){if(z(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return me(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return ye(e).length;default:if(r)return me(e).length;t=(""+t).toLowerCase(),r=!0}}function Y(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return se(this,t,n);case"utf8":case"utf-8":return re(this,t,n);case"ascii":return oe(this,t,n);case"latin1":case"binary":return ie(this,t,n);case"base64":return ne(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ue(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function V(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function X(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=P.from(t,r)),z(t))return 0===t.length?-1:J(e,t,n,r,o);if("number"==typeof t)return t&=255,P.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):J(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function J(e,t,n,r,o){var i,s=1,u=e.length,a=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,u/=2,a/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(o){var l=-1;for(i=n;iu&&(n=u-a),i=n;i>=0;i--){for(var f=!0,h=0;ho&&(r=o):r=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");r>i/2&&(r=i/2);for(var s=0;s>8,o=n%256,i.push(o),i.push(r);return i}(t,e.length-n),e,n,r)}function ne(e,t,n){return 0===t&&n===e.length?T(e):T(e.slice(t,n))}function re(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:c>223?3:c>191?2:1;if(o+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(i=e[o+1]))&&(a=(31&c)<<6|63&i)>127&&(l=a);break;case 3:i=e[o+1],s=e[o+2],128==(192&i)&&128==(192&s)&&(a=(15&c)<<12|(63&i)<<6|63&s)>2047&&(a<55296||a>57343)&&(l=a);break;case 4:i=e[o+1],s=e[o+2],u=e[o+3],128==(192&i)&&128==(192&s)&&128==(192&u)&&(a=(15&c)<<18|(63&i)<<12|(63&s)<<6|63&u)>65535&&a<1114112&&(l=a)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},P.prototype.compare=function(e,t,n,r,o){if(!z(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),u=Math.min(i,s),a=this.slice(r,o),c=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var i=!1;;)switch(r){case"hex":return H(this,e,t,n);case"utf8":case"utf-8":return Z(this,e,t,n);case"ascii":return K(this,e,t,n);case"latin1":case"binary":return Q(this,e,t,n);case"base64":return ee(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,e,t,n);default:if(i)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),i=!0}},P.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function oe(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",i=t;in)throw new RangeError("Trying to access beyond buffer length")}function ce(e,t,n,r,o,i){if(!z(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function le(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function fe(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function he(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function pe(e,t,n,r,o){return o||he(e,0,n,4),I(e,t,n,r,23,4),n+4}function de(e,t,n,r,o){return o||he(e,0,n,8),I(e,t,n,r,52,8),n+8}P.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},P.prototype.readUInt8=function(e,t){return t||ae(e,1,this.length),this[e]},P.prototype.readUInt16LE=function(e,t){return t||ae(e,2,this.length),this[e]|this[e+1]<<8},P.prototype.readUInt16BE=function(e,t){return t||ae(e,2,this.length),this[e]<<8|this[e+1]},P.prototype.readUInt32LE=function(e,t){return t||ae(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},P.prototype.readUInt32BE=function(e,t){return t||ae(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},P.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||ae(e,t,this.length);for(var r=this[e],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*t)),r},P.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||ae(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},P.prototype.readInt8=function(e,t){return t||ae(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},P.prototype.readInt16LE=function(e,t){t||ae(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},P.prototype.readInt16BE=function(e,t){t||ae(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},P.prototype.readInt32LE=function(e,t){return t||ae(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},P.prototype.readInt32BE=function(e,t){return t||ae(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},P.prototype.readFloatLE=function(e,t){return t||ae(e,4,this.length),R(this,e,!0,23,4)},P.prototype.readFloatBE=function(e,t){return t||ae(e,4,this.length),R(this,e,!1,23,4)},P.prototype.readDoubleLE=function(e,t){return t||ae(e,8,this.length),R(this,e,!0,52,8)},P.prototype.readDoubleBE=function(e,t){return t||ae(e,8,this.length),R(this,e,!1,52,8)},P.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||ce(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+n},P.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,1,255,0),P.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},P.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,2,65535,0),P.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):le(this,e,t,!0),t+2},P.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,2,65535,0),P.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):le(this,e,t,!1),t+2},P.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,4,4294967295,0),P.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):fe(this,e,t,!0),t+4},P.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,4,4294967295,0),P.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):fe(this,e,t,!1),t+4},P.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);ce(this,e,t,n,o-1,-o)}var i=0,s=1,u=0;for(this[t]=255&e;++i>0)-u&255;return t+n},P.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);ce(this,e,t,n,o-1,-o)}var i=n-1,s=1,u=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/s>>0)-u&255;return t+n},P.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,1,127,-128),P.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},P.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,2,32767,-32768),P.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):le(this,e,t,!0),t+2},P.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,2,32767,-32768),P.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):le(this,e,t,!1),t+2},P.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,4,2147483647,-2147483648),P.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):fe(this,e,t,!0),t+4},P.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||ce(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),P.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):fe(this,e,t,!1),t+4},P.prototype.writeFloatLE=function(e,t,n){return pe(this,e,t,!0,n)},P.prototype.writeFloatBE=function(e,t,n){return pe(this,e,t,!1,n)},P.prototype.writeDoubleLE=function(e,t,n){return de(this,e,t,!0,n)},P.prototype.writeDoubleBE=function(e,t,n){return de(this,e,t,!1,n)},P.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(i<1e3||!P.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function ye(e){return function(e){var t,n,r,o,i,s;_||O();var u=e.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i="="===e[u-2]?2:"="===e[u-1]?1:0,s=new x(3*u/4-i),r=i>0?u-4:u;var a=0;for(t=0,n=0;t>16&255,s[a++]=o>>8&255,s[a++]=255&o;return 2===i?(o=F[e.charCodeAt(t)]<<2|F[e.charCodeAt(t+1)]>>4,s[a++]=255&o):1===i&&(o=F[e.charCodeAt(t)]<<10|F[e.charCodeAt(t+1)]<<4|F[e.charCodeAt(t+2)]>>2,s[a++]=o>>8&255,s[a++]=255&o),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(De,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function ve(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function we(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ce,Ee,Ae=be((function(e,t){new Function("return this")(),e.exports=(()=>{var e={2426:e=>{e.exports=({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}},3584:e=>{const t=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const n=t.filter((e=>"\r\n"===e)).length;return n>t.length-n?"\r\n":"\n"};e.exports=t,e.exports.graceful=e=>"string"==typeof e&&t(e)||"\n"},541:e=>{e.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}},2240:e=>{e.exports=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},8051:e=>{e.exports=function(e,t){return(t="number"==typeof t?t:1/0)?function e(n,r){return n.reduce((function(n,o){return Array.isArray(o)&&r{e.exports=function(e,t){for(var n=-1,r=[];-1!==(n=e.indexOf(t,n+1));)r.push(n);return r}},9234:(e,t,n)=>{function r(){const e=n(9623);return r=function(){return e},e}function o(){const e=(t=n(3584))&&t.__esModule?t:{default:t};var t;return o=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(u);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(u);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return d(e).pragmas},t.parseWithComments=d,t.print=function({comments:e="",pragmas:t={}}){const n=(0,o().default)(e)||r().EOL,i=" *",s=Object.keys(t),u=s.map((e=>D(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+n)).join("");if(!e){if(0===s.length)return"";if(1===s.length&&!Array.isArray(t[s[0]])){const e=t[s[0]];return"".concat("/**"," ").concat(D(s[0],e)[0]).concat(" */")}}const a=e.split(n).map((e=>"".concat(i," ").concat(e))).join(n)+n;return"/**"+n+(e?a:"")+(e&&s.length?i+n:"")+u+" */"};const i=/\*\/$/,s=/^\/\*\*/,u=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,c=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,f=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,h=/(\r?\n|^) *\* ?/g,p=[];function d(e){const t=(0,o().default)(e)||r().EOL;e=e.replace(s,"").replace(i,"").replace(h,"$1");let n="";for(;n!==e;)n=e,e=e.replace(l,"".concat(t,"$1 $2").concat(t));e=e.replace(c,"").trimRight();const u=Object.create(null),d=e.replace(f,"").replace(c,"").trimRight();let D;for(;D=f.exec(e);){const e=D[2].replace(a,"");"string"==typeof u[D[1]]||Array.isArray(u[D[1]])?u[D[1]]=p.concat(u[D[1]],e):u[D[1]]=e}return{comments:d,pragmas:u}}function D(e,t){return p.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}},5311:(e,t,n)=>{function r(){for(var e=[],t=0;tm,outdent:()=>g}),e=n.hmd(e);var i=Object.prototype.hasOwnProperty,s=function(e,t){return i.call(e,t)};function u(e,t){for(var n in t)s(t,n)&&(e[n]=t[n]);return e}var a=/^[ \t]*(?:\r\n|\r|\n)/,c=/(?:\r\n|\r|\n)[ \t]*$/,l=/^(?:[\r\n]|$)/,f=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,h=/^[ \t]*[\r\n][ \t\r\n]*$/;function p(e,t,n){var r=0,o=e[0].match(f);o&&(r=o[1].length);var i=new RegExp("(\\r\\n|\\r|\\n).{0,"+r+"}","g");t&&(e=e.slice(1));var s=n.newline,u=n.trimLeadingNewline,l=n.trimTrailingNewline,h="string"==typeof s,p=e.length;return e.map((function(e,t){return e=e.replace(i,"$1"),0===t&&u&&(e=e.replace(a,"")),t===p-1&&l&&(e=e.replace(c,"")),h&&(e=e.replace(/\r\n|\n|\r/g,(function(e){return s}))),e}))}function d(e,t){for(var n="",r=0,o=e.length;r{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",o=0,i=-1,s=0,u=0;u<=e.length;++u){if(u2){var a=r.lastIndexOf("/");if(a!==r.length-1){-1===a?(r="",o=0):o=(r=r.slice(0,a)).length-1-r.lastIndexOf("/"),i=u,s=0;continue}}else if(2===r.length||1===r.length){r="",o=0,i=u,s=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(i+1,u):r=e.slice(i+1,u),o=u-i-1;i=u,s=0}else 46===n&&-1!==s?++s:s=-1}return r}var r={resolve:function(){for(var e,r="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s;i>=0?s=arguments[i]:(void 0===e&&(e=A.cwd()),s=e),t(s),0!==s.length&&(r=s+"/"+r,o=47===s.charCodeAt(0))}return r=n(r,!o),o?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&o&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=o:e+="/"+o)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var o=1;oc){if(47===n.charCodeAt(u+f))return n.slice(u+f+1);if(0===f)return n.slice(u+f)}else s>c&&(47===e.charCodeAt(o+f)?l=f:0===f&&(l=0));break}var h=e.charCodeAt(o+f);if(h!==n.charCodeAt(u+f))break;47===h&&(l=f)}var p="";for(f=o+l+1;f<=i;++f)f!==i&&47!==e.charCodeAt(f)||(0===p.length?p+="..":p+="/..");return p.length>0?p+n.slice(u+l):(u+=l,47===n.charCodeAt(u)&&++u,n.slice(u))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,o=-1,i=!0,s=e.length-1;s>=1;--s)if(47===(n=e.charCodeAt(s))){if(!i){o=s;break}}else i=!1;return-1===o?r?"/":".":r&&1===o?"//":e.slice(0,o)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,o=0,i=-1,s=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var u=n.length-1,a=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!s){o=r+1;break}}else-1===a&&(s=!1,a=r+1),u>=0&&(c===n.charCodeAt(u)?-1==--u&&(i=r):(u=-1,i=a))}return o===i?i=a:-1===i&&(i=e.length),e.slice(o,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!s){o=r+1;break}}else-1===i&&(s=!1,i=r+1);return-1===i?"":e.slice(o,i)},extname:function(e){t(e);for(var n=-1,r=0,o=-1,i=!0,s=0,u=e.length-1;u>=0;--u){var a=e.charCodeAt(u);if(47!==a)-1===o&&(i=!1,o=u+1),46===a?-1===n?n=u:1!==s&&(s=1):-1!==n&&(s=-1);else if(!i){r=u+1;break}}return-1===n||-1===o||0===s||1===s&&n===o-1&&n===r+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}("/",e)},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,o=e.charCodeAt(0),i=47===o;i?(n.root="/",r=1):r=0;for(var s=-1,u=0,a=-1,c=!0,l=e.length-1,f=0;l>=r;--l)if(47!==(o=e.charCodeAt(l)))-1===a&&(c=!1,a=l+1),46===o?-1===s?s=l:1!==f&&(f=1):-1!==s&&(f=-1);else if(!c){u=l+1;break}return-1===s||-1===a||0===f||1===f&&s===a-1&&s===u+1?-1!==a&&(n.base=n.name=0===u&&i?e.slice(1,a):e.slice(u,a)):(0===u&&i?(n.name=e.slice(1,s),n.base=e.slice(1,a)):(n.name=e.slice(u,s),n.base=e.slice(u,a)),n.ext=e.slice(s,a)),u>0?n.dir=e.slice(0,u-1):i&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},8681:(e,t,n)=>{const r=n(3102),o=n(7116),{isInlineComment:i}=n(1101),{interpolation:s}=n(3295),{isMixinToken:u}=n(5953),a=n(1330),c=n(5255),l=/(!\s*important)$/i;e.exports=class extends o{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),a(this.lastNode),c(this.lastNode))}decl(...e){super.decl(...e),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=" ".concat(e[0][1]);const t=e.findIndex((e=>"("===e[0])),n=e.reverse().find((e=>")"===e[0])),r=e.reverse().indexOf(n),o=e.splice(t,r).map((e=>e[1])).join("");for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=o}init(e,t,n){super.init(e,t,n),this.lastNode=e}inlineComment(e){const t=new r,n=e[1].slice(2);if(this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]},t.inline=!0,t.raws.begin="//",/^\s*$/.test(n))t.text="",t.raws.left=n,t.raws.right="";else{const e=n.match(/^(\s*)([^]*[^\s])(\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){const[t]=e,n=t[1].slice(0,1),r=e.findIndex((e=>"brackets"===e[0])),o=e.findIndex((e=>"("===e[0]));let i="";if((r<0||r>3)&&o>0){const t=e.reduce(((e,t,n)=>")"===t[0]?n:e)),n=e.slice(o,t+o).map((e=>e[1])).join(""),[r]=e.slice(o),i=[r[2],r[3]],[s]=e.slice(t,t+1),u=[s[2],s[3]],a=["brackets",n].concat(i,u),c=e.slice(0,o),l=e.slice(t+1);(e=c).push(a),e=e.concat(l)}const s=[];for(const t of e)if(("!"===t[1]||s.length)&&s.push(t),"important"===t[1])break;if(s.length){const[t]=s,n=e.indexOf(t),r=s[s.length-1],o=[t[2],t[3]],i=[r[4],r[5]],u=["word",s.map((e=>e[1])).join("")].concat(o,i);e.splice(n,s.length,u)}const u=e.findIndex((e=>l.test(e[1])));u>0&&([,i]=e[u],e.splice(u,1));for(const t of e.reverse())this.tokenizer.back(t);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=n,i&&(this.lastNode.important=!0,this.lastNode.raws.important=i)}other(e){i.bind(this)(e)||super.other(e)}rule(e){const t=e[e.length-1],n=e[e.length-2];if("at-word"===n[0]&&"{"===t[0]&&(this.tokenizer.back(t),s.bind(this)(n))){const t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(const t of e.reverse())this.tokenizer.back(t)}else super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){const[t]=e;"each"!==e[0][1]||"("!==e[1][0]?u(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}},3406:(e,t,n)=>{const r=n(5701);e.exports=class extends r{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);const n=e.function?"":e.raws.identifier||"@";let r="".concat(n).concat(e.name),o=e.params?this.rawValue(e,"params"):"";const i=e.raws.important||"";if(e.variable&&(o=e.value),void 0!==e.raws.afterName?r+=e.raws.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o+i);else{const n=(e.raws.between||"")+i+(t?";":"");this.builder(r+o+n,e)}}comment(e){if(e.inline){const t=this.raw(e,"left","commentLeft"),n=this.raw(e,"right","commentRight");this.builder("//".concat(t).concat(e.text).concat(n),e)}else super.comment(e)}}},7371:(e,t,n)=>{const r=n(2993),o=n(8681),i=n(3406);e.exports={parse(e,t){const n=new r(e,t),i=new o(n);return i.parse(),i.root},stringify(e,t){new i(t).stringify(e)},nodeToString(t){let n="";return e.exports.stringify(t,(e=>{n+=e})),n}}},1330:(e,t,n)=>{const r=n(1157),o=/^url\((.+)\)/;e.exports=e=>{const{name:t,params:n=""}=e;if("import"===t&&n.length){e.import=!0;const t=r({css:n});for(e.filename=n.replace(o,"$1");!t.endOfFile();){const[r,o]=t.nextToken();if("word"===r&&"url"===o)return;if("brackets"===r){e.options=o,e.filename=n.replace(o,"").trim();break}}}}},1101:(e,t,n)=>{const r=n(1157),o=n(2993);e.exports={isInlineComment(t){if("word"===t[0]&&"//"===t[1].slice(0,2)){const e=t,n=[];let i;for(;t;){if(/\r?\n/.test(t[1])){if(/['"].*\r?\n/.test(t[1])){n.push(t[1].substring(0,t[1].indexOf("\n")));let e=t[1].substring(t[1].indexOf("\n"));e+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new o(e),this.tokenizer=r(this.input)}else this.tokenizer.back(t);break}n.push(t[1]),i=t,t=this.tokenizer.nextToken({ignoreUnclosed:!0})}const s=["comment",n.join(""),e[2],e[3],i[2],i[3]];return this.inlineComment(s),!0}if("/"===t[1]){const n=this.tokenizer.nextToken({ignoreUnclosed:!0});if("comment"===n[0]&&/^\/\*/.test(n[1]))return n[0]="word",n[1]=n[1].slice(1),t[1]="//",this.tokenizer.back(n),e.exports.isInlineComment.bind(this)(t)}return!1}}},3295:e=>{e.exports={interpolation(e){let t=e;const n=[e],r=["word","{","}"];if(e=this.tokenizer.nextToken(),t[1].length>1||"{"!==e[0])return this.tokenizer.back(e),!1;for(;e&&r.includes(e[0]);)n.push(e),e=this.tokenizer.nextToken();const o=n.map((e=>e[1]));[t]=n;const i=n.pop(),s=[t[2],t[3]],u=[i[4]||i[2],i[5]||i[3]],a=["word",o.join("")].concat(s,u);return this.tokenizer.back(e),this.tokenizer.back(a),!0}}},5953:e=>{const t=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,n=/\.[0-9]/;e.exports={isMixinToken:e=>{const[,r]=e,[o]=r;return("."===o||"#"===o)&&!1===t.test(r)&&!1===n.test(r)}}},5255:e=>{const t=/:$/,n=/^:(\s+)?/;e.exports=e=>{const{name:r,params:o=""}=e;if(":"===e.name.slice(-1)){if(t.test(r)){const[n]=r.match(t);e.name=r.replace(n,""),e.raws.afterName=n+(e.raws.afterName||""),e.variable=!0,e.value=e.params}if(n.test(o)){const[t]=o.match(n);e.value=o.replace(t,""),e.raws.afterName=(e.raws.afterName||"")+t,e.variable=!0}}}},8322:(e,t,n)=>{t.Z=function(e){return new o.default({nodes:(0,i.parseMediaList)(e),type:"media-query-list",value:e.trim()})};var r,o=(r=n(9066))&&r.__esModule?r:{default:r},i=n(7625)},9066:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r,o=(r=n(7680))&&r.__esModule?r:{default:r};function i(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((function(e){e.parent=t}))}i.prototype=Object.create(o.default.prototype),i.constructor=o.default,i.prototype.walk=function(e,t){for(var n="string"==typeof e||e instanceof RegExp,r=n?t:e,o="string"==typeof e?new RegExp(e):e,i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}},7625:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.parseMediaFeature=s,t.parseMediaQuery=u,t.parseMediaList=function(e){var t=[],n=0,i=0,s=/^(\s*)url\s*\(/.exec(e);if(null!==s){for(var a=s[0].length,c=1;c>0;){var l=e[a];"("===l&&c++,")"===l&&c--,a++}t.unshift(new r.default({type:"url",value:e.substring(0,a).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\s*)/.exec(e.substring(a))[1]})),n=a}for(var f=n;f0&&(n[f-1].after=a.before),void 0===a.type){if(f>0){if("media-feature-expression"===n[f-1].type){a.type="keyword";continue}if("not"===n[f-1].value||"only"===n[f-1].value){a.type="media-type";continue}if("and"===n[f-1].value){a.type="media-feature-expression";continue}"media-type"===n[f-1].type&&(n[f+1]?a.type="media-feature-expression"===n[f+1].type?"keyword":"media-feature-expression":a.type="media-feature-expression")}if(0===f){if(!n[f+1]){a.type="media-type";continue}if(n[f+1]&&("media-feature-expression"===n[f+1].type||"keyword"===n[f+1].type)){a.type="media-type";continue}if(n[f+2]){if("media-feature-expression"===n[f+2].type){a.type="media-type",n[f+1].type="keyword";continue}if("keyword"===n[f+2].type){a.type="keyword",n[f+1].type="media-type";continue}}if(n[f+3]&&"media-feature-expression"===n[f+3].type){a.type="keyword",n[f+1].type="media-type",n[f+2].type="keyword";continue}}}return n}},5822:(e,t,n)=>{var r=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).type="decl",n.isNested=!0,n.nodes||(n.nodes=[]),n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r}(n(1204));e.exports=r},1945:(e,t,n)=>{var r=n(2993),o=n(1713);e.exports=function(e,t){var n=new r(e,t),i=new o(n);return i.parse(),i.root}},1713:(e,t,n)=>{var r=n(3102),o=n(7116),i=n(5822),s=n(6256),u=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=o.prototype;return u.createTokenizer=function(){this.tokenizer=s(this.input)},u.rule=function(t){var n=!1,r=0,o="",s=t,u=Array.isArray(s),a=0;for(s=u?s:s[Symbol.iterator]();;){var c;if(u){if(a>=s.length)break;c=s[a++]}else{if((a=s.next()).done)break;c=a.value}var l=c;if(n)"comment"!==l[0]&&"{"!==l[0]&&(o+=l[1]);else{if("space"===l[0]&&-1!==l[1].indexOf("\n"))break;"("===l[0]?r+=1:")"===l[0]?r-=1:0===r&&":"===l[0]&&(n=!0)}}if(!n||""===o.trim()||/^[a-zA-Z-:#]/.test(o))e.prototype.rule.call(this,t);else{t.pop();var f=new i;this.init(f);var h,p=t[t.length-1];for(p[4]?f.source.end={line:p[4],column:p[5]}:f.source.end={line:p[2],column:p[3]};"word"!==t[0][0];)f.raws.before+=t.shift()[1];for(f.source.start={line:t[0][2],column:t[0][3]},f.prop="";t.length;){var d=t[0][0];if(":"===d||"space"===d||"comment"===d)break;f.prop+=t.shift()[1]}for(f.raws.between="";t.length;){if(":"===(h=t.shift())[0]){f.raws.between+=h[1];break}f.raws.between+=h[1]}"_"!==f.prop[0]&&"*"!==f.prop[0]||(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(t),this.precheckMissedSemicolon(t);for(var D=t.length-1;D>0;D--){if("!important"===(h=t[D])[1]){f.important=!0;var g=this.stringFrom(t,D);" !important"!==(g=this.spacesFromEnd(t)+g)&&(f.raws.important=g);break}if("important"===h[1]){for(var m=t.slice(0),y="",v=D;v>0;v--){var w=m[v][0];if(0===y.trim().indexOf("!")&&"space"!==w)break;y=m.pop()[1]+y}0===y.trim().indexOf("!")&&(f.important=!0,f.raws.important=y,t=m)}if("space"!==h[0]&&"comment"!==h[0])break}this.raw(f,"value",t),-1!==f.value.indexOf(":")&&this.checkMissedSemicolon(t),this.current=f}},u.comment=function(t){if("inline"===t[6]){var n=new r;this.init(n,t[2],t[3]),n.raws.inline=!0,n.source.end={line:t[4],column:t[5]};var o=t[1].slice(2);if(/^\s*$/.test(o))n.text="",n.raws.left=o,n.raws.right="";else{var i=o.match(/^(\s*)([^]*[^\s])(\s*)$/),s=i[2].replace(/(\*\/|\/\*)/g,"*//*");n.text=s,n.raws.left=i[1],n.raws.right=i[3],n.raws.text=i[2]}}else e.prototype.comment.call(this,t)},u.raw=function(t,n,r){if(e.prototype.raw.call(this,t,n,r),t.raws[n]){var o=t.raws[n].raw;t.raws[n].raw=r.reduce((function(e,t){return"comment"===t[0]&&"inline"===t[6]?e+"/*"+t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*")+"*/":e+t[1]}),""),o!==t.raws[n].raw&&(t.raws[n].scss=o)}},o}(o);e.exports=u},9235:(e,t,n)=>{var r=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.comment=function(e){var t=this.raw(e,"left","commentLeft"),n=this.raw(e,"right","commentRight");if(e.raws.inline){var r=e.raws.text||e.text;this.builder("//"+t+r+n,e)}else this.builder("/*"+t+e.text+n+"*/",e)},o.decl=function(t,n){if(t.isNested){var r,o=this.raw(t,"between","colon"),i=t.prop+o+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),this.builder(i+"{",t,"start"),t.nodes&&t.nodes.length?(this.body(t),r=this.raw(t,"after")):r=this.raw(t,"after","emptyBody"),r&&this.builder(r),this.builder("}",t,"end")}else e.prototype.decl.call(this,t,n)},o.rawValue=function(e,t){var n=e[t],r=e.raws[t];return r&&r.value===n?r.scss?r.scss:r.raw:n},r}(n(5701));e.exports=r},4933:(e,t,n)=>{var r=n(9235);e.exports=function(e,t){new r(t).stringify(e)}},304:(e,t,n)=>{var r=n(4933),o=n(1945);e.exports={parse:o,stringify:r}},6256:e=>{var t="'".charCodeAt(0),n='"'.charCodeAt(0),r="\\".charCodeAt(0),o="/".charCodeAt(0),i="\n".charCodeAt(0),s=" ".charCodeAt(0),u="\f".charCodeAt(0),a="\t".charCodeAt(0),c="\r".charCodeAt(0),l="[".charCodeAt(0),f="]".charCodeAt(0),h="(".charCodeAt(0),p=")".charCodeAt(0),d="{".charCodeAt(0),D="}".charCodeAt(0),g=";".charCodeAt(0),m="*".charCodeAt(0),y=":".charCodeAt(0),v="@".charCodeAt(0),w=",".charCodeAt(0),b="#".charCodeAt(0),C=/[ \n\t\r\f{}()'"\\;/[\]#]/g,E=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,A=/.[\\/("'\n]/,k=/[a-f0-9]/i,F=/[\r\f\n]/g;e.exports=function(e,x){void 0===x&&(x={});var _,O,S,T,R,I,N,M,B,L,P,j,U,$,G=e.css.valueOf(),W=x.ignoreErrors,z=G.length,q=-1,Y=1,V=0,X=[],J=[];function H(t){throw e.error("Unclosed "+t,Y,V-q)}function Z(){for(var e=1,o=!1,i=!1;e>0;)O+=1,G.length<=O&&H("interpolation"),_=G.charCodeAt(O),j=G.charCodeAt(O+1),o?i||_!==o?_===r?i=!L:i&&(i=!1):(o=!1,i=!1):_===t||_===n?o=_:_===D?e-=1:_===b&&j===d&&(e+=1)}return{back:function(e){J.push(e)},nextToken:function(){if(J.length)return J.pop();if(!(V>=z)){switch(((_=G.charCodeAt(V))===i||_===u||_===c&&G.charCodeAt(V+1)!==i)&&(q=V,Y+=1),_){case i:case s:case a:case c:case u:O=V;do{O+=1,(_=G.charCodeAt(O))===i&&(q=O,Y+=1)}while(_===s||_===i||_===a||_===c||_===u);U=["space",G.slice(V,O)],V=O-1;break;case l:U=["[","[",Y,V-q];break;case f:U=["]","]",Y,V-q];break;case d:U=["{","{",Y,V-q];break;case D:U=["}","}",Y,V-q];break;case w:U=["word",",",Y,V-q,Y,V-q+1];break;case y:U=[":",":",Y,V-q];break;case g:U=[";",";",Y,V-q];break;case h:if(P=X.length?X.pop()[1]:"",j=G.charCodeAt(V+1),"url"===P&&j!==t&&j!==n){for($=1,L=!1,O=V+1;O<=G.length-1;){if((j=G.charCodeAt(O))===r)L=!L;else if(j===h)$+=1;else if(j===p&&0==($-=1))break;O+=1}I=G.slice(V,O+1),T=I.split("\n"),(R=T.length-1)>0?(M=Y+R,B=O-T[R].length):(M=Y,B=q),U=["brackets",I,Y,V-q,M,O-B],q=B,Y=M,V=O}else O=G.indexOf(")",V+1),I=G.slice(V,O+1),-1===O||A.test(I)?U=["(","(",Y,V-q]:(U=["brackets",I,Y,V-q,Y,O-q],V=O);break;case p:U=[")",")",Y,V-q];break;case t:case n:for(S=_,O=V,L=!1;O0?(M=Y+R,B=O-T[R].length):(M=Y,B=q),U=["string",G.slice(V,O+1),Y,V-q,M,O-B],q=B,Y=M,V=O;break;case v:C.lastIndex=V+1,C.test(G),O=0===C.lastIndex?G.length-1:C.lastIndex-2,U=["at-word",G.slice(V,O+1),Y,V-q,Y,O-q],V=O;break;case r:for(O=V,N=!0;G.charCodeAt(O+1)===r;)O+=1,N=!N;if(_=G.charCodeAt(O+1),N&&_!==o&&_!==s&&_!==i&&_!==a&&_!==c&&_!==u&&(O+=1,k.test(G.charAt(O)))){for(;k.test(G.charAt(O+1));)O+=1;G.charCodeAt(O+1)===s&&(O+=1)}U=["word",G.slice(V,O+1),Y,V-q,Y,O-q],V=O;break;default:j=G.charCodeAt(V+1),_===b&&j===d?(O=V,Z(),I=G.slice(V,O+1),T=I.split("\n"),(R=T.length-1)>0?(M=Y+R,B=O-T[R].length):(M=Y,B=q),U=["word",I,Y,V-q,M,O-B],q=B,Y=M,V=O):_===o&&j===m?(0===(O=G.indexOf("*/",V+2)+1)&&(W?O=G.length:H("comment")),I=G.slice(V,O+1),T=I.split("\n"),(R=T.length-1)>0?(M=Y+R,B=O-T[R].length):(M=Y,B=q),U=["comment",I,Y,V-q,M,O-B],q=B,Y=M,V=O):_===o&&j===o?(F.lastIndex=V+1,F.test(G),O=0===F.lastIndex?G.length-1:F.lastIndex-2,I=G.slice(V,O+1),U=["comment",I,Y,V-q,Y,O-q,"inline"],V=O):(E.lastIndex=V+1,E.test(G),O=0===E.lastIndex?G.length-1:E.lastIndex-2,U=["word",G.slice(V,O+1),Y,V-q,Y,O-q],X.push(U),V=O)}return V++,U}},endOfFile:function(){return 0===J.length&&V>=z}}}},1264:(e,t,n)=>{t.__esModule=!0;var r=m(n(2566)),o=m(n(616)),i=m(n(7835)),s=m(n(478)),u=m(n(4907)),a=m(n(8420)),c=m(n(7523)),l=m(n(4316)),f=m(n(6909)),h=m(n(6279)),p=m(n(439)),d=m(n(9956)),D=m(n(70)),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(8790));function m(e){return e&&e.__esModule?e:{default:e}}var y=function(e){return new r.default(e)};y.attribute=function(e){return new o.default(e)},y.className=function(e){return new i.default(e)},y.combinator=function(e){return new s.default(e)},y.comment=function(e){return new u.default(e)},y.id=function(e){return new a.default(e)},y.nesting=function(e){return new c.default(e)},y.pseudo=function(e){return new l.default(e)},y.root=function(e){return new f.default(e)},y.selector=function(e){return new h.default(e)},y.string=function(e){return new p.default(e)},y.tag=function(e){return new d.default(e)},y.universal=function(e){return new D.default(e)},Object.keys(g).forEach((function(e){"__esModule"!==e&&(y[e]=g[e])})),t.default=y,e.exports=t.default},5269:(e,t,n)=>{t.__esModule=!0;var r=function(){function e(e,t){for(var n=0;n1?(""===o[0]&&(o[0]=!0),i.attribute=this.parseValue(o[2]),i.namespace=this.parseNamespace(o[0])):i.attribute=this.parseValue(r[0]),t=new D.default(i),r[2]){var s=r[2].split(/(\s+i\s*?)$/),u=s[0].trim();t.value=this.lossy?u:s[0],s[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=s[1])),t.quoted="'"===u[0]||'"'===u[0],t.raws.unquoted=t.quoted?u.slice(1,-1):u}this.newNode(t),this.position++},e.prototype.combinator=function(){if("|"===this.currToken[1])return this.namespace();for(var e=new m.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&"("===e.nextToken[0]&&e.error("Misplaced parenthesis.")}))}else this.error('Unexpected "'+this.currToken[0]+'" found.')},e.prototype.space=function(){var e=this.currToken;0===this.position||","===this.prevToken[0]||"("===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},e.prototype.string=function(){var e=this.currToken;this.newNode(new p.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},e.prototype.universal=function(e){var t=this.nextToken;if(t&&"|"===t[1])return this.position++,this.namespace();this.newNode(new g.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},e.prototype.splitWord=function(e,t){for(var n=this,r=this.nextToken,u=this.currToken[1];r&&"word"===r[0];){this.position++;var a=this.currToken[1];if(u+=a,a.lastIndexOf("\\")===a.length-1){var l=this.nextToken;l&&"space"===l[0]&&(u+=this.parseSpace(l[1]," "),this.position++)}r=this.nextToken}var p=(0,i.default)(u,"."),d=(0,i.default)(u,"#"),D=(0,i.default)(u,"#{");D.length&&(d=d.filter((function(e){return!~D.indexOf(e)})));var g=(0,v.default)((0,s.default)((0,o.default)([[0],p,d])));g.forEach((function(r,o){var i=g[o+1]||u.length,s=u.slice(r,i);if(0===o&&t)return t.call(n,s,g.length);var a=void 0;a=~p.indexOf(r)?new c.default({value:s.slice(1),source:{start:{line:n.currToken[2],column:n.currToken[3]+r},end:{line:n.currToken[4],column:n.currToken[3]+(i-1)}},sourceIndex:n.currToken[6]+g[o]}):~d.indexOf(r)?new f.default({value:s.slice(1),source:{start:{line:n.currToken[2],column:n.currToken[3]+r},end:{line:n.currToken[4],column:n.currToken[3]+(i-1)}},sourceIndex:n.currToken[6]+g[o]}):new h.default({value:s,source:{start:{line:n.currToken[2],column:n.currToken[3]+r},end:{line:n.currToken[4],column:n.currToken[3]+(i-1)}},sourceIndex:n.currToken[6]+g[o]}),n.newNode(a,e)})),this.position++},e.prototype.word=function(e){var t=this.nextToken;return t&&"|"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},e.prototype.loop=function(){for(;this.position{t.__esModule=!0;var r,o=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},n=new i.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=n,this.func(n),this},o(e,[{key:"result",get:function(){return String(this.res)}}]),e}();t.default=s,e.exports=t.default},616:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(4379))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.ATTRIBUTE,r.raws={},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(" i"),e.push("]"),e.concat(this.spaces.after).join("")},t}(o.default);t.default=s,e.exports=t.default},7835:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(4379))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.CLASS,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("."+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},478:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(8871))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.COMBINATOR,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},4907:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(8871))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.COMMENT,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},7144:(e,t,n)=>{t.__esModule=!0;var r,o=function(){function e(e,t){for(var n=0;n=e&&(this.indexes[n]=t-1);return this},t.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),n=0;for(e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if((n=e.next()).done)break;r=n.value}r.parent=void 0}return this.nodes=[],this},t.prototype.empty=function(){return this.removeAll()},t.prototype.insertAfter=function(e,t){var n=this.index(e);this.nodes.splice(n+1,0,t);var r=void 0;for(var o in this.indexes)n<=(r=this.indexes[o])&&(this.indexes[o]=r+this.nodes.length);return this},t.prototype.insertBefore=function(e,t){var n=this.index(e);this.nodes.splice(n,0,t);var r=void 0;for(var o in this.indexes)n<=(r=this.indexes[o])&&(this.indexes[o]=r+this.nodes.length);return this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var n=void 0,r=void 0;this.indexes[t]{t.__esModule=!0;var r,o=(r=n(4379))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.ID,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,String("#"+this.value),this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},4379:(e,t,n)=>{t.__esModule=!0;var r,o=function(){function e(e,t){for(var n=0;n{t.__esModule=!0;var r,o=(r=n(8871))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.NESTING,r.value="&",r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},8871:(e,t)=>{t.__esModule=!0;var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function e(t,r){if("object"!==(void 0===t?"undefined":n(t)))return t;var o=new t.constructor;for(var i in t)if(t.hasOwnProperty(i)){var s=t[i],u=void 0===s?"undefined":n(s);"parent"===i&&"object"===u?r&&(o[i]=r):o[i]=s instanceof Array?s.map((function(t){return e(t,o)})):e(s,o)}return o},i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var n in r(this,e),t)this[n]=t[n];var o=t.spaces,i=(o=void 0===o?{}:o).before,s=void 0===i?"":i,u=o.after,a=void 0===u?"":u;this.spaces={before:s,after:a}}return e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},e.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=o(this);for(var n in e)t[n]=e[n];return t},e.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},e}();t.default=i,e.exports=t.default},4316:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(7144))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.PSEUDO,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),e,this.spaces.after].join("")},t}(o.default);t.default=s,e.exports=t.default},6909:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(7144))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.ROOT,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.toString=function(){var e=this.reduce((function(e,t){var n=String(t);return n?e+n+",":""}),"").slice(0,-1);return this.trailingComma?e+",":e},t}(o.default);t.default=s,e.exports=t.default},6279:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(7144))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.SELECTOR,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},439:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(8871))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.STRING,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},9956:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(4379))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.TAG,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},8790:(e,t)=>{t.__esModule=!0,t.TAG="tag",t.STRING="string",t.SELECTOR="selector",t.ROOT="root",t.PSEUDO="pseudo",t.NESTING="nesting",t.ID="id",t.COMMENT="comment",t.COMBINATOR="combinator",t.CLASS="class",t.ATTRIBUTE="attribute",t.UNIVERSAL="universal"},70:(e,t,n)=>{t.__esModule=!0;var r,o=(r=n(4379))&&r.__esModule?r:{default:r},i=n(8790),s=function(e){function t(n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,n));return r.type=i.UNIVERSAL,r.value="*",r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(o.default);t.default=s,e.exports=t.default},9788:(e,t)=>{t.__esModule=!0,t.default=function(e){return e.sort((function(e,t){return e-t}))},e.exports=t.default},6554:(e,t)=>{t.__esModule=!0,t.default=function(e){for(var t=[],o=e.css.valueOf(),i=void 0,s=void 0,u=void 0,a=void 0,c=void 0,l=void 0,f=void 0,h=void 0,p=void 0,d=void 0,D=void 0,g=o.length,m=-1,y=1,v=0,w=function(t,n){if(!e.safe)throw e.error("Unclosed "+t,y,v-m,v);s=(o+=n).length-1};v0?(h=y+c,p=s-a[c].length):(h=y,p=m),t.push(["comment",l,y,v-m,h,s-p,v]),m=p,y=h,v=s):(r.lastIndex=v+1,r.test(o),s=0===r.lastIndex?o.length-1:r.lastIndex-2,t.push(["word",o.slice(v,s+1),y,v-m,y,s-m,v]),v=s)}v++}return t};var n=/[ \n\t\r\{\(\)'"\\;/]/g,r=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;e.exports=t.default},5294:(e,t,n)=>{const r=n(4196);class o extends r{constructor(e){super(e),this.type="atword"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}}r.registerWalker(o),e.exports=o},8709:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="colon"}}r.registerWalker(i),e.exports=i},3627:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="comma"}}r.registerWalker(i),e.exports=i},4384:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="comment",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}}r.registerWalker(i),e.exports=i},4196:(e,t,n)=>{const r=n(1466);class o extends r{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,n,r=this.lastEach;if(this.indexes[r]=0,this.nodes){for(;this.indexes[r]{let r=e(t,n);return!1!==r&&t.walk&&(r=t.walk(e)),r}))}walkType(e,t){if(!e||!t)throw new Error("Parameters {type} and {callback} are required.");const n="function"==typeof e;return this.walk(((r,o)=>{if(n&&r instanceof e||!n&&r.type===e)return t.call(this,r,o)}))}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let n,r=this.index(e);this.nodes.splice(r+1,0,t);for(let e in this.indexes)n=this.indexes[e],r<=n&&(this.indexes[e]=n+this.nodes.length);return this}insertBefore(e,t){let n,r=this.index(e);this.nodes.splice(r,0,t);for(let e in this.indexes)n=this.indexes[e],r<=n&&(this.indexes[e]=n+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let n in this.indexes)t=this.indexes[n],t>=e&&(this.indexes[n]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join("");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}}o.registerWalker=e=>{let t="walk"+e.name;t.lastIndexOf("s")!==t.length-1&&(t+="s"),o.prototype[t]||(o.prototype[t]=function(t){return this.walkType(e,t)})},e.exports=o},9645:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while parsing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},5128:e=>{class t extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while tokzenizing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}}e.exports=t},4320:(e,t,n)=>{const r=n(4196);class o extends r{constructor(e){super(e),this.type="func",this.unbalanced=-1}}r.registerWalker(o),e.exports=o},9962:(e,t,n)=>{const r=n(3784),o=n(5294),i=n(8709),s=n(3627),u=n(4384),a=n(4320),c=n(3074),l=n(7214),f=n(1238),h=n(9672),p=n(1369),d=n(2057),D=n(6593);let g=function(e,t){return new r(e,t)};g.atword=function(e){return new o(e)},g.colon=function(e){return new i(Object.assign({value:":"},e))},g.comma=function(e){return new s(Object.assign({value:","},e))},g.comment=function(e){return new u(e)},g.func=function(e){return new a(e)},g.number=function(e){return new c(e)},g.operator=function(e){return new l(e)},g.paren=function(e){return new f(Object.assign({value:"("},e))},g.string=function(e){return new h(Object.assign({quote:"'"},e))},g.value=function(e){return new d(e)},g.word=function(e){return new D(e)},g.unicodeRange=function(e){return new p(e)},e.exports=g},1466:e=>{let t=function(e,n){let r=new e.constructor;for(let o in e){if(!e.hasOwnProperty(o))continue;let i=e[o],s=typeof i;"parent"===o&&"object"===s?n&&(r[o]=n):"source"===o?r[o]=i:i instanceof Array?r[o]=i.map((e=>t(e,r))):"before"!==o&&"after"!==o&&"between"!==o&&"semicolon"!==o&&("object"===s&&null!==i&&(i=t(i)),r[o]=i)}return r};e.exports=class{constructor(e){e=e||{},this.raws={before:"",after:""};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(e){e=e||{};let n=t(this);for(let t in e)n[t]=e[t];return n}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t))continue;if("parent"===t)continue;let n=this[t];n instanceof Array?e[t]=n.map((e=>"object"==typeof e&&e.toJSON?e.toJSON():e)):"object"==typeof n&&n.toJSON?e[t]=n.toJSON():e[t]=n}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),n=this.source.start.column,r=this.source.start.line;for(let o=0;o{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="number",this.unit=Object(e).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}}r.registerWalker(i),e.exports=i},7214:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="operator"}}r.registerWalker(i),e.exports=i},1238:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="paren",this.parenType=""}}r.registerWalker(i),e.exports=i},3784:(e,t,n)=>{const r=n(4343),o=n(2057),i=n(5294),s=n(8709),u=n(3627),a=n(4384),c=n(4320),l=n(3074),f=n(7214),h=n(1238),p=n(9672),d=n(6593),D=n(1369),g=n(2481),m=n(8051),y=n(7886),v=n(3210),w=n(9645);e.exports=class{constructor(e,t){this.cache=[],this.input=e,this.options=Object.assign({},{loose:!1},t),this.position=0,this.unbalanced=0,this.root=new r;let n=new o;this.root.append(n),this.current=n,this.tokens=g(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new u({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,n=this.currToken[1].replace(/\/\*|\*\//g,"");this.options.loose&&n.startsWith("//")&&(n=n.substring(2),t=!0),e=new a({value:n,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new w(e+" at line: ".concat(t[2],", column ").concat(t[3]))}loop(){for(;this.position0&&("func"===this.current.type&&"calc"===this.current.value?("space"!==this.prevToken[0]&&"("!==this.prevToken[0]||"space"!==this.nextToken[0]&&"word"!==this.nextToken[0]||"word"===this.nextToken[0]&&"operator"!==this.current.last.type&&"("!==this.current.last.value)&&this.error("Syntax Error",this.currToken):"space"!==this.nextToken[0]&&"operator"!==this.nextToken[0]&&"operator"!==this.prevToken[0]||this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&"operator"===this.current.last.type)&&"word"===this.nextToken[0])return this.word()}else if("word"===this.nextToken[0])return this.word();return e=new f({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word()}}parenOpen(){let e,t=1,n=this.position+1,r=this.currToken;for(;n=this.tokens.length-1&&!this.current.unbalanced||(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new D({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,n=this.nextToken,r=this.currToken[1],o=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/;if(!/^(?!\#([a-z0-9]+))[\#\{\}]/gi.test(r))for(;n&&"word"===n[0];){this.position++;let e=this.currToken[1];r+=e,n=this.nextToken}var s;e=y(r,"@"),s=v(m([[0],e])),t=s.sort(((e,t)=>e-t)),t.forEach(((s,u)=>{let a,f=t[u+1]||r.length,h=r.slice(s,f);if(~e.indexOf(s))a=new i({value:h.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]});else if(o.test(this.currToken[1])){let e=h.replace(o,"");a=new l({value:h.replace(e,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u],unit:e})}else a=new(n&&"("===n[0]?c:d)({value:h,source:{start:{line:this.currToken[2],column:this.currToken[3]+s},end:{line:this.currToken[4],column:this.currToken[3]+(f-1)}},sourceIndex:this.currToken[6]+t[u]}),"Word"===a.constructor.name?(a.isHex=/^#(.+)/.test(h),a.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(h)):this.cache.push(this.current);this.newNode(a)})),this.position++}string(){let e,t=this.currToken,n=this.currToken[1],r=/^(\"|\')/,o=r.test(n),i="";o&&(i=n.match(r)[0],n=n.slice(1,n.length-1)),e=new p({value:n,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:o}),e.raws.quote=i,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=""),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}},4343:(e,t,n)=>{const r=n(4196);e.exports=class extends r{constructor(e){super(e),this.type="root"}}},9672:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="string"}toString(){let e=this.quoted?this.raws.quote:"";return[this.raws.before,e,this.value+"",e,this.raws.after].join("")}}r.registerWalker(i),e.exports=i},2481:(e,t,n)=>{const r="{".charCodeAt(0),o="}".charCodeAt(0),i="(".charCodeAt(0),s=")".charCodeAt(0),u="'".charCodeAt(0),a='"'.charCodeAt(0),c="\\".charCodeAt(0),l="/".charCodeAt(0),f=".".charCodeAt(0),h=",".charCodeAt(0),p=":".charCodeAt(0),d="*".charCodeAt(0),D="-".charCodeAt(0),g="+".charCodeAt(0),m="#".charCodeAt(0),y="\n".charCodeAt(0),v=" ".charCodeAt(0),w="\f".charCodeAt(0),b="\t".charCodeAt(0),C="\r".charCodeAt(0),E="@".charCodeAt(0),A="e".charCodeAt(0),k="E".charCodeAt(0),F="0".charCodeAt(0),x="9".charCodeAt(0),_="u".charCodeAt(0),O="U".charCodeAt(0),S=/[ \n\t\r\{\(\)'"\\;,/]/g,T=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,R=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,I=/^[a-z0-9]/i,N=/^[a-f0-9?\-]/i,M=n(1758),B=n(5128);e.exports=function(e,t){t=t||{};let n,L,P,j,U,$,G,W,z,q,Y,V=[],X=e.valueOf(),J=X.length,H=-1,Z=1,K=0,Q=0,ee=null;function te(e){let t=M.format("Unclosed %s at line: %d, column: %d, token: %d",e,Z,K-H,K);throw new B(t)}for(;K0&&"word"===V[V.length-1][0]&&"url"===V[V.length-1][1],V.push(["(","(",Z,K-H,Z,L-H,K]);break;case s:Q--,ee=ee&&Q>0,V.push([")",")",Z,K-H,Z,L-H,K]);break;case u:case a:P=n===u?"'":'"',L=K;do{for(z=!1,L=X.indexOf(P,L+1),-1===L&&te("quote"),q=L;X.charCodeAt(q-1)===c;)q-=1,z=!z}while(z);V.push(["string",X.slice(K,L+1),Z,K-H,Z,L-H,K]),K=L;break;case E:S.lastIndex=K+1,S.test(X),L=0===S.lastIndex?X.length-1:S.lastIndex-2,V.push(["atword",X.slice(K,L+1),Z,K-H,Z,L-H,K]),K=L;break;case c:L=K,n=X.charCodeAt(L+1),V.push(["word",X.slice(K,L+1),Z,K-H,Z,L-H,K]),K=L;break;case g:case D:case d:if(L=K+1,Y=X.slice(K+1,L+1),X.slice(K-1,K),n===D&&Y.charCodeAt(0)===D){L++,V.push(["word",X.slice(K,L),Z,K-H,Z,L-H,K]),K=L-1;break}V.push(["operator",X.slice(K,L),Z,K-H,Z,L-H,K]),K=L-1;break;default:if(n===l&&(X.charCodeAt(K+1)===d||t.loose&&!ee&&X.charCodeAt(K+1)===l)){if(X.charCodeAt(K+1)===d)L=X.indexOf("*/",K+2)+1,0===L&&te("comment");else{const e=X.indexOf("\n",K+2);L=-1!==e?e-1:J}$=X.slice(K,L+1),j=$.split("\n"),U=j.length-1,U>0?(G=Z+U,W=L-j[U].length):(G=Z,W=H),V.push(["comment",$,Z,K-H,G,L-W,K]),H=W,Z=G,K=L}else if(n!==m||I.test(X.slice(K+1,K+2)))if(n!==_&&n!==O||X.charCodeAt(K+1)!==g)if(n===l)L=K+1,V.push(["operator",X.slice(K,L),Z,K-H,Z,L-H,K]),K=L-1;else{let e=T;if(n>=F&&n<=x&&(e=R),e.lastIndex=K+1,e.test(X),L=0===e.lastIndex?X.length-1:e.lastIndex-2,e===R||n===f){let e=X.charCodeAt(L),t=X.charCodeAt(L+1),n=X.charCodeAt(L+2);(e===A||e===k)&&(t===D||t===g)&&n>=F&&n<=x&&(R.lastIndex=L+2,R.test(X),L=0===R.lastIndex?X.length-1:R.lastIndex-2)}V.push(["word",X.slice(K,L+1),Z,K-H,Z,L-H,K]),K=L}else{L=K+2;do{L+=1,n=X.charCodeAt(L)}while(L{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="unicode-range"}}r.registerWalker(i),e.exports=i},2057:(e,t,n)=>{const r=n(4196);e.exports=class extends r{constructor(e){super(e),this.type="value",this.unbalanced=0}}},6593:(e,t,n)=>{const r=n(4196),o=n(1466);class i extends o{constructor(e){super(e),this.type="word"}}r.registerWalker(i),e.exports=i},8940:(e,t,n)=>{var r;t.__esModule=!0,t.default=void 0;var o=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).type="atrule",n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var o=r.prototype;return o.append=function(){var t;this.nodes||(this.nodes=[]);for(var n=arguments.length,r=new Array(n),o=0;o{var r;t.__esModule=!0,t.default=void 0;var o=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).type="comment",n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r}(((r=n(1714))&&r.__esModule?r:{default:r}).default);t.default=o,e.exports=t.default},1204:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=i(n(6417)),o=i(n(3102));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e&&(this.indexes[n]=t-1);return this},f.removeAll=function(){for(var e,t=s(this.nodes);!(e=t()).done;)e.value.parent=void 0;return this.nodes=[],this},f.replaceValues=function(e,t,n){return n||(n=t,t={}),this.walkDecls((function(r){t.props&&-1===t.props.indexOf(r.prop)||t.fast&&-1===r.value.indexOf(t.fast)||(r.value=r.value.replace(e,n))})),this},f.every=function(e){return this.nodes.every(e)},f.some=function(e){return this.nodes.some(e)},f.index=function(e){return"number"==typeof e?e:this.nodes.indexOf(e)},f.normalize=function(e,t){var i=this;if("string"==typeof e)e=c(n(7057)(e).nodes);else if(Array.isArray(e))for(var u,a=s(e=e.slice(0));!(u=a()).done;){var l=u.value;l.parent&&l.parent.removeChild(l,"ignore")}else if("root"===e.type)for(var f,h=s(e=e.nodes.slice(0));!(f=h()).done;){var p=f.value;p.parent&&p.parent.removeChild(p,"ignore")}else if(e.type)e=[e];else if(e.prop){if(void 0===e.value)throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new r.default(e)]}else if(e.selector)e=[new(n(6621))(e)];else if(e.name)e=[new(n(8940))(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new o.default(e)]}return e.map((function(e){return e.parent&&e.parent.removeChild(e),void 0===e.raws.before&&t&&void 0!==t.raws.before&&(e.raws.before=t.raws.before.replace(/[^\s]/g,"")),e.parent=i,e}))},(l=[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}])&&a(u.prototype,l),u}(i(n(1714)).default);t.default=l,e.exports=t.default},1667:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=s(n(825)),o=s(n(7027)),i=s(n(5208));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){var t="function"==typeof Map?new Map:void 0;return(u=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return a(e,arguments,f(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,e)})(e)}function a(e,t,n){return(a=c()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&l(o,n.prototype),o}).apply(null,arguments)}function c(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var h=function(e){var t,n;function s(t,n,r,o,i,u){var a;return(a=e.call(this,t)||this).name="CssSyntaxError",a.reason=t,i&&(a.file=i),o&&(a.source=o),u&&(a.plugin=u),void 0!==n&&void 0!==r&&(a.line=n,a.column=r),a.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(a),s),a}n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=s.prototype;return u.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},u.showSourceCode=function(e){var t=this;if(!this.source)return"";var n=this.source;i.default&&(void 0===e&&(e=r.default.stdout),e&&(n=(0,i.default)(n)));var s=n.split(/\r?\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;function l(t){return e&&o.default.red?o.default.red.bold(t):t}function f(t){return e&&o.default.gray?o.default.gray(t):t}return s.slice(u,a).map((function(e,n){var r=u+1+n,o=" "+(" "+r).slice(-c)+" | ";if(r===t.line){var i=f(o.replace(/\d/g," "))+e.slice(0,t.column-1).replace(/[^\t]/g," ");return l(">")+f(o)+e+"\n "+i+l("^")}return" "+f(o)+e})).join("\n")},u.toString=function(){var e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e},s}(u(Error));t.default=h,e.exports=t.default},6417:(e,t,n)=>{var r;t.__esModule=!0,t.default=void 0;var o=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).type="decl",n}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r}(((r=n(1714))&&r.__esModule?r:{default:r}).default);t.default=o,e.exports=t.default},2993:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=s(n(6391)),o=s(n(1667)),i=s(n(3353));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n"),this.map&&(this.map.file=this.from)}var t,n=e.prototype;return n.error=function(e,t,n,r){var i;void 0===r&&(r={});var s=this.origin(t,n);return(i=s?new o.default(e,s.line,s.column,s.source,s.file,r.plugin):new o.default(e,t,n,this.css,this.file,r.plugin)).input={line:t,column:n,source:this.css},this.file&&(i.input.file=this.file),i},n.origin=function(e,t){if(!this.map)return!1;var n=this.map.consumer(),r=n.originalPositionFor({line:e,column:t});if(!r.source)return!1;var o={file:this.mapResolve(r.source),line:r.line,column:r.column},i=n.sourceContentFor(r.source);return i&&(o.source=i),o},n.mapResolve=function(e){return/^\w+:\/\//.test(e)?e:r.default.resolve(this.map.consumer().sourceRoot||".",e)},(t=[{key:"from",get:function(){return this.file||this.id}}])&&u(e.prototype,t),e}();t.default=c,e.exports=t.default},6992:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=u(n(8991)),o=u(n(6157)),i=(u(n(6574)),u(n(6865))),s=u(n(7057));function u(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=this.processor.plugins.length)return this.processed=!0,e();try{var r=this.processor.plugins[this.plugin],o=this.run(r);this.plugin+=1,f(o)?o.then((function(){n.asyncTick(e,t)})).catch((function(e){n.handleError(e,r),n.processed=!0,t(e)})):this.asyncTick(e,t)}catch(e){this.processed=!0,t(e)}},n.async=function(){var e=this;return this.processed?new Promise((function(t,n){e.error?n(e.error):t(e.stringify())})):(this.processing||(this.processing=new Promise((function(t,n){if(e.error)return n(e.error);e.plugin=0,e.asyncTick(t,n)})).then((function(){return e.processed=!0,e.stringify()}))),this.processing)},n.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var e,t=a(this.result.processor.plugins);!(e=t()).done;){var n=e.value;if(f(this.run(n)))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},n.run=function(e){this.result.lastPlugin=e;try{return e(this.result.root,this.result)}catch(t){throw this.handleError(t,e),t}},n.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var e=this.result.opts,t=o.default;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);var n=new r.default(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result},(t=[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}])&&l(e.prototype,t),e}();t.default=h,e.exports=t.default},6136:(e,t)=>{t.__esModule=!0,t.default=void 0;var n={split:function(e,t,n){for(var r=[],o="",i=!1,s=0,u=!1,a=!1,c=0;c0&&(s-=1):0===s&&-1!==t.indexOf(l)&&(i=!0),i?(""!==o&&r.push(o.trim()),o="",i=!1):o+=l}return(n||""!==o)&&r.push(o.trim()),r},space:function(e){return n.split(e,[" ","\n","\t"])},comma:function(e){return n.split(e,[","],!0)}},r=n;t.default=r,e.exports=t.default},8991:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=i(n(2447)),o=i(n(6391));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0},t.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk((function(t){if(t.source&&t.source.input.map){var n=t.source.input.map;-1===e.previousMaps.indexOf(n)&&e.previousMaps.push(n)}}))),this.previousMaps},t.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some((function(e){return e.inline})))},t.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((function(e){return e.withContent()}))},t.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e,t=this.root.nodes.length-1;t>=0;t--)"comment"===(e=this.root.nodes[t]).type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},t.setSourcesContent=function(){var e=this,t={};this.root.walk((function(n){if(n.source){var r=n.source.input.from;if(r&&!t[r]){t[r]=!0;var o=e.relative(r);e.map.setSourceContent(o,n.source.input.css)}}}))},t.applyPrevMaps=function(){for(var e,t=s(this.previous());!(e=t()).done;){var n=e.value,i=this.relative(n.file),u=n.root||o.default.dirname(n.file),a=void 0;!1===this.mapOpts.sourcesContent?(a=new r.default.SourceMapConsumer(n.text)).sourcesContent&&(a.sourcesContent=a.sourcesContent.map((function(){return null}))):a=n.consumer(),this.map.applySourceMap(a,i,this.relative(u))}},t.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((function(e){return e.annotation})))},t.toBase64=function(e){return P?P.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},t.addAnnotation=function(){var e;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},t.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},t.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},t.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?o.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=o.default.dirname(o.default.resolve(t,this.mapOpts.annotation))),e=o.default.relative(t,e),"\\"===o.default.sep?e.replace(/\\/g,"/"):e},t.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},t.generateString=function(){var e=this;this.css="",this.map=new r.default.SourceMapGenerator({file:this.outputFile()});var t,n,o=1,i=1;this.stringify(this.root,(function(r,s,u){if(e.css+=r,s&&"end"!==u&&(s.source&&s.source.start?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-1},original:{line:s.source.start.line,column:s.source.start.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}})),(t=r.match(/\n/g))?(o+=t.length,n=r.lastIndexOf("\n"),i=r.length-n):i+=r.length,s&&"start"!==u){var a=s.parent||{raws:{}};("decl"!==s.type||s!==a.last||a.raws.semicolon)&&(s.source&&s.source.end?e.map.addMapping({source:e.sourcePath(s),generated:{line:o,column:i-2},original:{line:s.source.end.line,column:s.source.end.column-1}}):e.map.addMapping({source:"",original:{line:1,column:0},generated:{line:o,column:i-1}}))}}))},t.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,(function(t){e+=t})),[e]},e}();t.default=a,e.exports=t.default},1714:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=s(n(1667)),o=s(n(5701)),i=s(n(6157));function s(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var n=new e.constructor;for(var r in e)if(e.hasOwnProperty(r)){var o=e[r],i=typeof o;"parent"===r&&"object"===i?t&&(n[r]=t):"source"===r?n[r]=o:o instanceof Array?n[r]=o.map((function(e){return u(e,n)})):("object"===i&&null!==o&&(o=u(o)),n[r]=o)}return n}var a=function(){function e(e){for(var t in void 0===e&&(e={}),this.raws={},e)this[t]=e[t]}var t=e.prototype;return t.error=function(e,t){if(void 0===t&&(t={}),this.source){var n=this.positionBy(t);return this.source.input.error(e,n.line,n.column,t)}return new r.default(e)},t.warn=function(e,t,n){var r={node:this};for(var o in n)r[o]=n[o];return e.warn(t,r)},t.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},t.toString=function(e){void 0===e&&(e=i.default),e.stringify&&(e=e.stringify);var t="";return e(this,(function(e){t+=e})),t},t.clone=function(e){void 0===e&&(e={});var t=u(this);for(var n in e)t[n]=e[n];return t},t.cloneBefore=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertBefore(this,t),t},t.cloneAfter=function(e){void 0===e&&(e={});var t=this.clone(e);return this.parent.insertAfter(this,t),t},t.replaceWith=function(){if(this.parent){for(var e=arguments.length,t=new Array(e),n=0;n{t.__esModule=!0,t.default=void 0;var r=i(n(7116)),o=i(n(2993));function i(e){return e&&e.__esModule?e:{default:e}}var s=function(e,t){var n=new o.default(e,t),i=new r.default(n);try{i.parse()}catch(e){throw e}return i.root};t.default=s,e.exports=t.default},7116:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=c(n(6417)),o=c(n(1157)),i=c(n(3102)),s=c(n(8940)),u=c(n(7563)),a=c(n(6621));function c(e){return e&&e.__esModule?e:{default:e}}var l=function(){function e(e){this.input=e,this.root=new u.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{line:1,column:1}}}var t=e.prototype;return t.createTokenizer=function(){this.tokenizer=(0,o.default)(this.input)},t.parse=function(){for(var e;!this.tokenizer.endOfFile();)switch((e=this.tokenizer.nextToken())[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()},t.comment=function(e){var t=new i.default;this.init(t,e[2],e[3]),t.source.end={line:e[4],column:e[5]};var n=e[1].slice(2,-2);if(/^\s*$/.test(n))t.text="",t.raws.left=n,t.raws.right="";else{var r=n.match(/^(\s*)([^]*[^\s])(\s*)$/);t.text=r[2],t.raws.left=r[1],t.raws.right=r[3]}},t.emptyRule=function(e){var t=new a.default;this.init(t,e[2],e[3]),t.selector="",t.raws.between="",this.current=t},t.other=function(e){for(var t=!1,n=null,r=!1,o=null,i=[],s=[],u=e;u;){if(n=u[0],s.push(u),"("===n||"["===n)o||(o=u),i.push("("===n?")":"]");else if(0===i.length){if(";"===n){if(r)return void this.decl(s);break}if("{"===n)return void this.rule(s);if("}"===n){this.tokenizer.back(s.pop()),t=!0;break}":"===n&&(r=!0)}else n===i[i.length-1]&&(i.pop(),0===i.length&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),i.length>0&&this.unclosedBracket(o),t&&r){for(;s.length&&("space"===(u=s[s.length-1][0])||"comment"===u);)this.tokenizer.back(s.pop());this.decl(s)}else this.unknownWord(s)},t.rule=function(e){e.pop();var t=new a.default;this.init(t,e[0][2],e[0][3]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t},t.decl=function(e){var t=new r.default;this.init(t);var n,o=e[e.length-1];for(";"===o[0]&&(this.semicolon=!0,e.pop()),o[4]?t.source.end={line:o[4],column:o[5]}:t.source.end={line:o[2],column:o[3]};"word"!==e[0][0];)1===e.length&&this.unknownWord(e),t.raws.before+=e.shift()[1];for(t.source.start={line:e[0][2],column:e[0][3]},t.prop="";e.length;){var i=e[0][0];if(":"===i||"space"===i||"comment"===i)break;t.prop+=e.shift()[1]}for(t.raws.between="";e.length;){if(":"===(n=e.shift())[0]){t.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),t.raws.between+=n[1]}"_"!==t.prop[0]&&"*"!==t.prop[0]||(t.raws.before+=t.prop[0],t.prop=t.prop.slice(1)),t.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(var s=e.length-1;s>0;s--){if("!important"===(n=e[s])[1].toLowerCase()){t.important=!0;var u=this.stringFrom(e,s);" !important"!==(u=this.spacesFromEnd(e)+u)&&(t.raws.important=u);break}if("important"===n[1].toLowerCase()){for(var a=e.slice(0),c="",l=s;l>0;l--){var f=a[l][0];if(0===c.trim().indexOf("!")&&"space"!==f)break;c=a.pop()[1]+c}0===c.trim().indexOf("!")&&(t.important=!0,t.raws.important=c,e=a)}if("space"!==n[0]&&"comment"!==n[0])break}this.raw(t,"value",e),-1!==t.value.indexOf(":")&&this.checkMissedSemicolon(e)},t.atrule=function(e){var t,n,r=new s.default;r.name=e[1].slice(1),""===r.name&&this.unnamedAtrule(r,e),this.init(r,e[2],e[3]);for(var o=!1,i=!1,u=[];!this.tokenizer.endOfFile();){if(";"===(e=this.tokenizer.nextToken())[0]){r.source.end={line:e[2],column:e[3]},this.semicolon=!0;break}if("{"===e[0]){i=!0;break}if("}"===e[0]){if(u.length>0){for(t=u[n=u.length-1];t&&"space"===t[0];)t=u[--n];t&&(r.source.end={line:t[4],column:t[5]})}this.end(e);break}if(u.push(e),this.tokenizer.endOfFile()){o=!0;break}}r.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(r.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(r,"params",u),o&&(e=u[u.length-1],r.source.end={line:e[4],column:e[5]},this.spaces=r.raws.between,r.raws.between="")):(r.raws.afterName="",r.params=""),i&&(r.nodes=[],this.current=r)},t.end=function(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:e[2],column:e[3]},this.current=this.current.parent):this.unexpectedClose(e)},t.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},t.freeSemicolon=function(e){if(this.spaces+=e[1],this.current.nodes){var t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}},t.init=function(e,t,n){this.current.push(e),e.source={start:{line:t,column:n},input:this.input},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)},t.raw=function(e,t,n){for(var r,o,i,s,u=n.length,a="",c=!0,l=/^([.|#])?([\w])+/i,f=0;f=0&&("space"===(n=e[o])[0]||2!==(r+=1));o--);throw this.input.error("Missed semicolon",n[2],n[3])}},e}();t.default=l,e.exports=t.default},3353:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=s(n(2447)),o=s(n(6391)),i=s(n(7545));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(e,t){this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");var n=t.map?t.map.prev:void 0,r=this.loadMap(t.from,n);r&&(this.text=r)}var t=e.prototype;return t.consumer=function(){return this.consumerCache||(this.consumerCache=new r.default.SourceMapConsumer(this.text)),this.consumerCache},t.withContent=function(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)},t.startWith=function(e,t){return!!e&&e.substr(0,t.length)===t},t.getAnnotationURL=function(e){return e.match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//)[1].trim()},t.loadAnnotation=function(e){var t=e.match(/\/\*\s*# sourceMappingURL=(.*)\s*\*\//gm);if(t&&t.length>0){var n=t[t.length-1];n&&(this.annotation=this.getAnnotationURL(n))}},t.decodeInline=function(e){var t,n="data:application/json,";if(this.startWith(e,n))return decodeURIComponent(e.substr(n.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(e)||/^data:application\/json;base64,/.test(e))return t=e.substr(RegExp.lastMatch.length),P?P.from(t,"base64").toString():window.atob(t);var r=e.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+r)},t.loadMap=function(e,t){if(!1===t)return!1;if(t){if("string"==typeof t)return t;if("function"==typeof t){var n=t(e);if(n&&i.default.existsSync&&i.default.existsSync(n))return i.default.readFileSync(n,"utf-8").toString().trim();throw new Error("Unable to load previous source map: "+n.toString())}if(t instanceof r.default.SourceMapConsumer)return r.default.SourceMapGenerator.fromSourceMap(t).toString();if(t instanceof r.default.SourceMapGenerator)return t.toString();if(this.isMap(t))return JSON.stringify(t);throw new Error("Unsupported previous source map format: "+t.toString())}if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){var s=this.annotation;return e&&(s=o.default.join(o.default.dirname(e),s)),this.root=o.default.dirname(s),!(!i.default.existsSync||!i.default.existsSync(s))&&i.default.readFileSync(s,"utf-8").toString().trim()}},t.isMap=function(e){return"object"==typeof e&&("string"==typeof e.mappings||"string"==typeof e._mappings)},e}();t.default=u,e.exports=t.default},9429:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r,o=(r=n(6992))&&r.__esModule?r:{default:r};function i(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{t.__esModule=!0,t.default=void 0;var r,o=(r=n(1662))&&r.__esModule?r:{default:r};function i(e,t){for(var n=0;n{var r;function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),e.prototype.removeChild.call(this,t)},s.normalize=function(t,n,r){var i=e.prototype.normalize.call(this,t);if(n)if("prepend"===r)this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(var s,u=o(i);!(s=u()).done;)s.value.raws.before=n.raws.before;return i},s.toResult=function(e){return void 0===e&&(e={}),new(n(6992))(new(n(9429)),this,e).stringify()},i}(((r=n(1204))&&r.__esModule?r:{default:r}).default);t.default=s,e.exports=t.default},6621:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=i(n(1204)),o=i(n(6136));function i(e){return e&&e.__esModule?e:{default:e}}function s(e,t){for(var n=0;n{t.__esModule=!0,t.default=void 0;var n={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1},r=function(){function e(e){this.builder=e}var t=e.prototype;return t.stringify=function(e,t){this[e.type](e,t)},t.root=function(e){this.body(e),e.raws.after&&this.builder(e.raws.after)},t.comment=function(e){var t=this.raw(e,"left","commentLeft"),n=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+n+"*/",e)},t.decl=function(e,t){var n=this.raw(e,"between","colon"),r=e.prop+n+this.rawValue(e,"value");e.important&&(r+=e.raws.important||" !important"),t&&(r+=";"),this.builder(r,e)},t.rule=function(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")},t.atrule=function(e,t){var n="@"+e.name,r=e.params?this.rawValue(e,"params"):"";if(void 0!==e.raws.afterName?n+=e.raws.afterName:r&&(n+=" "),e.nodes)this.block(e,n+r);else{var o=(e.raws.between||"")+(t?";":"");this.builder(n+r+o,e)}},t.body=function(e){for(var t=e.nodes.length-1;t>0&&"comment"===e.nodes[t].type;)t-=1;for(var n=this.raw(e,"semicolon"),r=0;r0&&void 0!==e.raws.after)return-1!==(t=e.raws.after).indexOf("\n")&&(t=t.replace(/[^\n]+$/,"")),!1})),t&&(t=t.replace(/[^\s]/g,"")),t},t.rawBeforeOpen=function(e){var t;return e.walk((function(e){if("decl"!==e.type&&void 0!==(t=e.raws.between))return!1})),t},t.rawColon=function(e){var t;return e.walkDecls((function(e){if(void 0!==e.raws.between)return t=e.raws.between.replace(/[^\s:]/g,""),!1})),t},t.beforeAfter=function(e,t){var n;n="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");for(var r=e.parent,o=0;r&&"root"!==r.type;)o+=1,r=r.parent;if(-1!==n.indexOf("\n")){var i=this.raw(e,null,"indent");if(i.length)for(var s=0;s{t.__esModule=!0,t.default=void 0;var r,o=(r=n(5701))&&r.__esModule?r:{default:r},i=function(e,t){new o.default(t).stringify(e)};t.default=i,e.exports=t.default},1157:(e,t)=>{t.__esModule=!0,t.default=function(e,t){void 0===t&&(t={});var k,F,x,_,O,S,T,R,I,N,M,B,L,P,j=e.css.valueOf(),U=t.ignoreErrors,$=j.length,G=-1,W=1,z=0,q=[],Y=[];function V(t){throw e.error("Unclosed "+t,W,z-G)}return{back:function(e){Y.push(e)},nextToken:function(e){if(Y.length)return Y.pop();if(!(z>=$)){var t=!!e&&e.ignoreUnclosed;switch(((k=j.charCodeAt(z))===s||k===a||k===l&&j.charCodeAt(z+1)!==s)&&(G=z,W+=1),k){case s:case u:case c:case l:case a:F=z;do{F+=1,(k=j.charCodeAt(F))===s&&(G=F,W+=1)}while(k===u||k===s||k===c||k===l||k===a);P=["space",j.slice(z,F)],z=F-1;break;case f:case h:case D:case g:case v:case m:case d:var X=String.fromCharCode(k);P=[X,X,W,z-G];break;case p:if(B=q.length?q.pop()[1]:"",L=j.charCodeAt(z+1),"url"===B&&L!==n&&L!==r&&L!==u&&L!==s&&L!==c&&L!==a&&L!==l){F=z;do{if(N=!1,-1===(F=j.indexOf(")",F+1))){if(U||t){F=z;break}V("bracket")}for(M=F;j.charCodeAt(M-1)===o;)M-=1,N=!N}while(N);P=["brackets",j.slice(z,F+1),W,z-G,W,F-G],z=F}else F=j.indexOf(")",z+1),S=j.slice(z,F+1),-1===F||E.test(S)?P=["(","(",W,z-G]:(P=["brackets",S,W,z-G,W,F-G],z=F);break;case n:case r:x=k===n?"'":'"',F=z;do{if(N=!1,-1===(F=j.indexOf(x,F+1))){if(U||t){F=z+1;break}V("string")}for(M=F;j.charCodeAt(M-1)===o;)M-=1,N=!N}while(N);S=j.slice(z,F+1),_=S.split("\n"),(O=_.length-1)>0?(R=W+O,I=F-_[O].length):(R=W,I=G),P=["string",j.slice(z,F+1),W,z-G,R,F-I],G=I,W=R,z=F;break;case w:b.lastIndex=z+1,b.test(j),F=0===b.lastIndex?j.length-1:b.lastIndex-2,P=["at-word",j.slice(z,F+1),W,z-G,W,F-G],z=F;break;case o:for(F=z,T=!0;j.charCodeAt(F+1)===o;)F+=1,T=!T;if(k=j.charCodeAt(F+1),T&&k!==i&&k!==u&&k!==s&&k!==c&&k!==l&&k!==a&&(F+=1,A.test(j.charAt(F)))){for(;A.test(j.charAt(F+1));)F+=1;j.charCodeAt(F+1)===u&&(F+=1)}P=["word",j.slice(z,F+1),W,z-G,W,F-G],z=F;break;default:k===i&&j.charCodeAt(z+1)===y?(0===(F=j.indexOf("*/",z+2)+1)&&(U||t?F=j.length:V("comment")),S=j.slice(z,F+1),_=S.split("\n"),(O=_.length-1)>0?(R=W+O,I=F-_[O].length):(R=W,I=G),P=["comment",S,W,z-G,R,F-I],G=I,W=R,z=F):(C.lastIndex=z+1,C.test(j),F=0===C.lastIndex?j.length-1:C.lastIndex-2,P=["word",j.slice(z,F+1),W,z-G,W,F-G],q.push(P),z=F)}return z++,P}},endOfFile:function(){return 0===Y.length&&z>=$},position:function(){return z}}};var n="'".charCodeAt(0),r='"'.charCodeAt(0),o="\\".charCodeAt(0),i="/".charCodeAt(0),s="\n".charCodeAt(0),u=" ".charCodeAt(0),a="\f".charCodeAt(0),c="\t".charCodeAt(0),l="\r".charCodeAt(0),f="[".charCodeAt(0),h="]".charCodeAt(0),p="(".charCodeAt(0),d=")".charCodeAt(0),D="{".charCodeAt(0),g="}".charCodeAt(0),m=";".charCodeAt(0),y="*".charCodeAt(0),v=":".charCodeAt(0),w="@".charCodeAt(0),b=/[ \n\t\r\f{}()'"\\;/[\]#]/g,C=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,E=/.[\\/("'\n]/,A=/[a-f0-9]/i;e.exports=t.default},6574:(e,t)=>{t.__esModule=!0,t.default=function(e){n[e]||(n[e]=!0,"undefined"!=typeof console&&console.warn&&console.warn(e))};var n={};e.exports=t.default},1662:(e,t)=>{t.__esModule=!0,t.default=void 0;var n=function(){function e(e,t){if(void 0===t&&(t={}),this.type="warning",this.text=e,t.node&&t.node.source){var n=t.node.positionBy(t);this.line=n.line,this.column=n.column}for(var r in t)this[r]=t[r]}return e.prototype.toString=function(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text},e}();t.default=n,e.exports=t.default},6210:(e,t,n)=>{const r=n(895),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=n(8523),{re:s,t:u}=n(3443),{compareIdentifiers:a}=n(8337);class c{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof c){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>o)throw new TypeError("version is longer than ".concat(o," characters"));r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?s[u.LOOSE]:s[u.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}e.exports=c},2828:(e,t,n)=>{const r=n(6210);e.exports=(e,t,n)=>new r(e,n).compare(new r(t,n))},9195:(e,t,n)=>{const r=n(2828);e.exports=(e,t,n)=>r(e,t,n)>=0},3725:(e,t,n)=>{const r=n(2828);e.exports=(e,t,n)=>r(e,t,n)<0},8523:e=>{const t=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:t,MAX_SAFE_COMPONENT_LENGTH:16}},895:e=>{const t="object"==typeof A&&A.env&&A.env.NODE_DEBUG&&/\bsemver\b/i.test(A.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},8337:e=>{const t=/^[0-9]+$/,n=(e,n)=>{const r=t.test(e),o=t.test(n);return r&&o&&(e=+e,n=+n),e===n?0:r&&!o?-1:o&&!r?1:en(t,e)}},3443:(e,t,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:r}=n(8523),o=n(895),i=(t=e.exports={}).re=[],s=t.src=[],u=t.t={};let a=0;const c=(e,t,n)=>{const r=a++;o(r,t),u[e]=r,s[r]=t,i[r]=new RegExp(t,n?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION","(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")\\.")+"(".concat(s[u.NUMERICIDENTIFIER],")")),c("MAINVERSIONLOOSE","(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(s[u.NUMERICIDENTIFIERLOOSE],")")),c("PRERELEASEIDENTIFIER","(?:".concat(s[u.NUMERICIDENTIFIER],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),c("PRERELEASEIDENTIFIERLOOSE","(?:".concat(s[u.NUMERICIDENTIFIERLOOSE],"|").concat(s[u.NONNUMERICIDENTIFIER],")")),c("PRERELEASE","(?:-(".concat(s[u.PRERELEASEIDENTIFIER],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIER],")*))")),c("PRERELEASELOOSE","(?:-?(".concat(s[u.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(s[u.PRERELEASEIDENTIFIERLOOSE],")*))")),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD","(?:\\+(".concat(s[u.BUILDIDENTIFIER],"(?:\\.").concat(s[u.BUILDIDENTIFIER],")*))")),c("FULLPLAIN","v?".concat(s[u.MAINVERSION]).concat(s[u.PRERELEASE],"?").concat(s[u.BUILD],"?")),c("FULL","^".concat(s[u.FULLPLAIN],"$")),c("LOOSEPLAIN","[v=\\s]*".concat(s[u.MAINVERSIONLOOSE]).concat(s[u.PRERELEASELOOSE],"?").concat(s[u.BUILD],"?")),c("LOOSE","^".concat(s[u.LOOSEPLAIN],"$")),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE","".concat(s[u.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),c("XRANGEIDENTIFIER","".concat(s[u.NUMERICIDENTIFIER],"|x|X|\\*")),c("XRANGEPLAIN","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIER],")")+"(?:".concat(s[u.PRERELEASE],")?").concat(s[u.BUILD],"?")+")?)?"),c("XRANGEPLAINLOOSE","[v=\\s]*(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(s[u.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(s[u.PRERELEASELOOSE],")?").concat(s[u.BUILD],"?")+")?)?"),c("XRANGE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAIN],"$")),c("XRANGELOOSE","^".concat(s[u.GTLT],"\\s*").concat(s[u.XRANGEPLAINLOOSE],"$")),c("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),c("COERCERTL",s[u.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM","(\\s*)".concat(s[u.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",c("TILDE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAIN],"$")),c("TILDELOOSE","^".concat(s[u.LONETILDE]).concat(s[u.XRANGEPLAINLOOSE],"$")),c("LONECARET","(?:\\^)"),c("CARETTRIM","(\\s*)".concat(s[u.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",c("CARET","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAIN],"$")),c("CARETLOOSE","^".concat(s[u.LONECARET]).concat(s[u.XRANGEPLAINLOOSE],"$")),c("COMPARATORLOOSE","^".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],")$|^$")),c("COMPARATOR","^".concat(s[u.GTLT],"\\s*(").concat(s[u.FULLPLAIN],")$|^$")),c("COMPARATORTRIM","(\\s*)".concat(s[u.GTLT],"\\s*(").concat(s[u.LOOSEPLAIN],"|").concat(s[u.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE","^\\s*(".concat(s[u.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAIN],")")+"\\s*$"),c("HYPHENRANGELOOSE","^\\s*(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(s[u.XRANGEPLAINLOOSE],")")+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0.0.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},6715:(e,t,n)=>{var r=n(7837),o=Object.prototype.hasOwnProperty,i="undefined"!=typeof Map;function s(){this._array=[],this._set=i?new Map:Object.create(null)}s.fromArray=function(e,t){for(var n=new s,r=0,o=e.length;r=0)return t}else{var n=r.toSetString(e);if(o.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},s.prototype.at=function(e){if(e>=0&&e{var r=n(4122);t.encode=function(e){var t,n="",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),n+=r.encode(t)}while(o>0);return n},t.decode=function(e,t,n){var o,i,s,u,a=e.length,c=0,l=0;do{if(t>=a)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));o=!!(32&i),c+=(i&=31)<>1,1==(1&s)?-u:u),n.rest=t}},4122:(e,t)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e{function n(e,r,o,i,s,u){var a=Math.floor((r-e)/2)+e,c=s(o,i[a],!0);return 0===c?a:c>0?r-a>1?n(a,r,o,i,s,u):u==t.LEAST_UPPER_BOUND?r1?n(e,a,o,i,s,u):u==t.LEAST_UPPER_BOUND?a:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,o,i){if(0===r.length)return-1;var s=n(-1,r.length,e,r,o,i||t.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===o(r[s],r[s-1],!0);)--s;return s}},1028:(e,t,n)=>{var r=n(7837);function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},o.prototype.add=function(e){var t,n,o,i,s,u;n=e,o=(t=this._last).generatedLine,i=n.generatedLine,s=t.generatedColumn,u=n.generatedColumn,i>o||i==o&&u>=s||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.H=o},6711:(e,t)=>{function n(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function r(e,t,o,i){if(o{var r=n(7837),o=n(8593),i=n(6715).I,s=n(4886),u=n(6711).U;function a(e,t){var n=e;return"string"==typeof e&&(n=r.parseSourceMapInput(e)),null!=n.sections?new f(n,t):new c(n,t)}function c(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var o=r.getArg(n,"version"),s=r.getArg(n,"sources"),u=r.getArg(n,"names",[]),a=r.getArg(n,"sourceRoot",null),c=r.getArg(n,"sourcesContent",null),l=r.getArg(n,"mappings"),f=r.getArg(n,"file",null);if(o!=this._version)throw new Error("Unsupported version: "+o);a&&(a=r.normalize(a)),s=s.map(String).map(r.normalize).map((function(e){return a&&r.isAbsolute(a)&&r.isAbsolute(e)?r.relative(a,e):e})),this._names=i.fromArray(u.map(String),!0),this._sources=i.fromArray(s,!0),this._absoluteSources=this._sources.toArray().map((function(e){return r.computeSourceURL(a,e,t)})),this.sourceRoot=a,this.sourcesContent=c,this._mappings=l,this._sourceMapURL=t,this.file=f}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function f(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var o=r.getArg(n,"version"),s=r.getArg(n,"sections");if(o!=this._version)throw new Error("Unsupported version: "+o);this._sources=new i,this._names=new i;var u={line:-1,column:0};this._sections=s.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var n=r.getArg(e,"offset"),o=r.getArg(n,"line"),i=r.getArg(n,"column");if(o=0){var u=this._originalMappings[s];if(void 0===e.column)for(var a=u.originalLine;u&&u.originalLine===a;)i.push({line:r.getArg(u,"generatedLine",null),column:r.getArg(u,"generatedColumn",null),lastColumn:r.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s];else for(var c=u.originalColumn;u&&u.originalLine===t&&u.originalColumn==c;)i.push({line:r.getArg(u,"generatedLine",null),column:r.getArg(u,"generatedColumn",null),lastColumn:r.getArg(u,"lastGeneratedColumn",null)}),u=this._originalMappings[++s]}return i},t.SourceMapConsumer=a,c.prototype=Object.create(a.prototype),c.prototype.consumer=a,c.prototype._findSourceIndex=function(e){var t,n=e;if(null!=this.sourceRoot&&(n=r.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(t=0;t1&&(n.source=D+i[1],D+=i[1],n.originalLine=p+i[2],p=n.originalLine,n.originalLine+=1,n.originalColumn=d+i[3],d=n.originalColumn,i.length>4&&(n.name=g+i[4],g+=i[4])),C.push(n),"number"==typeof n.originalLine&&b.push(n)}u(C,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=C,u(b,r.compareByOriginalPositions),this.__originalMappings=b},c.prototype._findMapping=function(e,t,n,r,i,s){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,t,i,s)},c.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[n];if(o.generatedLine===t.generatedLine){var i=r.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=r.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=r.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:r.getArg(o,"originalLine",null),column:r.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},c.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var o,i=e;if(null!=this.sourceRoot&&(i=r.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(o=r.urlParse(this.sourceRoot))){var s=i.replace(/^file:\/\//,"");if("file"==o.scheme&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!o.path||"/"==o.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",a.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:r.getArg(i,"generatedLine",null),column:r.getArg(i,"generatedColumn",null),lastColumn:r.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},f.prototype=Object.create(a.prototype),f.prototype.constructor=a,f.prototype._version=3,Object.defineProperty(f.prototype,"sources",{get:function(){for(var e=[],t=0;t{var r=n(4886),o=n(7837),i=n(6715).I,s=n(1028).H;function u(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._skipValidation=o.getArg(e,"skipValidation",!1),this._sources=new i,this._names=new i,this._mappings=new s,this._sourcesContents=null}u.prototype._version=3,u.fromSourceMap=function(e){var t=e.sourceRoot,n=new u({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=o.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(r){var i=r;null!==t&&(i=o.relative(t,r)),n._sources.has(i)||n._sources.add(i);var s=e.sourceContentFor(r);null!=s&&n.setSourceContent(r,s)})),n},u.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),n=o.getArg(e,"original",null),r=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,i),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},u.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},u.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var s=this._sourceRoot;null!=s&&(r=o.relative(s,r));var u=new i,a=new i;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var i=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=i.source&&(t.source=i.source,null!=n&&(t.source=o.join(n,t.source)),null!=s&&(t.source=o.relative(s,t.source)),t.originalLine=i.line,t.originalColumn=i.column,null!=i.name&&(t.name=i.name))}var c=t.source;null==c||u.has(c)||u.add(c);var l=t.name;null==l||a.has(l)||a.add(l)}),this),this._sources=u,this._names=a,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=o.join(n,t)),null!=s&&(t=o.relative(s,t)),this.setSourceContent(t,r))}),this)},u.prototype._validateMapping=function(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},u.prototype._serializeMappings=function(){for(var e,t,n,i,s=0,u=1,a=0,c=0,l=0,f=0,h="",p=this._mappings.toArray(),d=0,D=p.length;d0){if(!o.compareByGeneratedPositionsInflated(t,p[d-1]))continue;e+=","}e+=r.encode(t.generatedColumn-s),s=t.generatedColumn,null!=t.source&&(i=this._sources.indexOf(t.source),e+=r.encode(i-f),f=i,e+=r.encode(t.originalLine-1-c),c=t.originalLine-1,e+=r.encode(t.originalColumn-a),a=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-l),l=n)),h+=e}return h},u.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},u.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},u.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=u},6270:(e,t,n)=>{var r=n(2400).SourceMapGenerator,o=n(7837),i=/(\r?\n)/,s="$$$isSourceNode$$$";function u(e,t,n,r,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==o?null:o,this[s]=!0,null!=r&&this.add(r)}u.fromStringWithSourceMap=function(e,t,n){var r=new u,s=e.split(i),a=0,c=function(){return e()+(e()||"");function e(){return a=0;t--)this.prepend(e[t]);else{if(!e[s]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},u.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n0){for(t=[],n=0;n{t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function o(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function i(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function s(e){var n=e,r=o(e);if(r){if(!r.path)return e;n=r.path}for(var s,u=t.isAbsolute(n),a=n.split(/\/+/),c=0,l=a.length-1;l>=0;l--)"."===(s=a[l])?a.splice(l,1):".."===s?c++:c>0&&(""===s?(a.splice(l+1,c),c=0):(a.splice(l,2),c--));return""===(n=a.join("/"))&&(n=u?"/":"."),r?(r.path=n,i(r)):n}function u(e,t){""===e&&(e="."),""===t&&(t=".");var n=o(t),u=o(e);if(u&&(e=u.path||"/"),n&&!n.scheme)return u&&(n.scheme=u.scheme),i(n);if(n||t.match(r))return t;if(u&&!u.host&&!u.path)return u.host=t,i(u);var a="/"===t.charAt(0)?t:s(e.replace(/\/+$/,"")+"/"+t);return u?(u.path=a,i(u)):a}t.urlParse=o,t.urlGenerate=i,t.normalize=s,t.join=u,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var a=!("__proto__"in Object.create(null));function c(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function f(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=a?c:function(e){return l(e)?"$"+e:e},t.fromSetString=a?c:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=f(e.source,t.source);return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:f(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=f(e.source,t.source))||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:f(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=f(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:f(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=o(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var a=r.path.lastIndexOf("/");a>=0&&(r.path=r.path.substring(0,a+1))}t=u(i(r),t)}return s(t)}},2447:(e,t,n)=>{t.SourceMapGenerator=n(2400).SourceMapGenerator,t.SourceMapConsumer=n(8985).SourceMapConsumer,t.SourceNode=n(6270).SourceNode},6549:(e,t,n)=>{const r=n(9992),o=n(4450),i=n(541),s=e=>{if("string"!=typeof(e=e.replace(i()," "))||0===e.length)return 0;e=r(e);let t=0;for(let n=0;n=127&&r<=159||r>=768&&r<=879||(r>65535&&n++,t+=o(r)?2:1)}return t};e.exports=s,e.exports.default=s},4450:e=>{const t=e=>!Number.isNaN(e)&&e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);e.exports=t,e.exports.default=t},9992:(e,t,n)=>{const r=n(2426);e.exports=e=>"string"==typeof e?e.replace(r(),""):e},3210:e=>{e.exports=function(e,t,n){return 0===e.length?e:t?(n||e.sort(t),function(e,t){for(var n=1,r=e.length,o=e[0],i=e[0],s=1;s{e.exports={guessEndOfLine:function(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let n;if("\n"===t)n=/\n/g;else if("\r"===t)n=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));n=/\r\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}}},47:e=>{e.exports=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n}},9428:(e,t,n)=>{const r=n(6549),o=n(2240),i=n(4652),{getSupportInfo:s}=n(7290),u=/[^\x20-\x7F]/;function a(e){return(t,n,r)=>{const o=r&&r.backwards;if(!1===n)return!1;const{length:i}=t;let s=n;for(;s>=0&&s(n.match(s.regex)||[]).length?s.quote:i.quote),u}function C(e,t,n){const r='"'===t?"'":'"',o=e.replace(/\\([\S\s])|(["'])/g,((e,o,i)=>o===r?o:i===t?"\\"+i:i||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return t+o+t}function E(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}e.exports={inferParserByLanguage:function(e,t){const{languages:n}=s({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return r&&r.parsers[0]},replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split("\n"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?u.test(e)?r(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(o(t),")+"),"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(o(t),")+"),"g"));if(null===n)return 0;const r=new Map;let i=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>i&&(i=n)}for(let e=1;ee[e.length-2],getLast:i,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:y,getNextNonSpaceNonCommentCharacterIndex:v,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(v(e,t,n))},skip:a,skipWhitespace:c,skipSpaces:l,skipToLineEnd:f,skipEverythingButNewLine:h,skipInlineComment:p,skipTrailingComment:d,skipNewline:D,isNextLineEmptyAfterIndex:m,isNextLineEmpty:function(e,t,n){return m(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=l(e,r,{backwards:!0}),r=D(e,r,{backwards:!0}),r=l(e,r,{backwards:!0}),r!==D(e,r,{backwards:!0})},hasNewline:g,hasNewlineInRange:function(e,t,n){for(let r=t;r{function t(e){return{type:"concat",parts:e}}function n(e){return{type:"indent",contents:e}}function r(e,t){return{type:"align",contents:t,n:e}}function o(e,t){return{type:"group",id:(t=t||{}).id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}const i={type:"break-parent"},s=t([{type:"line",hard:!0},i]),u=t([{type:"line",hard:!0,literal:!0},i]),a={type:"cursor",placeholder:Symbol("cursor")};e.exports={concat:t,join:function(e,n){const r=[];for(let t=0;t0){for(let e=0;e{function t(e){if("concat"===e.type){const n=[];for(let r=0;rn(t(e))}},9765:(e,t,n)=>{const{getStringWidth:r}=n(9428),{convertEndOfLineToChars:o}=n(7933),{concat:i,fill:s,cursor:u}=n(5558);let a;function c(e,t){return f(e,{type:"indent"},t)}function l(e,t,n){return t===-1/0?e.root||{value:"",length:0,queue:[]}:t<0?f(e,{type:"dedent"},n):t?"root"===t.type?Object.assign({},e,{root:e}):f(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},n):e}function f(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let o="",i=0,s=0,u=0;for(const e of r)switch(e.type){case"indent":l(),n.useTabs?a(1):c(n.tabWidth);break;case"stringAlign":l(),o+=e.n,i+=e.n.length;break;case"numberAlign":s+=1,u+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return f(),Object.assign({},e,{value:o,length:i,queue:r});function a(e){o+="\t".repeat(e),i+=n.tabWidth*e}function c(e){o+=" ".repeat(e),i+=e}function l(){n.useTabs?(s>0&&a(s),h()):f()}function f(){u>0&&c(u),h()}function h(){s=0,u=0}}function h(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof e[e.length-1]&&e[e.length-1].match(/^[\t ]*$/);)t+=e.pop().length;if(e.length&&"string"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[\t ]*$/,"");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function p(e,t,n,o,i){let s=t.length;const u=[e],f=[];for(;n>=0;){if(0===u.length){if(0===s)return!0;u.push(t[s-1]),s--;continue}const[e,p,d]=u.pop();if("string"==typeof d)f.push(d),n-=r(d);else switch(d.type){case"concat":for(let t=d.parts.length-1;t>=0;t--)u.push([e,p,d.parts[t]]);break;case"indent":u.push([c(e,o),p,d.contents]);break;case"align":u.push([l(e,d.n,o),p,d.contents]);break;case"trim":n+=h(f);break;case"group":if(i&&d.break)return!1;u.push([e,d.break?1:p,d.contents]),d.id&&(a[d.id]=u[u.length-1][1]);break;case"fill":for(let t=d.parts.length-1;t>=0;t--)u.push([e,p,d.parts[t]]);break;case"if-break":{const t=d.groupId?a[d.groupId]:p;1===t&&d.breakContents&&u.push([e,p,d.breakContents]),2===t&&d.flatContents&&u.push([e,p,d.flatContents]);break}case"line":switch(p){case 2:if(!d.hard){d.soft||(f.push(" "),n-=1);break}return!0;case 1:return!0}}}return!1}e.exports={printDocToString:function(e,t){a={};const n=t.printWidth,f=o(t.endOfLine);let d=0;const D=[[{value:"",length:0,queue:[]},1,e]],g=[];let m=!1,y=[];for(;0!==D.length;){const[e,o,v]=D.pop();if("string"==typeof v){const e="\n"!==f&&v.includes("\n")?v.replace(/\n/g,f):v;g.push(e),d+=r(e)}else switch(v.type){case"cursor":g.push(u.placeholder);break;case"concat":for(let t=v.parts.length-1;t>=0;t--)D.push([e,o,v.parts[t]]);break;case"indent":D.push([c(e,t),o,v.contents]);break;case"align":D.push([l(e,v.n,t),o,v.contents]);break;case"trim":d-=h(g);break;case"group":switch(o){case 2:if(!m){D.push([e,v.break?1:2,v.contents]);break}case 1:{m=!1;const r=[e,2,v.contents],o=n-d;if(!v.break&&p(r,D,o,t))D.push(r);else if(v.expandedStates){const n=v.expandedStates[v.expandedStates.length-1];if(v.break){D.push([e,1,n]);break}for(let r=1;r=v.expandedStates.length){D.push([e,1,n]);break}{const n=[e,2,v.expandedStates[r]];if(p(n,D,o,t)){D.push(n);break}}}}else D.push([e,1,v.contents]);break}}v.id&&(a[v.id]=D[D.length-1][1]);break;case"fill":{const r=n-d,{parts:u}=v;if(0===u.length)break;const[a,c]=u,l=[e,2,a],f=[e,1,a],h=p(l,[],r,t,!0);if(1===u.length){h?D.push(l):D.push(f);break}const g=[e,2,c],m=[e,1,c];if(2===u.length){h?(D.push(g),D.push(l)):(D.push(m),D.push(f));break}u.splice(0,2);const y=[e,o,s(u)],w=u[0];p([e,2,i([a,c,w])],[],r,t,!0)?(D.push(y),D.push(g),D.push(l)):h?(D.push(y),D.push(m),D.push(l)):(D.push(y),D.push(m),D.push(f));break}case"if-break":{const t=v.groupId?a[v.groupId]:o;1===t&&v.breakContents&&D.push([e,o,v.breakContents]),2===t&&v.flatContents&&D.push([e,o,v.flatContents]);break}case"line-suffix":y.push([e,o,v.contents]);break;case"line-suffix-boundary":y.length>0&&D.push([e,o,{type:"line",hard:!0}]);break;case"line":switch(o){case 2:if(!v.hard){v.soft||(g.push(" "),d+=1);break}m=!0;case 1:if(y.length){D.push([e,o,v]),D.push(...y.reverse()),y=[];break}v.literal?e.root?(g.push(f,e.root.value),d=e.root.length):(g.push(f),d=0):(d-=h(g),g.push(f+e.value),d=e.length)}}0===D.length&&y.length&&(D.push(...y.reverse()),y=[])}const v=g.indexOf(u.placeholder);if(-1!==v){const e=g.indexOf(u.placeholder,v+1),t=g.slice(0,v).join(""),n=g.slice(v+1,e).join("");return{formatted:t+n+g.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:g.join("")}}}},630:(e,t,n)=>{const{literalline:r,concat:o}=n(5558),i={};function s(e,t,n,r){const o=[e];for(;0!==o.length;){const e=o.pop();if(e!==i){if(n&&o.push(e,i),!t||!1!==t(e))if("concat"===e.type||"fill"===e.type)for(let t=e.parts.length-1;t>=0;--t)o.push(e.parts[t]);else if("if-break"===e.type)e.flatContents&&o.push(e.flatContents),e.breakContents&&o.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)o.push(e.expandedStates[t]);else o.push(e.contents);else e.contents&&o.push(e.contents)}else n(o.pop())}}function u(e,t){if("concat"===e.type||"fill"===e.type){const n=e.parts.map((e=>u(e,t)));return t(Object.assign({},e,{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&u(e.breakContents,t),r=e.flatContents&&u(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=u(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function a(e,t,n){let r=n,o=!1;return s(e,(function(e){const n=t(e);if(void 0!==n&&(o=!0,r=n),o)return!1})),r}function c(e){return"string"!=typeof e&&("line"===e.type||void 0)}function l(e){return!("group"!==e.type||!e.break)||!("line"!==e.type||!e.hard)||"break-parent"===e.type||void 0}function f(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function h(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}function p(e){const t=[],n=e.filter(Boolean);for(;0!==n.length;){const e=n.shift();e&&("concat"!==e.type?0===t.length||"string"!=typeof t[t.length-1]||"string"!=typeof e?t.push(e):t[t.length-1]+=e:n.unshift(...e.parts))}return t}e.exports={isEmpty:function(e){return"string"==typeof e&&0===e.length},willBreak:function(e){return a(e,l,!1)},isLineNext:function(e){return a(e,c,!1)},traverseDoc:s,findInDoc:a,mapDoc:u,propagateBreaks:function(e){const t=new Set,n=[];s(e,(function(e){if("break-parent"===e.type&&f(n),"group"===e.type){if(n.push(e),t.has(e))return!1;t.add(e)}}),(function(e){"group"===e.type&&n.pop().break&&f(n)}),!0)},removeLines:function(e){return u(e,h)},stripTrailingHardline:function e(t,n=!1){if("concat"===t.type&&0!==t.parts.length){const r=n?function(e){let t,{parts:n}=e;for(let r=e.parts.length;r>0&&!t;r--)t=n[r-1];return"group"===t.type&&(n=t.contents.parts),n}(t):t.parts,o=r[r.length-1];if("concat"===o.type)return 2===o.parts.length&&o.parts[0].hard&&"break-parent"===o.parts[1].type?{type:"concat",parts:r.slice(0,-1)}:{type:"concat",parts:t.parts.slice(0,-1).concat(e(o))}}return t},normalizeParts:p,normalizeDoc:function(e){return u(e,(e=>e.parts?Object.assign({},e,{parts:p(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return u(e,(e=>"string"==typeof e&&e.includes("\n")?o(e.split(/(\n)/g).map(((e,t)=>t%2==0?e:r))):e))}}},3091:(e,t,n)=>{e.exports={builders:n(5558),printer:n(9765),utils:n(630),debug:n(3839)}},9355:(e,t,n)=>{const r=n(6920),{getLast:o,skipEverythingButNewLine:i}=n(9428);function s(e,t){return"number"==typeof e.sourceIndex?e.sourceIndex:e.source?r(e.source.start,t)-1:null}function u(e,t){if("css-comment"===e.type&&e.inline)return i(t,e.source.startOffset);const n=e.nodes&&o(e.nodes);return n&&e.source&&!e.source.end&&(e=n),e.source&&e.source.end?r(e.source.end,t):null}function a(e,t,n){e.source&&(e.source.startOffset=s(e,n)+t,e.source.endOffset=u(e,n)+t);for(const r in e){const o=e[r];"source"!==r&&o&&"object"==typeof o&&a(o,t,n)}}function c(e){let t=e.source.startOffset;return"string"==typeof e.prop&&(t+=e.prop.length),"css-atrule"===e.type&&"string"==typeof e.name&&(t+=1+e.name.length+e.raws.afterName.match(/^\s*:?\s*/)[0].length),"css-atrule"!==e.type&&e.raws&&"string"==typeof e.raws.between&&(t+=e.raws.between.length),t}e.exports={locStart:function(e){return e.source.startOffset},locEnd:function(e){return e.source.endOffset},calculateLoc:function e(t,n){t.source&&(t.source.startOffset=s(t,n),t.source.endOffset=u(t,n));for(const r in t){const o=t[r];"source"!==r&&o&&"object"==typeof o&&("value-root"===o.type||"value-unknown"===o.type?a(o,c(t),o.text||o.value):e(o,n))}},replaceQuotesInInlineComments:function(e){let t,n="initial",r="initial",o=!1;const i=[];for(let s=0;s{const r=n(47),{parse:o}=n(3405),{hasPragma:i}=n(8850),{hasSCSSInterpolation:s,hasStringOrFunction:u,isLessParser:a,isSCSS:c,isSCSSNestedPropertyNode:l,isSCSSVariable:f,stringifyNode:h}=n(5244),{locStart:p,locEnd:d}=n(9355),{calculateLoc:D,replaceQuotesInInlineComments:g}=n(9355),m=e=>{for(;e.parent;)e=e.parent;return e};function y(e,t){const{nodes:n}=e;let r={open:null,close:null,groups:[],type:"paren_group"};const o=[r],i=r;let a={groups:[],type:"comma_group"};const l=[a];for(let i=0;i0&&r.groups.push(a),i}function v(e){return"paren_group"!==e.type||e.open||e.close||1!==e.groups.length?"comma_group"===e.type&&1===e.groups.length?v(e.groups[0]):"paren_group"===e.type||"comma_group"===e.type?Object.assign({},e,{groups:e.groups.map(v)}):e:v(e.groups[0])}function w(e,t,n){if(e&&"object"==typeof e){delete e.parent;for(const r in e)w(e[r],t,n),"type"===r&&"string"==typeof e[r]&&(e[r].startsWith(t)||n&&n.test(e[r])||(e[r]=t+e[r]))}return e}function b(e){if(e&&"object"==typeof e){delete e.parent;for(const t in e)b(e[t]);Array.isArray(e)||!e.value||e.type||(e.type="unknown")}return e}function C(e,t){if(e&&"object"==typeof e){for(const n in e)"parent"!==n&&(C(e[n],t),"nodes"===n&&(e.group=v(y(e,t)),delete e[n]));delete e.parent}return e}function E(e,t){const r=n(9962);let o=null;try{o=r(e,{loose:!0}).parse()}catch(t){return{type:"value-unknown",value:e}}return o.text=e,w(C(o,t),"value-",/^selector-/)}function A(e){if(/\/\/|\/\*/.test(e))return{type:"selector-unknown",value:e.trim()};const t=n(1264);let r=null;try{t((e=>{r=e})).process(e)}catch(t){return{type:"selector-unknown",value:e}}return w(r,"selector-")}function k(e){const t=n(8322).Z;let r=null;try{r=t(e)}catch(t){return{type:"selector-unknown",value:e}}return w(b(r),"media-")}const F=/(\s*?)(!default).*$/,x=/(\s*?)(!global).*$/;function _(e,t){if(e&&"object"==typeof e){delete e.parent;for(const n in e)_(e[n],t);if(!e.type)return e;e.raws||(e.raws={});let n="";"string"==typeof e.selector&&(n=e.raws.selector?e.raws.selector.scss?e.raws.selector.scss:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(n+=e.raws.between),e.raws.selector=n);let r="";"string"==typeof e.value&&(r=e.raws.value?e.raws.value.scss?e.raws.value.scss:e.raws.value.raw:e.value,r=r.trim(),e.raws.value=r);let o="";if("string"==typeof e.params&&(o=e.raws.params?e.raws.params.scss?e.raws.params.scss:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(o=e.raws.afterName+o),e.raws.between&&e.raws.between.trim().length>0&&(o+=e.raws.between),o=o.trim(),e.raws.params=o),n.trim().length>0)return n.startsWith("@")&&n.endsWith(":")?e:e.mixin?(e.selector=E(n,t),e):(l(e)&&(e.isSCSSNesterProperty=!0),e.selector=A(n),e);if(r.length>0){const n=r.match(F);n&&(r=r.slice(0,n.index),e.scssDefault=!0,"!default"!==n[0].trim()&&(e.raws.scssDefault=n[0]));const o=r.match(x);if(o&&(r=r.slice(0,o.index),e.scssGlobal=!0,"!global"!==o[0].trim()&&(e.raws.scssGlobal=o[0])),r.startsWith("progid:"))return{type:"value-unknown",value:r};e.value=E(r,t)}if(a(t)&&"css-decl"===e.type&&r.startsWith("extend(")&&(e.extend||(e.extend=":"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=A(r.slice("extend(".length,-1)))),"css-atrule"===e.type){if(a(t)){if(e.mixin){const t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=A(t),delete e.params,e}if(e.function)return e}if("css"===t.parser&&"custom-selector"===e.name){const t=e.params.match(/:--\S+?\s+/)[0].trim();return e.customSelector=t,e.selector=A(e.params.slice(t.length).trim()),delete e.params,e}if(a(t)){if(e.name.includes(":")&&!e.params){e.variable=!0;const n=e.name.split(":");e.name=n[0],e.value=E(n.slice(1).join(":"),t)}if(!["page","nest"].includes(e.name)&&e.params&&":"===e.params[0]&&(e.variable=!0,e.value=E(e.params.slice(1),t),e.raws.afterName+=":"),e.variable)return delete e.params,e}}if("css-atrule"===e.type&&o.length>0){const{name:n}=e,r=e.name.toLowerCase();return"warn"===n||"error"===n?(e.params={type:"media-unknown",value:o},e):"extend"===n||"nest"===n?(e.selector=A(o),delete e.params,e):"at-root"===n?(/^\(\s*(without|with)\s*:[\S\s]+\)$/.test(o)?e.params=E(o,t):(e.selector=A(o),delete e.params),e):"import"===r?(e.import=!0,delete e.filename,e.params=E(o,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(n)?(o=o.replace(/(\$\S+?)\s+?\.{3}/,"$1..."),o=o.replace(/^(?!if)(\S+)\s+\(/,"$1("),e.value=E(o,t),delete e.params,e):["media","custom-media"].includes(r)?o.includes("#{")?{type:"media-unknown",value:o}:(e.params=k(o),e):(e.params=o,e)}}return e}function O(e,t,n){const i=o(t),{frontMatter:s}=i;let u;t=i.content;try{u=e(t)}catch(e){const{name:t,reason:n,line:o,column:i}=e;if("number"!=typeof o)throw e;throw r("".concat(t,": ").concat(n),{start:{line:o,column:i}})}return u=_(w(u,"css-"),n),D(u,t),s&&(s.source={startOffset:0,endOffset:s.raw.length},u.nodes.unshift(s)),u}function S(e,t,r){const o=n(7371);return O((e=>o.parse(g(e))),e,r)}function T(e,t,r){const{parse:o}=n(304);return O(o,e,r)}const R={astFormat:"postcss",hasPragma:i,locStart:p,locEnd:d};e.exports={parsers:{css:Object.assign({},R,{parse:function(e,t,n){const r=c(n.parser,e)?[T,S]:[S,T];let o;for(const i of r)try{return i(e,t,n)}catch(e){o=o||e}if(o)throw o}}),less:Object.assign({},R,{parse:S}),scss:Object.assign({},R,{parse:T})}}},8850:(e,t,n)=>{const r=n(3831),{parse:o}=n(3405);e.exports={hasPragma:function(e){return r.hasPragma(o(e).content)},insertPragma:function(e){const{frontMatter:t,content:n}=o(e);return(t?t.raw+"\n\n":"")+r.insertPragma(n)}}},5244:e=>{const t=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function n(e,t){const n=[].concat(t);let r,o=-1;for(;r=e.getParentNode(++o);)if(n.includes(r.type))return o;return-1}function r(e,t){const r=n(e,t);return-1===r?null:e.getParentNode(r)}function o(e){return"value-operator"===e.type&&"*"===e.value}function i(e){return"value-operator"===e.type&&"/"===e.value}function s(e){return"value-operator"===e.type&&"+"===e.value}function u(e){return"value-operator"===e.type&&"-"===e.value}function a(e){return"value-operator"===e.type&&"%"===e.value}function c(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function l(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&c(e.groups[0])}e.exports={getAncestorCounter:n,getAncestorNode:r,getPropOfDeclNode:function(e){const t=r(e,"css-decl");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(e&&e.length)for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1},hasStringOrFunction:function(e){if(e&&e.length)for(let t=0;t","<=",">="].includes(e.value)},isEqualityOperatorNode:function(e){return"value-word"===e.type&&["==","!="].includes(e.value)},isMultiplicationNode:o,isDivisionNode:i,isAdditionNode:s,isSubtractionNode:u,isModuloNode:a,isMathOperatorNode:function(e){return o(e)||i(e)||s(e)||u(e)||a(e)},isEachKeywordNode:function(e){return"value-word"===e.type&&"in"===e.value},isForKeywordNode:function(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)},isURLFunctionNode:function(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)},hasComposesNode:function(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&""===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith("prettier-placeholder")},isTemplatePropNode:function(e){return e.prop.startsWith("@prettier-placeholder")},isPostcssSimpleVarNode:function(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before},isKeyValuePairNode:c,isKeyValuePairInParenGroupNode:l,isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const n=e.getParentNode(1);if(!(l(t)||n&&l(n)))return!1;const o=r(e,"css-decl");return!!(o&&o.prop&&o.prop.startsWith("$"))||!!l(n)||"value-func"===n.type},isInlineValueCommentNode:function(e){return"value-comment"===e.type&&e.inline},isHashNode:function(e){return"value-word"===e.type&&"#"===e.value},isLeftCurlyBraceNode:function(e){return"value-word"===e.type&&"{"===e.value},isRightCurlyBraceNode:function(e){return"value-word"===e.type&&"}"===e.value},isWordNode:function(e){return["value-word","value-atword"].includes(e.type)},isColonNode:function(e){return"value-colon"===e.type},isMediaAndSupportsKeywords:function(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return"value-func"===e.type&&t.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\/\//.test(e.split(/[\n\r]/).pop())},stringifyNode:function e(t){if(t.groups)return(t.open&&t.open.value?t.open.value:"")+t.groups.reduce(((n,r,o)=>n+e(r)+("comma_group"===t.groups[0].type&&o!==t.groups.length-1?",":"")),"")+(t.close&&t.close.value?t.close.value:"");const n=t.raws&&t.raws.before?t.raws.before:"",r=t.raws&&t.raws.quote?t.raws.quote:"";return n+r+("atword"===t.type?"@":"")+(t.value?t.value:"")+r+(t.unit?t.unit:"")+(t.group?e(t.group):"")+(t.raws&&t.raws.after?t.raws.after:"")},isAtWordPlaceholderNode:function(e){return e&&"value-atword"===e.type&&e.value.startsWith("prettier-placeholder-")}}},3831:(e,t,n)=>{const{parseWithComments:r,strip:o,extract:i,print:s}=n(9234),{getShebang:u}=n(9428),{normalizeEndOfLine:a}=n(7933);function c(e){const t=u(e);t&&(e=e.slice(t.length+1));const n=i(e),{pragmas:o,comments:s}=r(n);return{shebang:t,text:e,pragmas:o,comments:s}}e.exports={hasPragma:function(e){const t=Object.keys(c(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:n,pragmas:r,comments:i}=c(e),u=o(n),l=s({pragmas:Object.assign({format:""},r),comments:i.trimStart()});return(t?"".concat(t,"\n"):"")+a(l)+(u.startsWith("\n")?"\n":"\n\n")+u}}},8988:(e,t,n)=>{function r(){const e=c(["\n Require either '@prettier' or '@format' to be present in the file's first docblock comment\n in order for it to be formatted.\n "]);return r=function(){return e},e}function o(){const e=c(["\n Format code starting at a given character offset.\n The range will extend backwards to the start of the first line containing the selected statement.\n This option cannot be used with --cursor-offset.\n "]);return o=function(){return e},e}function i(){const e=c(["\n Format code ending at a given character offset (exclusive).\n The range will extend forwards to the end of the selected statement.\n This option cannot be used with --cursor-offset.\n "]);return i=function(){return e},e}function s(){const e=c(["\n Custom directory that contains prettier plugins in node_modules subdirectory.\n Overrides default behavior when plugins are searched relatively to the location of Prettier.\n Multiple values are accepted.\n "]);return s=function(){return e},e}function u(){const e=c(["\n Maintain existing\n (mixed values within one file are normalised by looking at what's used after the first line)\n "]);return u=function(){return e},e}function a(){const e=c(["\n Print (to stderr) where a cursor at the given position would move to after formatting.\n This option cannot be used with --range-start and --range-end.\n "]);return a=function(){return e},e}function c(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}const{outdent:l}=n(5311),f="Config",h="Editor",p="Other",d="Global",D="Special",g={cursorOffset:{since:"1.4.0",category:D,type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:l(a()),cliCategory:h},endOfLine:{since:"1.15.0",category:d,type:"choice",default:[{since:"1.15.0",value:"auto"},{since:"2.0.0",value:"lf"}],description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:l(u())}]},filepath:{since:"1.4.0",category:D,type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:p,cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{since:"1.8.0",category:D,type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:p},parser:{since:"0.0.10",category:d,type:"choice",default:[{since:"0.0.10",value:"babylon"},{since:"1.13.0",value:void 0}],description:"Which parser to use.",exception:e=>"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:d,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:f},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:d,description:l(s()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:f},printWidth:{since:"0.0.0",category:d,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:D,type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:l(i()),cliCategory:h},rangeStart:{since:"1.4.0",category:D,type:"int",default:0,range:{start:0,end:1/0,step:1},description:l(o()),cliCategory:h},requirePragma:{since:"1.7.0",category:D,type:"boolean",default:!1,description:l(r()),cliCategory:p},tabWidth:{type:"int",category:d,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:d,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:d,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};e.exports={CATEGORY_CONFIG:f,CATEGORY_EDITOR:h,CATEGORY_FORMAT:"Format",CATEGORY_OTHER:p,CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:d,CATEGORY_SPECIAL:D,options:g}},7290:(e,t,n)=>{const r={compare:n(2828),lt:n(3725),gte:n(9195)},o=n(9077),i=n(306).i8,s=n(8988).options;e.exports={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:u=!1}={}){const a=i.split("-",1)[0],c=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(f),l=o(Object.assign({},...e.map((({options:e})=>e)),s),"name").filter((e=>f(e)&&h(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(o[n]=e[n]);return o}(e,["cliName","cliCategory","cliDescription"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(f).sort(((e,t)=>r.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>f(e)&&h(e))),"parser"===t.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!r.has(t)){r.add(t);const i=n.find((e=>e.parsers&&e.parsers[t]));let s=o.name;i&&i.name&&(s+=" (plugin: ".concat(i.name,")")),e.choices.push({value:t,description:s})}}(t,c,e));const n=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,n)=>(e[n.name]=n.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:n})}));return{languages:c,options:l};function f(e){return t||!("since"in e)||e.since&&r.gte(a,e.since)}function h(e){return n||!("deprecated"in e)||e.deprecated&&r.lt(a,e.deprecated)}}}},9077:e=>{e.exports=(e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n)))},3405:(e,t,n)=>{const r=n(2240),{builders:{hardline:o,concat:i,markAsRoot:s}}=n(3091),u={"---":"yaml","+++":"toml"};e.exports={parse:function(e){const t=Object.keys(u).map(r).join("|"),n=e.match(new RegExp("^(".concat(t,")([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)")));if(null===n)return{frontMatter:null,content:e};const[o,i,s,a]=n;let c=u[i];return"toml"!==c&&s&&s.trim()&&(c=s.trim()),{frontMatter:{type:"front-matter",lang:c,value:a,raw:o.replace(/\n$/,"")},content:o.replace(/[^\n]/g," ")+e.slice(o.length)}},print:function(e,t){if("yaml"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:"yaml"},{stripTrailingHardline:!0}):"";return s(i(["---",o,r,r?o:"","---"]))}}}},4652:e=>{e.exports=e=>e[e.length-1]},6920:e=>{e.exports=function(e,t){let n=0;for(let r=0;r{e.exports={i8:"2.2.1"}},7545:(e,t,n)=>{n.r(t),n.d(t,{existsSync:()=>r,readFileSync:()=>o,default:()=>i});const r=()=>!1,o=()=>"",i={existsSync:r,readFileSync:o}},9623:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});const r={EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}},6391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});var r=n(5724),o={};for(const e in r)"default"!==e&&(o[e]=()=>r[e]);n.d(t,o)},5208:()=>{},7027:()=>{},825:()=>{},1758:()=>{}},t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={id:r,loaded:!1,exports:{}};return e[r](o,o.exports,n),o.loaded=!0,o.exports}return n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(738)})()}(Ee={path:Ce,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&Ee.path)}},Ee.exports),Ee.exports));export default Ae; diff --git a/node_modules/prettier/esm/parser-typescript.mjs b/node_modules/prettier/esm/parser-typescript.mjs deleted file mode 100644 index ef2df342..00000000 --- a/node_modules/prettier/esm/parser-typescript.mjs +++ /dev/null @@ -1 +0,0 @@ -var e=function(e,t){const r=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return r.loc=t,r},t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return i(null==t&&r.path)}},r.exports),r.exports}function n(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function i(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var a=Object.freeze({__proto__:null,default:{EOL:"\n",platform:()=>"browser",cpus:()=>[{model:"Prettier"}]}});const o=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const r=t.filter((e=>"\r\n"===e)).length;return r>t.length-r?"\r\n":"\n"};var s=o;s.graceful=e=>"string"==typeof e&&o(e)||"\n";var c=n(a),u=r((function(e,t){function r(){const e=c;return r=function(){return e},e}function n(){const e=(t=s)&&t.__esModule?t:{default:t};var t;return n=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(o);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(o);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return g(e).pragmas},t.parseWithComments=g,t.print=function({comments:e="",pragmas:t={}}){const i=(0,n().default)(e)||r().EOL,a=" *",o=Object.keys(t),s=o.map((e=>m(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+i)).join("");if(!e){if(0===o.length)return"";if(1===o.length&&!Array.isArray(t[o[0]])){const e=t[o[0]];return"".concat("/**"," ").concat(m(o[0],e)[0]).concat(" */")}}const c=e.split(i).map((e=>"".concat(a," ").concat(e))).join(i)+i;return"/**"+i+(e?c:"")+(e&&o.length?a+i:"")+s+" */"};const i=/\*\/$/,a=/^\/\*\*/,o=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,u=/(^|\s+)\/\/([^\r\n]*)/g,l=/^(\r?\n)+/,d=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,_=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,f=[];function g(e){const t=(0,n().default)(e)||r().EOL;e=e.replace(a,"").replace(i,"").replace(p,"$1");let o="";for(;o!==e;)o=e,e=e.replace(d,"".concat(t,"$1 $2").concat(t));e=e.replace(l,"").trimRight();const s=Object.create(null),c=e.replace(_,"").replace(l,"").trimRight();let g;for(;g=_.exec(e);){const e=g[2].replace(u,"");"string"==typeof s[g[1]]||Array.isArray(s[g[1]])?s[g[1]]=f.concat(s[g[1]],e):s[g[1]]=e}return{comments:c,pragmas:s}}function m(e,t){return f.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}})),l=e=>"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const d=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var _=d,p=d;_.default=p;const f=e=>{if("string"!=typeof(e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===e.length)return 0;e=l(e);let t=0;for(let r=0;r=127&&n<=159||(n>=768&&n<=879||(n>65535&&r++,t+=_(n)?2:1))}return t};var g=f,m=f;g.default=m;var y=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")};function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var h="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function D(){throw new Error("setTimeout has not been defined")}function x(){throw new Error("clearTimeout has not been defined")}var b=D,S=x;function E(e){if(b===setTimeout)return setTimeout(e,0);if((b===D||!b)&&setTimeout)return b=setTimeout,setTimeout(e,0);try{return b(e,0)}catch(t){try{return b.call(null,e,0)}catch(t){return b.call(this,e,0)}}}"function"==typeof h.setTimeout&&(b=setTimeout),"function"==typeof h.clearTimeout&&(S=clearTimeout);var C,T=[],k=!1,A=-1;function F(){k&&C&&(k=!1,C.length?T=C.concat(T):A=-1,T.length&&N())}function N(){if(!k){var e=E(F);k=!0;for(var t=T.length;t;){for(C=T,T=[];++A1)for(var r=1;rconsole.error("SEMVER",...e):()=>{};var W={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},H=r((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:r}=W,n=(t=e.exports={}).re=[],i=t.src=[],a=t.t={};let o=0;const s=(e,t,r)=>{const s=o++;q(s,t),a[e]=s,i[s]=t,n[s]=new RegExp(t,r?"g":void 0)};s("NUMERICIDENTIFIER","0|[1-9]\\d*"),s("NUMERICIDENTIFIERLOOSE","[0-9]+"),s("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),s("MAINVERSION","(".concat(i[a.NUMERICIDENTIFIER],")\\.")+"(".concat(i[a.NUMERICIDENTIFIER],")\\.")+"(".concat(i[a.NUMERICIDENTIFIER],")")),s("MAINVERSIONLOOSE","(".concat(i[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[a.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[a.NUMERICIDENTIFIERLOOSE],")")),s("PRERELEASEIDENTIFIER","(?:".concat(i[a.NUMERICIDENTIFIER],"|").concat(i[a.NONNUMERICIDENTIFIER],")")),s("PRERELEASEIDENTIFIERLOOSE","(?:".concat(i[a.NUMERICIDENTIFIERLOOSE],"|").concat(i[a.NONNUMERICIDENTIFIER],")")),s("PRERELEASE","(?:-(".concat(i[a.PRERELEASEIDENTIFIER],"(?:\\.").concat(i[a.PRERELEASEIDENTIFIER],")*))")),s("PRERELEASELOOSE","(?:-?(".concat(i[a.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(i[a.PRERELEASEIDENTIFIERLOOSE],")*))")),s("BUILDIDENTIFIER","[0-9A-Za-z-]+"),s("BUILD","(?:\\+(".concat(i[a.BUILDIDENTIFIER],"(?:\\.").concat(i[a.BUILDIDENTIFIER],")*))")),s("FULLPLAIN","v?".concat(i[a.MAINVERSION]).concat(i[a.PRERELEASE],"?").concat(i[a.BUILD],"?")),s("FULL","^".concat(i[a.FULLPLAIN],"$")),s("LOOSEPLAIN","[v=\\s]*".concat(i[a.MAINVERSIONLOOSE]).concat(i[a.PRERELEASELOOSE],"?").concat(i[a.BUILD],"?")),s("LOOSE","^".concat(i[a.LOOSEPLAIN],"$")),s("GTLT","((?:<|>)?=?)"),s("XRANGEIDENTIFIERLOOSE","".concat(i[a.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),s("XRANGEIDENTIFIER","".concat(i[a.NUMERICIDENTIFIER],"|x|X|\\*")),s("XRANGEPLAIN","[v=\\s]*(".concat(i[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[a.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[a.XRANGEIDENTIFIER],")")+"(?:".concat(i[a.PRERELEASE],")?").concat(i[a.BUILD],"?")+")?)?"),s("XRANGEPLAINLOOSE","[v=\\s]*(".concat(i[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[a.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[a.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(i[a.PRERELEASELOOSE],")?").concat(i[a.BUILD],"?")+")?)?"),s("XRANGE","^".concat(i[a.GTLT],"\\s*").concat(i[a.XRANGEPLAIN],"$")),s("XRANGELOOSE","^".concat(i[a.GTLT],"\\s*").concat(i[a.XRANGEPLAINLOOSE],"$")),s("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(r,"})")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:\\.(\\d{1,".concat(r,"}))?")+"(?:$|[^\\d])"),s("COERCERTL",i[a.COERCE],!0),s("LONETILDE","(?:~>?)"),s("TILDETRIM","(\\s*)".concat(i[a.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",s("TILDE","^".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAIN],"$")),s("TILDELOOSE","^".concat(i[a.LONETILDE]).concat(i[a.XRANGEPLAINLOOSE],"$")),s("LONECARET","(?:\\^)"),s("CARETTRIM","(\\s*)".concat(i[a.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",s("CARET","^".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAIN],"$")),s("CARETLOOSE","^".concat(i[a.LONECARET]).concat(i[a.XRANGEPLAINLOOSE],"$")),s("COMPARATORLOOSE","^".concat(i[a.GTLT],"\\s*(").concat(i[a.LOOSEPLAIN],")$|^$")),s("COMPARATOR","^".concat(i[a.GTLT],"\\s*(").concat(i[a.FULLPLAIN],")$|^$")),s("COMPARATORTRIM","(\\s*)".concat(i[a.GTLT],"\\s*(").concat(i[a.LOOSEPLAIN],"|").concat(i[a.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",s("HYPHENRANGE","^\\s*(".concat(i[a.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(i[a.XRANGEPLAIN],")")+"\\s*$"),s("HYPHENRANGELOOSE","^\\s*(".concat(i[a.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(i[a.XRANGEPLAINLOOSE],")")+"\\s*$"),s("STAR","(<|>)?=?\\s*\\*"),s("GTE0","^\\s*>=\\s*0.0.0\\s*$"),s("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const G=/^[0-9]+$/,Y=(e,t)=>{const r=G.test(e),n=G.test(t);return r&&n&&(e=+e,t=+t),e===t?0:r&&!n?-1:n&&!r?1:eY(t,e)};const{MAX_LENGTH:Q,MAX_SAFE_INTEGER:$}=W,{re:Z,t:ee}=H,{compareIdentifiers:te}=X;class re{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof re){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>Q)throw new TypeError("version is longer than ".concat(Q," characters"));q("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?Z[ee.LOOSE]:Z[ee.FULL]);if(!r)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>$||this.major<0)throw new TypeError("Invalid major version");if(this.minor>$||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>$||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<$)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version="".concat(this.major,".").concat(this.minor,".").concat(this.patch),this.prerelease.length&&(this.version+="-".concat(this.prerelease.join("."))),this.version}toString(){return this.version}compare(e){if(q("SemVer.compare",this.version,this.options,e),!(e instanceof re)){if("string"==typeof e&&e===this.version)return 0;e=new re(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof re||(e=new re(e,this.options)),te(this.major,e.major)||te(this.minor,e.minor)||te(this.patch,e.patch)}comparePre(e){if(e instanceof re||(e=new re(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const r=this.prerelease[t],n=e.prerelease[t];if(q("prerelease compare",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}compareBuild(e){e instanceof re||(e=new re(e,this.options));let t=0;do{const r=this.build[t],n=e.build[t];if(q("prerelease compare",t,r,n),void 0===r&&void 0===n)return 0;if(void 0===n)return 1;if(void 0===r)return-1;if(r!==n)return te(r,n)}while(++t)}inc(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let e=this.prerelease.length;for(;--e>=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var ne=re;var ie=(e,t,r)=>new ne(e,r).compare(new ne(t,r));var ae=(e,t,r)=>ie(e,t,r)<0;var oe=(e,t,r)=>ie(e,t,r)>=0,se="2.2.1",ce=r((function(e,t){function r(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:ge(_e()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:ge(de()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:ge(le()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:ge(ue()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const ye={compare:ie,lt:ae,gte:oe},ve=se,he={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:me}.options;var De={getSupportInfo:function({plugins:e=[],showUnreleased:t=!1,showDeprecated:r=!1,showInternal:n=!1}={}){const i=ve.split("-",1)[0],a=e.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(u),o=(s=Object.assign({},...e.map((({options:e})=>e)),he),c="name",Object.entries(s).map((([e,t])=>Object.assign({[c]:e},t)))).filter((e=>u(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name=0||(i[r]=e[r]);return i}(e,["cliName","cliCategory","cliDescription"])})).map((t=>{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(u).sort(((e,t)=>ye.compare(t.since,e.since)))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter((e=>u(e)&&l(e))),"parser"===t.name&&function(e,t,r){const n=new Set(e.choices.map((e=>e.value)));for(const i of t)if(i.parsers)for(const t of i.parsers)if(!n.has(t)){n.add(t);const a=r.find((e=>e.parsers&&e.parsers[t]));let o=i.name;a&&a.name&&(o+=" (plugin: ".concat(a.name,")")),e.choices.push({value:t,description:o})}}(t,a,e));const r=e.filter((e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name])).reduce(((e,r)=>(e[r.name]=r.defaultOptions[t.name],e)),{});return Object.assign({},t,{pluginDefaults:r})}));var s,c;return{languages:a,options:o};function u(e){return t||!("since"in e)||e.since&&ye.gte(i,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&ye.lt(i,e.deprecated)}}};const{getSupportInfo:xe}=De,be=/[^\x20-\x7F]/;function Se(e){return(t,r,n)=>{const i=n&&n.backwards;if(!1===r)return!1;const{length:a}=t;let o=r;for(;o>=0&&o(r.match(o.regex)||[]).length?o.quote:a.quote}return s}function Re(e,t,r){const n='"'===t?"'":'"',i=e.replace(/\\([\S\s])|(["'])/g,((e,i,a)=>i===n?i:a===t?"\\"+a:a||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(i)?i:"\\"+i)));return t+i+t}function Be(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}var je={inferParserByLanguage:function(e,t){const{languages:r}=xe({plugins:t.plugins}),n=r.find((({name:t})=>t.toLowerCase()===e))||r.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||r.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return n&&n.parsers[0]},replaceEndOfLineWith:function(e,t){const r=[];for(const n of e.split("\n"))0!==r.length&&r.push(t),r.push(n);return r},getStringWidth:function(e){return e?be.test(e)?g(e):e.length:0},getMaxContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(y(t),")+"),"g"));return null===r?0:r.reduce(((e,r)=>Math.max(e,r.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const r=e.match(new RegExp("(".concat(y(t),")+"),"g"));if(null===r)return 0;const n=new Map;let i=0;for(const e of r){const r=e.length/t.length;n.set(r,!0),r>i&&(i=r)}for(let e=1;ee[e.length-2],getLast:e=>e[e.length-1],getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ie,getNextNonSpaceNonCommentCharacterIndex:Oe,getNextNonSpaceNonCommentCharacter:function(e,t,r){return e.charAt(Oe(e,t,r))},skip:Se,skipWhitespace:Ee,skipSpaces:Ce,skipToLineEnd:Te,skipEverythingButNewLine:ke,skipInlineComment:Ae,skipTrailingComment:Fe,skipNewline:Ne,isNextLineEmptyAfterIndex:we,isNextLineEmpty:function(e,t,r){return we(e,r(t))},isPreviousLineEmpty:function(e,t,r){let n=r(t)-1;return n=Ce(e,n,{backwards:!0}),n=Ne(e,n,{backwards:!0}),n=Ce(e,n,{backwards:!0}),n!==Ne(e,n,{backwards:!0})},hasNewline:Pe,hasNewlineInRange:function(e,t,r){for(let n=t;n=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let r;if("\n"===t)r=/\n/g;else if("\r"===t)r=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));r=/\r\n/g}const n=e.match(r);return n?n.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{parseWithComments:Ke,strip:ze,extract:Ue,print:Ve}=u,{getShebang:qe}=je,{normalizeEndOfLine:We}=Je;function He(e){const t=qe(e);t&&(e=e.slice(t.length+1));const r=Ue(e),{pragmas:n,comments:i}=Ke(r);return{shebang:t,text:e,pragmas:n,comments:i}}var Ge={hasPragma:function(e){const t=Object.keys(He(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:r,pragmas:n,comments:i}=He(e),a=ze(r),o=Ve({pragmas:Object.assign({format:""},n),comments:i.trimStart()});return(t?"".concat(t,"\n"):"")+We(o)+(a.startsWith("\n")?"\n":"\n\n")+a}};function Ye(e,t){const{ignoreDecorators:r}=t||{};if(!r){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return Ye(t[0])}return e.range?e.range[0]:e.start}function Xe(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,Xe(e.typeAnnotation)):t}function Qe(e,t){return Ye(e)===Ye(t)}var $e={locStart:Ye,locEnd:Xe,composeLoc:function(e,t=e){const r=Ye(e);return[r,"number"==typeof t?r+t:Xe(t)]},hasSameLocStart:Qe,hasSameLoc:function(e,t){return Qe(e,t)&&function(e,t){return Xe(e)===Xe(t)}(e,t)}},Ze=r((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function r(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=r(t)}while(t);return!1},trailingStatement:r}}()})),et=r((function(e){!function(){var t,r,n,i,a,o;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},n=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),o=0;o<128;++o)i[o]=o>=97&&o<=122||o>=65&&o<=90||36===o||95===o;for(a=new Array(128),o=0;o<128;++o)a[o]=o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||36===o||95===o;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&n.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:r.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?a[e]:r.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?a[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()})),tt=r((function(e){!function(){var t=et;function r(e,t){return!(!t&&"yield"===e)&&n(e,t)}function n(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function i(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function a(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function o(e){var r,n,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(r=1,n=e.length;r=n)return!1;if(!(56320<=(a=e.charCodeAt(r))&&a<=57343))return!1;i=1024*(i-55296)+(a-56320)+65536}if(!o(i))return!1;o=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:n,isReservedWordES5:i,isReservedWordES6:a,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:o,isIdentifierNameES6:s,isIdentifierES5:function(e,t){return o(e)&&!i(e,t)},isIdentifierES6:function(e,t){return s(e)&&!a(e,t)}}}()}));const rt=r((function(e,t){t.ast=Ze,t.code=et,t.keyword=tt})).keyword.isIdentifierNameES5,{getLast:nt,hasNewline:it,hasNewlineInRange:at,skipWhitespace:ot}=je,{locStart:st,locEnd:ct,hasSameLocStart:ut}=$e,lt=new RegExp("^".concat("(?:(?=.)\\s)","*:")),dt=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function _t(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>_t(e,t)));const r=t(e);return"boolean"==typeof r?r:Object.keys(e).some((r=>_t(e[r],t)))}function pt(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||"CallExpression"===e.type||"OptionalCallExpression"===e.type||"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type}function ft(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression}function gt(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}const mt=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function yt(e){return e&&mt.has(e.type)}function vt(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type}function ht(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function Dt(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function xt(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function bt(e){return!("CallExpression"!==e.type&&"OptionalCallExpression"!==e.type||"Identifier"!==e.callee.type||"async"!==e.callee.name&&"inject"!==e.callee.name&&"fakeAsync"!==e.callee.name)}function St(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Et(e){return"get"===e.kind||"set"===e.kind}function Ct(e){return Et(e)||ut(e,e.value)}const Tt=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const kt=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const At=/^(skip|[fx]?(it|describe|test))$/;function Ft(e){return"CallExpression"===e.type||"OptionalCallExpression"===e.type}const Nt=new RegExp("([ \n\r\t]+)"),Pt=new RegExp("[^ \n\r\t]");function wt(e){return vt(e)&&(Pt.test(Lt(e))||!/\n/.test(Lt(e)))}function It(e,t){if(St(t))return Wt(t);return t.comments&&t.comments.some((t=>t.leading&&it(e,ct(t))))}function Ot(e){return/^(\d+|\d+\.\d+)$/.test(e)}function Mt(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function Lt(e){return e.extra?e.extra.raw:e.raw}const Rt={"==":!0,"!=":!0,"===":!0,"!==":!0},Bt={"*":!0,"/":!0,"%":!0},jt={">>":!0,">>>":!0,"<<":!0};const Jt={};function Kt(e){return Jt[e]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((e,t)=>{e.forEach((e=>{Jt[e]=t}))}));const zt=new WeakMap;function Ut(e){if(zt.has(e))return zt.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),zt.set(e,t),t}const Vt=new WeakMap;function qt(e){return"prettier-ignore"===e.value.trim()}function Wt(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>qt(e)&&!e.unignore))||e.prettierIgnore)}function Ht(e){return Wt(e.getValue())}var Gt={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if("in"===t||"instanceof"===t)return!0}switch(e.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const t=e.value?e.value.async:e.async,r=e.value?e.value.generator:e.generator;return!t&&"get"!==e.kind&&"set"!==e.kind&&!(!e.computed&&!r)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if("ClassProperty"!==t.type&&"FieldDefinition"!==t.type)return!1;const r=t.key&&t.key.name;return!("static"!==r&&"get"!==r&&"set"!==r||t.value||t.typeAnnotation)||void 0},getFunctionParameters:Ut,iterateFunctionParametersPath:function(e,t){const r=e.getValue();let n=0;const i=e=>t(e,n++);r.this&&e.call(i,"this"),Array.isArray(r.parameters)?e.each(i,"parameters"):Array.isArray(r.params)&&e.each(i,"params"),r.rest&&e.call(i,"rest")},getCallArguments:function(e){if(Vt.has(e))return Vt.get(e);const t="ImportExpression"===e.type?[e.source]:e.arguments;return Vt.set(e,t),t},iterateCallArgumentsPath:function(e,t){"ImportExpression"===e.getValue().type?e.call((e=>t(e,0)),"source"):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=Ut(e);return t.length>0&&"RestElement"===nt(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&yt(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&>(e[0])&&dt.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&>(e.trailingComments[0])&<.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:It,hasNakedLeftSide:pt,hasNewlineBetweenOrAfterDecorators:function(e,t){return at(t.originalText,st(e.decorators[0]),ct(nt(e.decorators)))||it(t.originalText,ct(nt(e.decorators)))},hasNgSideEffect:function(e){return _t(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:_t,hasPrettierIgnore:function(e){return Ht(e)||function(e){const t=e.getValue(),r=e.getParentNode();if(!(r&&t&&St(t)&&St(r)))return!1;let n=null;for(let e=r.children.indexOf(t);e>0;e--){const t=r.children[e-1];if("JSXText"!==t.type||wt(t)){n=t;break}}return n&&"JSXExpressionContainer"===n.type&&"JSXEmptyExpression"===n.expression.type&&n.expression.comments&&n.expression.comments.some((e=>qt(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!gt(e)))},hasIgnoreComment:Ht,hasNodeIgnoreComment:Wt,identity:function(e){return e},isBinaryish:function(e){return Tt.has(e.type)},isBlockComment:gt,isLineComment:function(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type},isPrettierIgnoreComment:qt,isCallOrOptionalCallExpression:Ft,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return vt(t)&&!wt(t)},isExportDeclaration:yt,isFlowAnnotationComment:function(e,t){const r=st(t),n=ot(e,ct(t));return!1!==n&&"/*"===e.slice(r,r+2)&&"*/"===e.slice(n,n+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const r of e)if(xt(r)){if(t+=1,t>1)return!0}else if(Ft(r))for(const e of r.arguments)if(xt(e))return!0;return!1},isFunctionNotation:Ct,isFunctionOrArrowExpression:xt,isGetterOrSetter:Et,isJestEachTemplateLiteral:function(e,t){const r=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&r.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&r.test(t.tag.object.object.name))},isJSXNode:St,isJSXWhitespaceExpression:function(e){return"JSXExpressionContainer"===e.type&&vt(e.expression)&&" "===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const r=e.getValue(),n=(t.body||t.consequent).filter((e=>"EmptyStatement"!==e.type));return n[n.length-1]===r},isLiteral:vt,isLongCurriedCallExpression:function(e){const t=e.getValue(),r=e.getParentNode();return Ft(t)&&Ft(r)&&r.callee===t&&t.arguments.length>r.arguments.length&&r.arguments.length>0},isSimpleCallArgument:function e(t,r){if(r>=2)return!1;const n=t=>e(t,r+1),i="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(i&&i.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.expressions.every(n):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&n(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||n(e))):"ImportExpression"===t.type?n(t.source):"CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type?e(t.callee,r)&&t.arguments.every(n):"MemberExpression"===t.type||"OptionalMemberExpression"===t.type?e(t.object,r)&&e(t.property,r):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,r):e(t.argument,r)))},isMeaningfulJSXText:wt,isMemberExpressionChain:function e(t){return("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&("Identifier"===t.object.type||e(t.object))},isMemberish:function(e){return"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"BindExpression"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,r){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===r.body[0].type&&null===r.body[0].value},isNumericLiteral:ht,isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Ct(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!kt.has(e.type))},isSimpleNumber:Ot,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const r=e[t];return 0!==r.length&&r.every((e=>{if(e.comments)return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if("MemberExpression"===e.type||"OptionalMemberExpression"===e.type){let t=e;for(;"MemberExpression"===t.type||"OptionalMemberExpression"===t.type;){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:Dt,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&Dt(e.key)&&Lt(e.key).slice(1,-1)===e.key.value&&(rt(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||Ot(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&Mt(e)||"TaggedTemplateExpression"===e.type&&Mt(e.quasi))&&!it(t,st(e),{backwards:!0})},isTestCall:function e(t,r){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(bt(t)&&r&&e(r))return xt(t.arguments[0]);if(function(e){return"Identifier"===e.callee.type&&/^(before|after)(Each|All)$/.test(e.callee.name)&&1===e.arguments.length}(t))return bt(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&At.test(t.callee.name)||function(e){return("MemberExpression"===e.callee.type||"OptionalMemberExpression"===e.callee.type)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&At.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||Dt(t.arguments[0])))return!(t.arguments[2]&&!ht(t.arguments[2]))&&((2===t.arguments.length?xt(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&Ut(t.arguments[1]).length<=1)||bt(t.arguments[1]));return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const r=t.getNode();if(!r.expression||!St(r.expression))return!1;const n=t.getParentNode();return"Program"===n.type&&1===n.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||ut(e,e.typeAnnotation))},matchJsxWhitespaceRegex:Nt,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=nt(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!gt(t)},rawText:Lt,returnArgumentHasLeadingComment:function(e,t){if(It(e.originalText,t))return!0;if(pt(t)){let r,n=t;for(;r=ft(n);)if(n=r,It(e.originalText,n))return!0}return!1},shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return!!jt[e]||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return Kt(t)===Kt(e)&&("**"!==e&&((!Rt[e]||!Rt[t])&&(!("%"===t&&Bt[e]||"%"===e&&Bt[t])&&((t===e||!Bt[t]||!Bt[e])&&(!jt[e]||!jt[t])))))},startsWithNoLookaheadToken:function e(t,r){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return r;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,r);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,r);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,r);case"ConditionalExpression":return e(t.test,r);case"UpdateExpression":return!t.prefix&&e(t.argument,r);case"BindExpression":return t.object&&e(t.object,r);case"SequenceExpression":return e(t.expressions[0],r);case"TSAsExpression":return e(t.expression,r);default:return!1}},getPrecedence:Kt};const{getLast:Yt,hasNewline:Xt,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Qt,getNextNonSpaceNonCommentCharacter:$t,hasNewlineInRange:Zt,addLeadingComment:er,addTrailingComment:tr,addDanglingComment:rr,getNextNonSpaceNonCommentCharacterIndex:nr}=je,{isBlockComment:ir,getFunctionParameters:ar,isPrettierIgnoreComment:or,isJSXNode:sr,hasFlowShorthandAnnotationComment:cr,hasFlowAnnotationComment:ur,hasIgnoreComment:lr}=Gt,{locStart:dr,locEnd:_r}=$e;function pr(e,t){const r=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));r?er(r,t):rr(e,t)}function fr(e,t){"BlockStatement"===e.type?pr(e,t):er(e,t)}function gr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||"IfStatement"!==n.type||!i)return!1;return")"===$t(t,e,_r)?(tr(r,e),!0):r===n.consequent&&i===n.alternate?("BlockStatement"===r.type?tr(r,e):rr(n,e),!0):"BlockStatement"===i.type?(pr(i,e),!0):"IfStatement"===i.type?(fr(i.consequent,e),!0):n.consequent===i&&(er(i,e),!0)}function mr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(!n||"WhileStatement"!==n.type||!i)return!1;return")"===$t(t,e,_r)?(tr(r,e),!0):"BlockStatement"===i.type?(pr(i,e),!0):n.body===i&&(er(i,e),!0)}function yr(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;return!(!r||"TryStatement"!==r.type&&"CatchClause"!==r.type||!n)&&("CatchClause"===r.type&&t?(tr(t,e),!0):"BlockStatement"===n.type?(pr(n,e),!0):"TryStatement"===n.type?(fr(n.finalizer,e),!0):"CatchClause"===n.type&&(fr(n.body,e),!0))}function vr(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&("ClassDeclaration"===r.type||"ClassExpression"===r.type||"DeclareClass"===r.type||"DeclareInterface"===r.type||"InterfaceDeclaration"===r.type||"TSInterfaceDeclaration"===r.type)){if(r.decorators&&r.decorators.length>0&&(!n||"Decorator"!==n.type))return tr(r.decorators[r.decorators.length-1],e),!0;if(r.body&&n===r.body)return pr(r.body,e),!0;if(n)for(const i of["implements","extends","mixins"])if(r[i]&&n===r[i][0])return!t||t!==r.id&&t!==r.typeParameters&&t!==r.superClass?rr(r,e,i):tr(t,e),!0}return!1}function hr(e,t){const{precedingNode:r,enclosingNode:n}=e;return(n&&r&&("Property"===n.type||"TSDeclareMethod"===n.type||"TSAbstractMethodDefinition"===n.type)&&"Identifier"===r.type&&n.key===r&&":"!==$t(t,r,_r)||!(!r||!n||"Decorator"!==r.type||"ClassMethod"!==n.type&&"ClassProperty"!==n.type&&"FieldDefinition"!==n.type&&"TSAbstractClassProperty"!==n.type&&"TSAbstractMethodDefinition"!==n.type&&"TSDeclareMethod"!==n.type&&"MethodDefinition"!==n.type))&&(tr(r,e),!0)}function Dr(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e;if(r&&"FunctionTypeParam"===r.type&&n&&"FunctionTypeAnnotation"===n.type&&i&&"FunctionTypeParam"!==i.type)return tr(r,e),!0;if(r&&("Identifier"===r.type||"AssignmentPattern"===r.type)&&n&&Cr(n)&&")"===$t(t,e,_r))return tr(r,e),!0;if(n&&"FunctionDeclaration"===n.type&&i&&"BlockStatement"===i.type){const r=(()=>{const e=ar(n);if(0!==e.length)return Qt(t,_r(Yt(e)));const r=Qt(t,_r(n.id));return!1!==r&&Qt(t,r+1)})();if(dr(e)>r)return pr(i,e),!0}return!1}function xr(e){const{enclosingNode:t}=e;return!(!t||"ImportSpecifier"!==t.type)&&(er(t,e),!0)}function br(e){const{enclosingNode:t}=e;return!(!t||"LabeledStatement"!==t.type)&&(er(t,e),!0)}function Sr(e,t,r){const{enclosingNode:n}=e;return t&&t.body&&0===t.body.length?(r?rr(t,e):er(t,e),!0):!(!n||"Program"!==n.type||0!==n.body.length||!n.directives||0!==n.directives.length)&&(r?rr(n,e):er(n,e),!0)}function Er(e){const{enclosingNode:t,followingNode:r}=e;if(or(e)&&t&&"TSMappedType"===t.type&&r&&"TSTypeParameter"===r.type&&r.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Cr(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Tr(e){return ir(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var kr={handleOwnLineComment:function(e,t,r,n,i){return Er(e)||Dr(e,t)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&r&&"Identifier"===r.type)return er(t,e),!0;return!1}(e)||gr(e,t)||mr(e,t)||yr(e)||vr(e)||xr(e)||function(e){const{enclosingNode:t}=e;if(t&&("ForInStatement"===t.type||"ForOfStatement"===t.type))return er(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type))return or(e)&&(n.prettierIgnore=!0,e.unignore=!0),!!t&&(tr(t,e),!0);n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&or(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Sr(e,n,i)||function(e,t){const{precedingNode:r,enclosingNode:n}=e;if(r&&"ImportSpecifier"===r.type&&n&&"ImportDeclaration"===n.type&&Xt(t,_r(e)))return tr(r,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&"AssignmentPattern"===t.type)return er(t,e),!0;return!1}(e)||hr(e,t)||br(e)},handleEndOfLineComment:function(e,t,r,n,i){return function(e){const{followingNode:t}=e;if(t&&Tr(e))return er(t,e),!0;return!1}(e)||Dr(e,t)||function(e,t){const{precedingNode:r,enclosingNode:n,followingNode:i}=e,a=r&&!Zt(t,_r(r),dr(e));if((!r||!a)&&n&&("ConditionalExpression"===n.type||"TSConditionalType"===n.type)&&i)return er(i,e),!0;return!1}(e,t)||xr(e)||gr(e,t)||mr(e,t)||yr(e)||vr(e)||br(e)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&("CallExpression"===r.type||"OptionalCallExpression"===r.type)&&t&&r.callee===t&&r.arguments.length>0)return er(r.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("Property"===t.type||"ObjectProperty"===t.type))return er(t,e),!0;return!1}(e)||Sr(e,n,i)||function(e){const{enclosingNode:t}=e;if(t&&"TypeAlias"===t.type)return er(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:r}=e;if(t&&("VariableDeclarator"===t.type||"AssignmentExpression"===t.type)&&r&&("ObjectExpression"===r.type||"ArrayExpression"===r.type||"TemplateLiteral"===r.type||"TaggedTemplateExpression"===r.type||ir(e)))return er(r,e),!0;return!1}(e)},handleRemainingComment:function(e,t,r,n,i){return!!(Er(e)||gr(e,t)||mr(e,t)||function(e){const{precedingNode:t,enclosingNode:r}=e;if(r&&("ObjectProperty"===r.type||"Property"===r.type)&&r.shorthand&&r.key===t&&"AssignmentPattern"===r.value.type)return tr(r.value.left,e),!0;return!1}(e)||function(e,t){if(")"!==$t(t,e,_r))return!1;const{enclosingNode:r}=e;if(r&&(Cr(r)&&0===ar(r).length||("CallExpression"===r.type||"OptionalCallExpression"===r.type||"NewExpression"===r.type)&&0===r.arguments.length))return rr(r,e),!0;if(r&&"MethodDefinition"===r.type&&0===ar(r.value).length)return rr(r.value,e),!0;return!1}(e,t)||hr(e,t)||Sr(e,n,i)||function(e,t){const{enclosingNode:r}=e;if(!r||"ArrowFunctionExpression"!==r.type)return!1;const n=nr(t,e,_r);if(!1!==n&&"=>"===t.slice(n,n+2))return rr(r,e),!0;return!1}(e,t)||function(e,t){if("("!==$t(t,e,_r))return!1;const{precedingNode:r,enclosingNode:n}=e;if(r&&n&&("FunctionDeclaration"===n.type||"FunctionExpression"===n.type||"ClassMethod"===n.type||"MethodDefinition"===n.type||"ObjectMethod"===n.type))return tr(r,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:r,followingNode:n}=e;if(!r||"TSMappedType"!==r.type)return!1;if(n&&"TSTypeParameter"===n.type&&n.name)return er(n.name,e),!0;if(t&&"TSTypeParameter"===t.type&&t.constraint)return tr(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("ContinueStatement"===t.type||"BreakStatement"===t.type)&&!t.label)return tr(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:r,followingNode:n}=e;if(!n&&r&&("TSMethodSignature"===r.type||"TSDeclareFunction"===r.type||"TSAbstractMethodDefinition"===r.type)&&";"===$t(t,e,_r))return tr(r,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:Tr,getGapRegex:function(e){if(e&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type)return/^[\s&(|]*$/},getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===ar(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),r=e.getParentNode();return(t&&(sr(t)||cr(t)||r&&("CallExpression"===r.type||"OptionalCallExpression"===r.type)&&(ur(t.leadingComments)||ur(t.trailingComments)))||r&&("JSXSpreadAttribute"===r.type||"JSXSpreadChild"===r.type||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type||("ClassDeclaration"===r.type||"ClassExpression"===r.type)&&r.superClass===t))&&(!lr(e)||"UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)}};const{getLast:Ar,getNextNonSpaceNonCommentCharacter:Fr,getShebang:Nr}=je,{composeLoc:Pr,locStart:wr,locEnd:Ir}=$e,{isTypeCastComment:Or}=kr;function Mr(e){return"CallExpression"===e.type?(e.type="OptionalCallExpression",e.callee=Mr(e.callee)):"MemberExpression"===e.type?(e.type="OptionalMemberExpression",e.object=Mr(e.object)):"TSNonNullExpression"===e.type&&(e.expression=Mr(e.expression)),e}function Lr(e,t){let r;if(Array.isArray(e))r=e.entries();else{if(!e||"object"!=typeof e||"string"!=typeof e.type)return e;r=Object.entries(e)}for(const[n,i]of r)e[n]=Lr(i,t);return Array.isArray(e)?e:t(e)||e}function Rr(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function Br(e){return Rr(e)?Br({type:"LogicalExpression",operator:e.operator,left:Br({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:Pr(e.left,e.right.left)}),right:e.right.right,range:Pr(e)}):e}var jr=function(t,r){if("typescript"!==r.parser&&"flow"!==r.parser&&"espree"!==r.parser||function(e,t){const r=Nr(t.originalText);r&&e.comments.unshift({type:"Line",value:r.slice(2),range:[0,r.length]})}(t,r),"typescript"===r.parser&&r.originalText.includes("@")){const{esTreeNodeToTSNodeMap:n,tsNodeToESTreeNodeMap:i}=r.tsParseResult;t=Lr(t,(t=>{const r=n.get(t);if(!r)return;const a=r.decorators;if(!Array.isArray(a))return;const o=i.get(r);if(o!==t)return;const s=o.decorators;if(!Array.isArray(s)||s.length!==a.length||a.some((e=>{const t=i.get(e);return!t||!s.includes(t)}))){const{start:t,end:r}=o.loc;throw e("Leading decorators must be attached to a class declaration",{start:{line:t.line,column:t.column+1},end:{line:r.line,column:r.column+1}})}}))}if("typescript"!==r.parser&&"flow"!==r.parser&&"espree"!==r.parser&&"meriyah"!==r.parser){const e=new Set;t=Lr(t,(t=>{t.leadingComments&&t.leadingComments.some(Or)&&e.add(wr(t))})),t=Lr(t,(t=>{if("ParenthesizedExpression"===t.type){const{expression:r}=t;if("TypeCastExpression"===r.type)return r.range=t.range,r;const n=wr(t);if(!e.has(n))return r.extra=Object.assign({},r.extra,{parenthesized:!0}),r}}))}return t=Lr(t,(e=>{switch(e.type){case"ChainExpression":return Mr(e.expression);case"LogicalExpression":if(Rr(e))return Br(e);break;case"VariableDeclaration":{const t=Ar(e.declarations);t&&t.init&&function(e,t){if(";"===r.originalText[Ir(t)])return;e.range=Pr(e,t)}(e,t);break}case"TSParenthesizedType":return e.typeAnnotation.range=Pr(e),e.typeAnnotation;case"TSUnionType":case"TSIntersectionType":if(1===e.types.length){const[t]=e.types;return t.range=Pr(e),t}break;case"TSTypeParameter":"string"==typeof e.name&&(e.name={type:"Identifier",name:e.name,range:Pr(e,e.name.length)});break;case"SequenceExpression":{const t=Ar(e.expressions);Ir(e)>Ir(t)&&(e.range=Pr(e,t));break}case"ClassProperty":e.key&&"TSPrivateIdentifier"===e.key.type&&"?"===Fr(r.originalText,e.key,Ir)&&(e.optional=!0)}}))},Jr=1e3,Kr=60*Jr,zr=60*Kr,Ur=24*zr,Vr=7*Ur,qr=365.25*Ur,Wr=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*qr;case"weeks":case"week":case"w":return r*Vr;case"days":case"day":case"d":return r*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return r*zr;case"minutes":case"minute":case"mins":case"min":case"m":return r*Kr;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=Ur)return Hr(e,t,Ur,"day");if(t>=zr)return Hr(e,t,zr,"hour");if(t>=Kr)return Hr(e,t,Kr,"minute");if(t>=Jr)return Hr(e,t,Jr,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=Ur)return Math.round(e/Ur)+"d";if(t>=zr)return Math.round(e/zr)+"h";if(t>=Kr)return Math.round(e/Kr)+"m";if(t>=Jr)return Math.round(e/Jr)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Hr(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}var Gr=function(e){function t(e){let t=0;for(let r=0;r{if("%%"===n)return n;s++;const a=r.formatters[i];if("function"==typeof a){const r=e[s];n=a.call(t,r),e.splice(s,1),s--}return n})),r.formatArgs.call(t,e);(t.log||r.log).apply(t,e)}return o.namespace=e,o.enabled=r.enabled(e),o.useColors=r.useColors(),o.color=t(e),o.destroy=n,o.extend=i,"function"==typeof r.init&&r.init(o),r.instances.push(o),o}function n(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function i(e,t){const n=r(this.namespace+(void 0===t?":":t)+e);return n.log=this.log,n}function a(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return r.debug=r,r.default=r,r.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},r.disable=function(){const e=[...r.names.map(a),...r.skips.map(a).map((e=>"-"+e))].join(",");return r.enable(""),e},r.enable=function(e){let t;r.save(e),r.names=[],r.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(t=0;t{r[t]=e[t]})),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=t,r.enable(r.load()),r},Yr=r((function(e,t){t.log=function(...e){return"object"==typeof console&&console.log&&console.log(...e)},t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&void 0!==V&&"env"in V&&(e=V.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.exports=Gr(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}})),Xr={isatty:()=>!1},Qr=Object.freeze({__proto__:null,default:Xr}),$r=Object.freeze({__proto__:null,default:{}}),Zr=(e,t=V.argv)=>{const r=e.startsWith("-")?"":1===e.length?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return-1!==n&&(-1===i||n=2,has16m:e>=3}}function an(e,t){if(0===rn)return 0;if(Zr("color=16m")||Zr("color=full")||Zr("color=truecolor"))return 3;if(Zr("color=256"))return 2;if(e&&!t&&void 0===rn)return 0;const r=rn||0;if("dumb"===tn.TERM)return r;if("win32"===V.platform){const e=c.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in tn)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in tn))||"codeship"===tn.CI_NAME?1:r;if("TEAMCITY_VERSION"in tn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(tn.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in tn)return 1;if("truecolor"===tn.COLORTERM)return 3;if("TERM_PROGRAM"in tn){const e=parseInt((tn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(tn.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(tn.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(tn.TERM)||"COLORTERM"in tn?1:r}Zr("no-color")||Zr("no-colors")||Zr("color=false")||Zr("color=never")?rn=0:(Zr("color")||Zr("colors")||Zr("color=true")||Zr("color=always"))&&(rn=1),"FORCE_COLOR"in tn&&(rn="true"===tn.FORCE_COLOR?1:"false"===tn.FORCE_COLOR?0:0===tn.FORCE_COLOR.length?1:Math.min(parseInt(tn.FORCE_COLOR,10),3));var on={supportsColor:function(e){return nn(an(e,e&&e.isTTY))},stdout:nn(an(!0,en.isatty(1))),stderr:nn(an(!0,en.isatty(2)))},sn=n($r),cn=(r((function(e,t){t.init=function(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let n=0;n=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(V.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let n=V.env[t];return n=!!/^(yes|on|true|enabled)$/i.test(n)||!/^(no|off|false|disabled)$/i.test(n)&&("null"===n?null:Number(n)),e[r]=n,e}),{}),e.exports=Gr(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,sn.inspect(e,this.inspectOpts).replace(/\s*\n\s*/g," ")},r.O=function(e){return this.inspectOpts.colors=this.useColors,sn.inspect(e,this.inspectOpts)}})),r((function(e){void 0===V||V.type,e.exports=Yr}))),un={"{":"}","(":")","[":"]"},ln=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,dn=/\\(.)|(^!|[*?{}()[\]]|\(\?)/,_n=function(e,t){if("string"!=typeof e||""===e)return!1;if(function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}(e))return!0;var r,n=ln;for(t&&!1===t.strict&&(n=dn);r=n.exec(e);){if(r[2])return!0;var i=r.index+r[0].length,a=r[1],o=a?un[a]:null;if(a&&o){var s=e.indexOf(o,i);-1!==s&&(i=s+1)}e=e.slice(i)}return!1};const{MAX_LENGTH:pn}=W,{re:fn,t:gn}=H;var mn=(e,t)=>{if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ne)return e;if("string"!=typeof e)return null;if(e.length>pn)return null;if(!(t.loose?fn[gn.LOOSE]:fn[gn.FULL]).test(e))return null;try{return new ne(e,t)}catch(e){return null}};var yn=(e,t)=>{const r=mn(e,t);return r?r.version:null};var vn=(e,t)=>{const r=mn(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};var hn=(e,t,r,n)=>{"string"==typeof r&&(n=r,r=void 0);try{return new ne(e,r).inc(t,n).version}catch(e){return null}};var Dn=(e,t,r)=>0===ie(e,t,r);var xn=(e,t)=>{if(Dn(e,t))return null;{const r=mn(e),n=mn(t),i=r.prerelease.length||n.prerelease.length,a=i?"pre":"",o=i?"prerelease":"";for(const e in r)if(("major"===e||"minor"===e||"patch"===e)&&r[e]!==n[e])return a+e;return o}};var bn=(e,t)=>new ne(e,t).major;var Sn=(e,t)=>new ne(e,t).minor;var En=(e,t)=>new ne(e,t).patch;var Cn=(e,t)=>{const r=mn(e,t);return r&&r.prerelease.length?r.prerelease:null};var Tn=(e,t,r)=>ie(t,e,r);var kn=(e,t)=>ie(e,t,!0);var An=(e,t,r)=>{const n=new ne(e,r),i=new ne(t,r);return n.compare(i)||n.compareBuild(i)};var Fn=(e,t)=>e.sort(((e,r)=>An(e,r,t)));var Nn=(e,t)=>e.sort(((e,r)=>An(r,e,t)));var Pn=(e,t,r)=>ie(e,t,r)>0;var wn=(e,t,r)=>0!==ie(e,t,r);var In=(e,t,r)=>ie(e,t,r)<=0;var On=(e,t,r,n)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Dn(e,r,n);case"!=":return wn(e,r,n);case">":return Pn(e,r,n);case">=":return oe(e,r,n);case"<":return ae(e,r,n);case"<=":return In(e,r,n);default:throw new TypeError("Invalid operator: ".concat(t))}};const{re:Mn,t:Ln}=H;var Rn=(e,t)=>{if(e instanceof ne)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let r=null;if((t=t||{}).rtl){let t;for(;(t=Mn[Ln.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)r&&t.index+t[0].length===r.index+r[0].length||(r=t),Mn[Ln.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;Mn[Ln.COERCERTL].lastIndex=-1}else r=e.match(Mn[Ln.COERCE]);return null===r?null:mn("".concat(r[2],".").concat(r[3]||"0",".").concat(r[4]||"0"),t)};class Bn{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Bn)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new Bn(e.raw,t);if(e instanceof oi)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((e=>this.parseRange(e.trim()))).filter((e=>e.length)),!this.set.length)throw new TypeError("Invalid SemVer Range: ".concat(e));this.format()}format(){return this.range=this.set.map((e=>e.join(" ").trim())).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const r=t?Jn[Kn.HYPHENRANGELOOSE]:Jn[Kn.HYPHENRANGE];e=e.replace(r,ri(this.options.includePrerelease)),q("hyphen replace",e),e=e.replace(Jn[Kn.COMPARATORTRIM],zn),q("comparator trim",e,Jn[Kn.COMPARATORTRIM]),e=(e=(e=e.replace(Jn[Kn.TILDETRIM],Un)).replace(Jn[Kn.CARETTRIM],Vn)).split(/\s+/).join(" ");const n=t?Jn[Kn.COMPARATORLOOSE]:Jn[Kn.COMPARATOR];return e.split(" ").map((e=>Wn(e,this.options))).join(" ").split(/\s+/).map((e=>ti(e,this.options))).filter(this.options.loose?e=>!!e.match(n):()=>!0).map((e=>new oi(e,this.options)))}intersects(e,t){if(!(e instanceof Bn))throw new TypeError("a Range is required");return this.set.some((r=>qn(r,t)&&e.set.some((e=>qn(e,t)&&r.every((r=>e.every((e=>r.intersects(e,t)))))))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}for(let t=0;t{let r=!0;const n=e.slice();let i=n.pop();for(;r&&n.length;)r=n.every((e=>i.intersects(e,t))),i=n.pop();return r},Wn=(e,t)=>(q("comp",e,t),e=Xn(e,t),q("caret",e),e=Gn(e,t),q("tildes",e),e=$n(e,t),q("xrange",e),e=ei(e,t),q("stars",e),e),Hn=e=>!e||"x"===e.toLowerCase()||"*"===e,Gn=(e,t)=>e.trim().split(/\s+/).map((e=>Yn(e,t))).join(" "),Yn=(e,t)=>{const r=t.loose?Jn[Kn.TILDELOOSE]:Jn[Kn.TILDE];return e.replace(r,((t,r,n,i,a)=>{let o;return q("tilde",e,t,r,n,i,a),Hn(r)?o="":Hn(n)?o=">=".concat(r,".0.0 <").concat(+r+1,".0.0-0"):Hn(i)?o=">=".concat(r,".").concat(n,".0 <").concat(r,".").concat(+n+1,".0-0"):a?(q("replaceTilde pr",a),o=">=".concat(r,".").concat(n,".").concat(i,"-").concat(a," <").concat(r,".").concat(+n+1,".0-0")):o=">=".concat(r,".").concat(n,".").concat(i," <").concat(r,".").concat(+n+1,".0-0"),q("tilde return",o),o}))},Xn=(e,t)=>e.trim().split(/\s+/).map((e=>Qn(e,t))).join(" "),Qn=(e,t)=>{q("caret",e,t);const r=t.loose?Jn[Kn.CARETLOOSE]:Jn[Kn.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,((t,r,i,a,o)=>{let s;return q("caret",e,t,r,i,a,o),Hn(r)?s="":Hn(i)?s=">=".concat(r,".0.0").concat(n," <").concat(+r+1,".0.0-0"):Hn(a)?s="0"===r?">=".concat(r,".").concat(i,".0").concat(n," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".0").concat(n," <").concat(+r+1,".0.0-0"):o?(q("replaceCaret pr",o),s="0"===r?"0"===i?">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(r,".").concat(i,".").concat(+a+1,"-0"):">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".").concat(a,"-").concat(o," <").concat(+r+1,".0.0-0")):(q("no pr"),s="0"===r?"0"===i?">=".concat(r,".").concat(i,".").concat(a).concat(n," <").concat(r,".").concat(i,".").concat(+a+1,"-0"):">=".concat(r,".").concat(i,".").concat(a).concat(n," <").concat(r,".").concat(+i+1,".0-0"):">=".concat(r,".").concat(i,".").concat(a," <").concat(+r+1,".0.0-0")),q("caret return",s),s}))},$n=(e,t)=>(q("replaceXRanges",e,t),e.split(/\s+/).map((e=>Zn(e,t))).join(" ")),Zn=(e,t)=>{e=e.trim();const r=t.loose?Jn[Kn.XRANGELOOSE]:Jn[Kn.XRANGE];return e.replace(r,((r,n,i,a,o,s)=>{q("xRange",e,r,n,i,a,o,s);const c=Hn(i),u=c||Hn(a),l=u||Hn(o),d=l;return"="===n&&d&&(n=""),s=t.includePrerelease?"-0":"",c?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(u&&(a=0),o=0,">"===n?(n=">=",u?(i=+i+1,a=0,o=0):(a=+a+1,o=0)):"<="===n&&(n="<",u?i=+i+1:a=+a+1),"<"===n&&(s="-0"),r="".concat(n+i,".").concat(a,".").concat(o).concat(s)):u?r=">=".concat(i,".0.0").concat(s," <").concat(+i+1,".0.0-0"):l&&(r=">=".concat(i,".").concat(a,".0").concat(s," <").concat(i,".").concat(+a+1,".0-0")),q("xRange return",r),r}))},ei=(e,t)=>(q("replaceStars",e,t),e.trim().replace(Jn[Kn.STAR],"")),ti=(e,t)=>(q("replaceGTE0",e,t),e.trim().replace(Jn[t.includePrerelease?Kn.GTE0PRE:Kn.GTE0],"")),ri=e=>(t,r,n,i,a,o,s,c,u,l,d,_,p)=>(r=Hn(n)?"":Hn(i)?">=".concat(n,".0.0").concat(e?"-0":""):Hn(a)?">=".concat(n,".").concat(i,".0").concat(e?"-0":""):o?">=".concat(r):">=".concat(r).concat(e?"-0":""),c=Hn(u)?"":Hn(l)?"<".concat(+u+1,".0.0-0"):Hn(d)?"<".concat(u,".").concat(+l+1,".0-0"):_?"<=".concat(u,".").concat(l,".").concat(d,"-").concat(_):e?"<".concat(u,".").concat(l,".").concat(+d+1,"-0"):"<=".concat(c),"".concat(r," ").concat(c).trim()),ni=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0},ii=Symbol("SemVer ANY");class ai{static get ANY(){return ii}constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ai){if(e.loose===!!t.loose)return e;e=e.value}q("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ii?this.value="":this.value=this.operator+this.semver.version,q("comp",this)}parse(e){const t=this.options.loose?si[ci.COMPARATORLOOSE]:si[ci.COMPARATOR],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: ".concat(e));this.operator=void 0!==r[1]?r[1]:"","="===this.operator&&(this.operator=""),r[2]?this.semver=new ne(r[2],this.options.loose):this.semver=ii}toString(){return this.value}test(e){if(q("Comparator.test",e,this.options.loose),this.semver===ii||e===ii)return!0;if("string"==typeof e)try{e=new ne(e,this.options)}catch(e){return!1}return On(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof ai))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new jn(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new jn(this.value,t).test(e.semver);const r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=On(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),s=On(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||n||i&&a||o||s}}var oi=ai;const{re:si,t:ci}=H;var ui=(e,t,r)=>{try{t=new jn(t,r)}catch(e){return!1}return t.test(e)};var li=(e,t)=>new jn(e,t).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")));var di=(e,t,r)=>{let n=null,i=null,a=null;try{a=new jn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&-1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var _i=(e,t,r)=>{let n=null,i=null,a=null;try{a=new jn(t,r)}catch(e){return null}return e.forEach((e=>{a.test(e)&&(n&&1!==i.compare(e)||(n=e,i=new ne(n,r)))})),n};var pi=(e,t)=>{e=new jn(e,t);let r=new ne("0.0.0");if(e.test(r))return r;if(r=new ne("0.0.0-0"),e.test(r))return r;r=null;for(let t=0;t{const t=new ne(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!Pn(r,t)||(r=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: ".concat(e.operator))}}))}return r&&e.test(r)?r:null};var fi=(e,t)=>{try{return new jn(e,t).range||"*"}catch(e){return null}};const{ANY:gi}=oi;var mi=(e,t,r,n)=>{let i,a,o,s,c;switch(e=new ne(e,n),t=new jn(t,n),r){case">":i=Pn,a=In,o=ae,s=">",c=">=";break;case"<":i=ae,a=oe,o=Pn,s="<",c="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ui(e,t,n))return!1;for(let r=0;r{e.semver===gi&&(e=new oi(">=0.0.0")),l=l||e,d=d||e,i(e.semver,l.semver,n)?l=e:o(e.semver,d.semver,n)&&(d=e)})),l.operator===s||l.operator===c)return!1;if((!d.operator||d.operator===s)&&a(e,d.semver))return!1;if(d.operator===c&&o(e,d.semver))return!1}return!0};var yi=(e,t,r)=>mi(e,t,">",r);var vi=(e,t,r)=>mi(e,t,"<",r);var hi=(e,t,r)=>(e=new jn(e,r),t=new jn(t,r),e.intersects(t));const{ANY:Di}=oi,xi=(e,t,r)=>{if(1===e.length&&e[0].semver===Di)return 1===t.length&&t[0].semver===Di;const n=new Set;let i,a,o,s,c,u,l;for(const t of e)">"===t.operator||">="===t.operator?i=bi(i,t,r):"<"===t.operator||"<="===t.operator?a=Si(a,t,r):n.add(t.semver);if(n.size>1)return null;if(i&&a){if(o=ie(i.semver,a.semver,r),o>0)return null;if(0===o&&(">="!==i.operator||"<="!==a.operator))return null}for(const e of n){if(i&&!ui(e,String(i),r))return null;if(a&&!ui(e,String(a),r))return null;for(const n of t)if(!ui(e,String(n),r))return!1;return!0}for(const e of t){if(l=l||">"===e.operator||">="===e.operator,u=u||"<"===e.operator||"<="===e.operator,i)if(">"===e.operator||">="===e.operator){if(s=bi(i,e,r),s===e)return!1}else if(">="===i.operator&&!ui(i.semver,String(e),r))return!1;if(a)if("<"===e.operator||"<="===e.operator){if(c=Si(a,e,r),c===e)return!1}else if("<="===a.operator&&!ui(a.semver,String(e),r))return!1;if(!e.operator&&(a||i)&&0!==o)return!1}return!(i&&u&&!a&&0!==o)&&!(a&&l&&!i&&0!==o)},bi=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},Si=(e,t,r)=>{if(!e)return t;const n=ie(e.semver,t.semver,r);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};var Ei=(e,t,r)=>{e=new jn(e,r),t=new jn(t,r);let n=!1;e:for(const i of e.set){for(const e of t.set){const t=xi(i,e,r);if(n=n||null!==t,t)continue e}if(n)return!1}return!0},Ci={re:H.re,src:H.src,tokens:H.t,SEMVER_SPEC_VERSION:W.SEMVER_SPEC_VERSION,SemVer:ne,compareIdentifiers:X.compareIdentifiers,rcompareIdentifiers:X.rcompareIdentifiers,parse:mn,valid:yn,clean:vn,inc:hn,diff:xn,major:bn,minor:Sn,patch:En,prerelease:Cn,compare:ie,rcompare:Tn,compareLoose:kn,compareBuild:An,sort:Fn,rsort:Nn,gt:Pn,lt:ae,eq:Dn,neq:wn,gte:oe,lte:In,cmp:On,coerce:Rn,Comparator:oi,Range:jn,satisfies:ui,toComparators:li,maxSatisfying:di,minSatisfying:_i,minVersion:pi,validRange:fi,outside:mi,gtr:yi,ltr:vi,intersects:hi,simplifyRange:(e,t,r)=>{const n=[];let i=null,a=null;const o=e.sort(((e,t)=>ie(e,t,r)));for(const e of o){ui(e,t,r)?(a=e,i||(i=e)):(a&&n.push([i,a]),a=null,i=null)}i&&n.push([i,null]);const s=[];for(const[e,t]of n)e===t?s.push(e):t||e!==o[0]?t?e===o[0]?s.push("<=".concat(t)):s.push("".concat(e," - ").concat(t)):s.push(">=".concat(e)):s.push("*");const c=s.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return c.length!1,Ai=()=>"";var Fi={existsSync:ki,readFileSync:Ai},Ni=Object.freeze({__proto__:null,existsSync:ki,readFileSync:Ai,default:Fi});function Pi(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function wi(e,t){for(var r,n="",i=0,a=-1,o=0,s=0;s<=e.length;++s){if(s2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",i=0):i=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=s,o=0;continue}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}var Ii={resolve:function(){for(var e,t="",r=!1,n=arguments.length-1;n>=-1&&!r;n--){var i;n>=0?i=arguments[n]:(void 0===e&&(e=V.cwd()),i=e),Pi(i),0!==i.length&&(t=i+"/"+t,r=47===i.charCodeAt(0))}return t=wi(t,!r),r?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(Pi(e),0===e.length)return".";var t=47===e.charCodeAt(0),r=47===e.charCodeAt(e.length-1);return 0!==(e=wi(e,!t)).length||t||(e="."),e.length>0&&r&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return Pi(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":Ii.normalize(e)},relative:function(e,t){if(Pi(e),Pi(t),e===t)return"";if((e=Ii.resolve(e))===(t=Ii.resolve(t)))return"";for(var r=1;rs){if(47===t.charCodeAt(a+u))return t.slice(a+u+1);if(0===u)return t.slice(a+u)}else i>s&&(47===e.charCodeAt(r+u)?c=u:0===u&&(c=0));break}var l=e.charCodeAt(r+u);if(l!==t.charCodeAt(a+u))break;47===l&&(c=u)}var d="";for(u=r+c+1;u<=n;++u)u!==n&&47!==e.charCodeAt(u)||(0===d.length?d+="..":d+="/..");return d.length>0?d+t.slice(a+c):(a+=c,47===t.charCodeAt(a)&&++a,t.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(Pi(e),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,n=-1,i=!0,a=e.length-1;a>=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){n=a;break}}else i=!1;return-1===n?r?"/":".":r&&1===n?"//":e.slice(0,n)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');Pi(e);var r,n=0,i=-1,a=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var o=t.length-1,s=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!a){n=r+1;break}}else-1===s&&(a=!1,s=r+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(i=r):(o=-1,i=s))}return n===i?i=s:-1===i&&(i=e.length),e.slice(n,i)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!a){n=r+1;break}}else-1===i&&(a=!1,i=r+1);return-1===i?"":e.slice(n,i)},extname:function(e){Pi(e);for(var t=-1,r=0,n=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===n&&(i=!1,n=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){r=o+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){Pi(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var r,n=e.charCodeAt(0),i=47===n;i?(t.root="/",r=1):r=0;for(var a=-1,o=0,s=-1,c=!0,u=e.length-1,l=0;u>=r;--u)if(47!==(n=e.charCodeAt(u)))-1===s&&(c=!1,s=u+1),46===n?-1===a?a=u:1!==l&&(l=1):-1!==a&&(l=-1);else if(!c){o=u+1;break}return-1===a||-1===s||0===l||1===l&&a===s-1&&a===o+1?-1!==s&&(t.base=t.name=0===o&&i?e.slice(1,s):e.slice(o,s)):(0===o&&i?(t.name=e.slice(1,a),t.base=e.slice(1,s)):(t.name=e.slice(o,a),t.base=e.slice(o,s)),t.ext=e.slice(a,s)),o>0?t.dir=e.slice(0,o-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};Ii.posix=Ii;var Oi=Ii,Mi=Object.freeze(Object.assign(Object.create(null),Oi,{default:Oi,__moduleExports:Oi})),Li="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Ri=function(e){if(0<=e&&e>>=5)>0&&(t|=32),r+=Ri(t)}while(n>0);return r},Ji=function(e,t,r){var n,i,a,o,s=e.length,c=0,u=0;do{if(t>=s)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=Bi(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));n=!!(32&i),c+=(i&=31)<>1,1==(1&a)?-o:o),r.rest=t},Ki=r((function(e,t){t.getArg=function(e,t,r){if(t in e)return e[t];if(3===arguments.length)return r;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,n=/^data:.+\,.+$/;function i(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function a(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var r=e,n=i(e);if(n){if(!n.path)return e;r=n.path}for(var o,s=t.isAbsolute(r),c=r.split(/\/+/),u=0,l=c.length-1;l>=0;l--)"."===(o=c[l])?c.splice(l,1):".."===o?u++:u>0&&(""===o?(c.splice(l+1,u),u=0):(c.splice(l,2),u--));return""===(r=c.join("/"))&&(r=s?"/":"."),n?(n.path=r,a(n)):r}function s(e,t){""===e&&(e="."),""===t&&(t=".");var r=i(t),s=i(e);if(s&&(e=s.path||"/"),r&&!r.scheme)return s&&(r.scheme=s.scheme),a(r);if(r||t.match(n))return t;if(s&&!s.host&&!s.path)return s.host=t,a(s);var c="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return s?(s.path=c,a(s)):c}t.urlParse=i,t.urlGenerate=a,t.normalize=o,t.join=s,t.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==t.indexOf(e+"/");){var n=e.lastIndexOf("/");if(n<0)return t;if((e=e.slice(0,n)).match(/^([^\/]+:\/)?\/*$/))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)};var c=!("__proto__"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var r=t-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=c?u:function(e){return l(e)?"$"+e:e},t.fromSetString=c?u:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,r){var n=d(e.source,t.source);return 0!==n||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)||r||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=e.generatedLine-t.generatedLine)?n:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,r){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||r||0!==(n=d(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=d(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,r){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),r){var n=i(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var c=n.path.lastIndexOf("/");c>=0&&(n.path=n.path.substring(0,c+1))}t=s(a(n),t)}return o(t)}})),zi=Object.prototype.hasOwnProperty,Ui="undefined"!=typeof Map;function Vi(){this._array=[],this._set=Ui?new Map:Object.create(null)}Vi.fromArray=function(e,t){for(var r=new Vi,n=0,i=e.length;n=0)return t}else{var r=Ki.toSetString(e);if(zi.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},Vi.prototype.at=function(e){if(e>=0&&en||i==n&&o>=a||Ki.compareByGeneratedPositionsInflated(t,r)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},Wi.prototype.toArray=function(){return this._sorted||(this._array.sort(Ki.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};var Hi=qi.ArraySet,Gi={MappingList:Wi}.MappingList;function Yi(e){e||(e={}),this._file=Ki.getArg(e,"file",null),this._sourceRoot=Ki.getArg(e,"sourceRoot",null),this._skipValidation=Ki.getArg(e,"skipValidation",!1),this._sources=new Hi,this._names=new Hi,this._mappings=new Gi,this._sourcesContents=null}Yi.prototype._version=3,Yi.fromSourceMap=function(e){var t=e.sourceRoot,r=new Yi({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var n={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(n.source=e.source,null!=t&&(n.source=Ki.relative(t,n.source)),n.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(n.name=e.name)),r.addMapping(n)})),e.sources.forEach((function(n){var i=n;null!==t&&(i=Ki.relative(t,n)),r._sources.has(i)||r._sources.add(i);var a=e.sourceContentFor(n);null!=a&&r.setSourceContent(n,a)})),r},Yi.prototype.addMapping=function(e){var t=Ki.getArg(e,"generated"),r=Ki.getArg(e,"original",null),n=Ki.getArg(e,"source",null),i=Ki.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,r,n,i),null!=n&&(n=String(n),this._sources.has(n)||this._sources.add(n)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=r&&r.line,originalColumn:null!=r&&r.column,source:n,name:i})},Yi.prototype.setSourceContent=function(e,t){var r=e;null!=this._sourceRoot&&(r=Ki.relative(this._sourceRoot,r)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Ki.toSetString(r)]=t):this._sourcesContents&&(delete this._sourcesContents[Ki.toSetString(r)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},Yi.prototype.applySourceMap=function(e,t,r){var n=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');n=e.file}var i=this._sourceRoot;null!=i&&(n=Ki.relative(i,n));var a=new Hi,o=new Hi;this._mappings.unsortedForEach((function(t){if(t.source===n&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=r&&(t.source=Ki.join(r,t.source)),null!=i&&(t.source=Ki.relative(i,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||o.has(u)||o.add(u)}),this),this._sources=a,this._names=o,e.sources.forEach((function(t){var n=e.sourceContentFor(t);null!=n&&(null!=r&&(t=Ki.join(r,t)),null!=i&&(t=Ki.relative(i,t)),this.setSourceContent(t,n))}),this)},Yi.prototype._validateMapping=function(e,t,r,n){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||r||n)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&r))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:r,original:t,name:n}))},Yi.prototype._serializeMappings=function(){for(var e,t,r,n,i=0,a=1,o=0,s=0,c=0,u=0,l="",d=this._mappings.toArray(),_=0,p=d.length;_0){if(!Ki.compareByGeneratedPositionsInflated(t,d[_-1]))continue;e+=","}e+=ji(t.generatedColumn-i),i=t.generatedColumn,null!=t.source&&(n=this._sources.indexOf(t.source),e+=ji(n-u),u=n,e+=ji(t.originalLine-1-s),s=t.originalLine-1,e+=ji(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(r=this._names.indexOf(t.name),e+=ji(r-c),c=r)),l+=e}return l},Yi.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=Ki.relative(t,e));var r=Ki.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null}),this)},Yi.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},Yi.prototype.toString=function(){return JSON.stringify(this.toJSON())};var Xi={SourceMapGenerator:Yi},Qi=r((function(e,t){function r(e,n,i,a,o,s){var c=Math.floor((n-e)/2)+e,u=o(i,a[c],!0);return 0===u?c:u>0?n-c>1?r(c,n,i,a,o,s):s==t.LEAST_UPPER_BOUND?n1?r(e,c,i,a,o,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,n,i,a){if(0===n.length)return-1;var o=r(-1,n.length,e,n,i,a||t.GREATEST_LOWER_BOUND);if(o<0)return-1;for(;o-1>=0&&0===i(n[o],n[o-1],!0);)--o;return o}}));function $i(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Zi(e,t,r,n){if(r=0){var a=this._originalMappings[i];if(void 0===e.column)for(var o=a.originalLine;a&&a.originalLine===o;)n.push({line:Ki.getArg(a,"generatedLine",null),column:Ki.getArg(a,"generatedColumn",null),lastColumn:Ki.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i];else for(var s=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==s;)n.push({line:Ki.getArg(a,"generatedLine",null),column:Ki.getArg(a,"generatedColumn",null),lastColumn:Ki.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++i]}return n};var na=ra;function ia(e,t){var r=e;"string"==typeof e&&(r=Ki.parseSourceMapInput(e));var n=Ki.getArg(r,"version"),i=Ki.getArg(r,"sources"),a=Ki.getArg(r,"names",[]),o=Ki.getArg(r,"sourceRoot",null),s=Ki.getArg(r,"sourcesContent",null),c=Ki.getArg(r,"mappings"),u=Ki.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);o&&(o=Ki.normalize(o)),i=i.map(String).map(Ki.normalize).map((function(e){return o&&Ki.isAbsolute(o)&&Ki.isAbsolute(e)?Ki.relative(o,e):e})),this._names=ea.fromArray(a.map(String),!0),this._sources=ea.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map((function(e){return Ki.computeSourceURL(o,e,t)})),this.sourceRoot=o,this.sourcesContent=s,this._mappings=c,this._sourceMapURL=t,this.file=u}function aa(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}ia.prototype=Object.create(ra.prototype),ia.prototype.consumer=ra,ia.prototype._findSourceIndex=function(e){var t,r=e;if(null!=this.sourceRoot&&(r=Ki.relative(this.sourceRoot,r)),this._sources.has(r))return this._sources.indexOf(r);for(t=0;t1&&(r.source=d+i[1],d+=i[1],r.originalLine=u+i[2],u=r.originalLine,r.originalLine+=1,r.originalColumn=l+i[3],l=r.originalColumn,i.length>4&&(r.name=_+i[4],_+=i[4])),v.push(r),"number"==typeof r.originalLine&&y.push(r)}ta(v,Ki.compareByGeneratedPositionsDeflated),this.__generatedMappings=v,ta(y,Ki.compareByOriginalPositions),this.__originalMappings=y},ia.prototype._findMapping=function(e,t,r,n,i,a){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[n]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[n]);return Qi.search(e,t,i,a)},ia.prototype.computeColumnSpans=function(){for(var e=0;e=0){var n=this._generatedMappings[r];if(n.generatedLine===t.generatedLine){var i=Ki.getArg(n,"source",null);null!==i&&(i=this._sources.at(i),i=Ki.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var a=Ki.getArg(n,"name",null);return null!==a&&(a=this._names.at(a)),{source:i,line:Ki.getArg(n,"originalLine",null),column:Ki.getArg(n,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},ia.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e})))},ia.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var n,i=e;if(null!=this.sourceRoot&&(i=Ki.relative(this.sourceRoot,i)),null!=this.sourceRoot&&(n=Ki.urlParse(this.sourceRoot))){var a=i.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(a))return this.sourcesContent[this._sources.indexOf(a)];if((!n.path||"/"==n.path)&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(t)return null;throw new Error('"'+i+'" is not in the SourceMap.')},ia.prototype.generatedPositionFor=function(e){var t=Ki.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var r={source:t,originalLine:Ki.getArg(e,"line"),originalColumn:Ki.getArg(e,"column")},n=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",Ki.compareByOriginalPositions,Ki.getArg(e,"bias",ra.GREATEST_LOWER_BOUND));if(n>=0){var i=this._originalMappings[n];if(i.source===r.source)return{line:Ki.getArg(i,"generatedLine",null),column:Ki.getArg(i,"generatedColumn",null),lastColumn:Ki.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};var oa=ia;function sa(e,t){var r=e;"string"==typeof e&&(r=Ki.parseSourceMapInput(e));var n=Ki.getArg(r,"version"),i=Ki.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new ea,this._names=new ea;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=Ki.getArg(e,"offset"),n=Ki.getArg(r,"line"),i=Ki.getArg(r,"column");if(n=0;t--)this.prepend(e[t]);else{if(!e[da]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},_a.prototype.walk=function(e){for(var t,r=0,n=this.children.length;r0){for(t=[],r=0;r>18&63]+fa[i>>12&63]+fa[i>>6&63]+fa[63&i]);return a.join("")}function Da(e){var t;ya||va();for(var r=e.length,n=r%3,i="",a=[],o=16383,s=0,c=r-n;sc?c:s+o));return 1===n?(t=e[r-1],i+=fa[t>>2],i+=fa[t<<4&63],i+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],i+=fa[t>>10],i+=fa[t>>4&63],i+=fa[t<<2&63],i+="="),a.push(i),a.join("")}function xa(e,t,r,n,i){var a,o,s=8*i-n-1,c=(1<>1,l=-7,d=r?i-1:0,_=r?-1:1,p=e[t+d];for(d+=_,a=p&(1<<-l)-1,p>>=-l,l+=s;l>0;a=256*a+e[t+d],d+=_,l-=8);for(o=a&(1<<-l)-1,a>>=-l,l+=n;l>0;o=256*o+e[t+d],d+=_,l-=8);if(0===a)a=1-u;else{if(a===c)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)}function ba(e,t,r,n,i,a){var o,s,c,u=8*a-i-1,l=(1<>1,_=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,f=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=l):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),(t+=o+d>=1?_/c:_*Math.pow(2,1-d))*c>=2&&(o++,c/=2),o+d>=l?(s=0,o=l):o+d>=1?(s=(t*c-1)*Math.pow(2,i),o+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=f,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=f,o/=256,u-=8);e[r+p-f]|=128*g}var Sa={}.toString,Ea=Array.isArray||function(e){return"[object Array]"==Sa.call(e)};function Ca(){return ka.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Ta(e,t){if(Ca()=Ca())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Ca().toString(16)+" bytes");return 0|e}function Ia(e){return!(null==e||!e._isBuffer)}function Oa(e,t){if(Ia(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return oo(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return so(e).length;default:if(n)return oo(e).length;t=(""+t).toLowerCase(),n=!0}}function Ma(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ya(this,t,r);case"utf8":case"utf-8":return Wa(this,t,r);case"ascii":return Ha(this,t,r);case"latin1":case"binary":return Ga(this,t,r);case"base64":return qa(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Xa(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function La(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Ra(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=ka.from(t,n)),Ia(t))return 0===t.length?-1:Ba(e,t,r,n,i);if("number"==typeof t)return t&=255,ka.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):Ba(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ba(e,t,r,n,i){var a,o=1,s=e.length,c=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=r;as&&(r=s-c),a=r;a>=0;a--){for(var d=!0,_=0;_i&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function qa(e,t,r){return 0===t&&r===e.length?Da(e):Da(e.slice(t,r))}function Wa(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:u>223?3:u>191?2:1;if(i+d<=r)switch(d){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,d=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},ka.prototype.compare=function(e,t,r,n,i){if(!Ia(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=e.slice(t,r),l=0;li)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return ja(this,e,t,r);case"utf8":case"utf-8":return Ja(this,e,t,r);case"ascii":return Ka(this,e,t,r);case"latin1":case"binary":return za(this,e,t,r);case"base64":return Ua(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Va(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},ka.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Ha(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function $a(e,t,r,n,i,a){if(!Ia(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function Za(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function eo(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function to(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ro(e,t,r,n,i){return i||to(e,0,r,4),ba(e,t,r,n,23,4),r+4}function no(e,t,r,n,i){return i||to(e,0,r,8),ba(e,t,r,n,52,8),r+8}ka.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(i*=256);)n+=this[e+--t]*i;return n},ka.prototype.readUInt8=function(e,t){return t||Qa(e,1,this.length),this[e]},ka.prototype.readUInt16LE=function(e,t){return t||Qa(e,2,this.length),this[e]|this[e+1]<<8},ka.prototype.readUInt16BE=function(e,t){return t||Qa(e,2,this.length),this[e]<<8|this[e+1]},ka.prototype.readUInt32LE=function(e,t){return t||Qa(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},ka.prototype.readUInt32BE=function(e,t){return t||Qa(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},ka.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||Qa(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},ka.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||Qa(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},ka.prototype.readInt8=function(e,t){return t||Qa(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},ka.prototype.readInt16LE=function(e,t){t||Qa(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},ka.prototype.readInt16BE=function(e,t){t||Qa(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},ka.prototype.readInt32LE=function(e,t){return t||Qa(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},ka.prototype.readInt32BE=function(e,t){return t||Qa(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},ka.prototype.readFloatLE=function(e,t){return t||Qa(e,4,this.length),xa(this,e,!0,23,4)},ka.prototype.readFloatBE=function(e,t){return t||Qa(e,4,this.length),xa(this,e,!1,23,4)},ka.prototype.readDoubleLE=function(e,t){return t||Qa(e,8,this.length),xa(this,e,!0,52,8)},ka.prototype.readDoubleBE=function(e,t){return t||Qa(e,8,this.length),xa(this,e,!1,52,8)},ka.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||$a(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+r},ka.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,1,255,0),ka.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},ka.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,2,65535,0),ka.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Za(this,e,t,!0),t+2},ka.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,2,65535,0),ka.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Za(this,e,t,!1),t+2},ka.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,4,4294967295,0),ka.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):eo(this,e,t,!0),t+4},ka.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,4,4294967295,0),ka.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):eo(this,e,t,!1),t+4},ka.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$a(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},ka.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*r-1);$a(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},ka.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,1,127,-128),ka.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},ka.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,2,32767,-32768),ka.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Za(this,e,t,!0),t+2},ka.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,2,32767,-32768),ka.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Za(this,e,t,!1),t+2},ka.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,4,2147483647,-2147483648),ka.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):eo(this,e,t,!0),t+4},ka.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||$a(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),ka.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):eo(this,e,t,!1),t+4},ka.prototype.writeFloatLE=function(e,t,r){return ro(this,e,t,!0,r)},ka.prototype.writeFloatBE=function(e,t,r){return ro(this,e,t,!1,r)},ka.prototype.writeDoubleLE=function(e,t,r){return no(this,e,t,!0,r)},ka.prototype.writeDoubleBE=function(e,t,r){return no(this,e,t,!1,r)},ka.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(a<1e3||!ka.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function so(e){return function(e){var t,r,n,i,a,o;ya||va();var s=e.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[s-2]?2:"="===e[s-1]?1:0,o=new ma(3*s/4-a),n=a>0?s-4:s;var c=0;for(t=0,r=0;t>16&255,o[c++]=i>>8&255,o[c++]=255&i;return 2===a?(i=ga[e.charCodeAt(t)]<<2|ga[e.charCodeAt(t+1)]>>4,o[c++]=255&i):1===a&&(i=ga[e.charCodeAt(t)]<<10|ga[e.charCodeAt(t+1)]<<4|ga[e.charCodeAt(t+2)]>>2,o[c++]=i>>8&255,o[c++]=255&i),o}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(io,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function co(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function uo(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var lo=Object.prototype.toString,_o="function"==typeof ka.alloc&&"function"==typeof ka.allocUnsafe&&"function"==typeof ka.from;var po=function(e,t,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return n=e,"ArrayBuffer"===lo.call(n).slice(8,-1)?function(e,t,r){t>>>=0;var n=e.byteLength-t;if(n<0)throw new RangeError("'offset' is out of bounds");if(void 0===r)r=n;else if((r>>>=0)>n)throw new RangeError("'length' is out of bounds");return _o?ka.from(e.slice(t,t+r)):new ka(new Uint8Array(e.slice(t,t+r)))}(e,t,r):"string"==typeof e?function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!ka.isEncoding(t))throw new TypeError('"encoding" must be a valid string encoding');return _o?ka.from(e,t):new ka(e,t)}(e,t):_o?ka.from(e):new ka(e);var n},fo=n(Mi),go=n(Ni),mo=(r((function(e,t){var r,n=pa.SourceMapConsumer,i=fo;try{(r=go).existsSync&&r.readFileSync||(r=null)}catch(e){}function a(e,t){return e.require(t)}var o=!1,s=!1,c=!1,u="auto",l={},d={},_=/^data:application\/json[^,]+base64,/,p=[],f=[];function g(){return"browser"===u||"node"!==u&&("undefined"!=typeof window&&"function"==typeof XMLHttpRequest&&!(window.require&&window.module&&window.process&&"renderer"===window.process.type))}function m(e){return function(t){for(var r=0;r";var r=this.getLineNumber();if(null!=r){t+=":"+r;var n=this.getColumnNumber();n&&(t+=":"+n)}}var i="",a=this.getFunctionName(),o=!0,s=this.isConstructor();if(!(this.isToplevel()||s)){var c=this.getTypeName();"[object Object]"===c&&(c="null");var u=this.getMethodName();a?(c&&0!=a.indexOf(c)&&(i+=c+"."),i+=a,u&&a.indexOf("."+u)!=a.length-u.length-1&&(i+=" [as "+u+"]")):i+=c+"."+(u||"")}else s?i+="new "+(a||""):a?i+=a:(i+=t,o=!1);return o&&(i+=" ("+t+")"),i}function S(e){var t={};return Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((function(r){t[r]=/^(?:is|get)/.test(r)?function(){return e[r].call(e)}:e[r]})),t.toString=b,t}function E(e,t){if(void 0===t&&(t={nextPosition:null,curPosition:null}),e.isNative())return t.curPosition=null,e;var r=e.getFileName()||e.getScriptNameOrSourceURL();if(r){var n=e.getLineNumber(),i=e.getColumnNumber()-1,a=/^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/.test(V.version)?0:62;1===n&&i>a&&!g()&&!e.isEval()&&(i-=a);var o=D({source:r,line:n,column:i});t.curPosition=o;var s=(e=S(e)).getFunctionName;return e.getFunctionName=function(){return null==t.nextPosition?s():t.nextPosition.name||s()},e.getFileName=function(){return o.source},e.getLineNumber=function(){return o.line},e.getColumnNumber=function(){return o.column+1},e.getScriptNameOrSourceURL=function(){return o.source},e}var c=e.isEval()&&e.getEvalOrigin();return c?(c=x(c),(e=S(e)).getEvalOrigin=function(){return c},e):e}function C(e,t){c&&(l={},d={});for(var r=(e.name||"Error")+": "+(e.message||""),n={nextPosition:null,curPosition:null},i=[],a=t.length-1;a>=0;a--)i.push("\n at "+E(t[a],n)),n.nextPosition=n.curPosition;return n.curPosition=n.nextPosition=null,r+i.reverse().join("")}function T(e){var t=/\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(e.stack);if(t){var n=t[1],i=+t[2],a=+t[3],o=l[n];if(!o&&r&&r.existsSync(n))try{o=r.readFileSync(n,"utf8")}catch(e){o=""}if(o){var s=o.split(/(?:\r\n|\r|\n)/)[i-1];if(s)return n+":"+i+"\n"+s+"\n"+new Array(a).join(" ")+"^"}}return null}function k(e){var t=T(e);V.stderr._handle&&V.stderr._handle.setBlocking&&V.stderr._handle.setBlocking(!0),t&&(console.error(),console.error(t)),console.error(e.stack),V.exit(1)}f.push((function(e){var t,r=function(e){var t;if(g())try{var r=new XMLHttpRequest;r.open("GET",e,!1),r.send(null),t=4===r.readyState?r.responseText:null;var n=r.getResponseHeader("SourceMap")||r.getResponseHeader("X-SourceMap");if(n)return n}catch(e){}t=y(e);for(var i,a,o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;a=o.exec(t);)i=a;return i?i[1]:null}(e);if(!r)return null;if(_.test(r)){var n=r.slice(r.indexOf(",")+1);t=po(n,"base64").toString(),r=e}else r=v(e,r),t=y(r);return t?{url:r,map:t}:null}));var A=p.slice(0),F=f.slice(0);t.wrapCallSite=E,t.getErrorSource=T,t.mapSourcePosition=D,t.retrieveSourceMap=h,t.install=function(t){if((t=t||{}).environment&&(u=t.environment,-1===["node","browser","auto"].indexOf(u)))throw new Error("environment "+u+" was unknown. Available options are {auto, browser, node}");if(t.retrieveFile&&(t.overrideRetrieveFile&&(p.length=0),p.unshift(t.retrieveFile)),t.retrieveSourceMap&&(t.overrideRetrieveSourceMap&&(f.length=0),f.unshift(t.retrieveSourceMap)),t.hookRequire&&!g()){var r=a(e,"module"),n=r.prototype._compile;n.__sourceMapSupport||(r.prototype._compile=function(e,t){return l[t]=e,d[t]=void 0,n.call(this,e,t)},r.prototype._compile.__sourceMapSupport=!0)}if(c||(c="emptyCacheBetweenOperations"in t&&t.emptyCacheBetweenOperations),o||(o=!0,Error.prepareStackTrace=C),!s){var i=!("handleUncaughtExceptions"in t)||t.handleUncaughtExceptions;try{!1===a(e,"worker_threads").isMainThread&&(i=!1)}catch(e){}i&&"object"==typeof V&&null!==V&&"function"==typeof V.on&&(s=!0,_=V.emit,V.emit=function(e){if("uncaughtException"===e){var t=arguments[1]&&arguments[1].stack,r=this.listeners(e).length>0;if(t&&!r)return k(arguments[1])}return _.apply(this,arguments)})}var _},t.resetRetrieveHandlers=function(){p.length=0,f.length=0,p=A.slice(0),f=F.slice(0),h=m(f),y=m(p)}})),n(Ti)),yo=r((function(e){var r=t&&t.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0;for(var r=0,n=e;r>1);switch(n(r(e[c],c),t)){case-1:o=c+1;break;case 0:return c;case 1:s=c-1}}return~o}function v(e,t,r,n,i){if(e&&e.length>0){var a=e.length;if(a>0){var o=void 0===n||n<0?0:n,s=void 0===i||o+i>a-1?a-1:o+i,c=void 0;for(arguments.length<=2?(c=e[o],o++):c=r;o<=s;)c=t(c,e[o],o),o++;return c}}return r}e.Map=t("Map","tryGetNativeMap","createMapShim"),e.Set=t("Set","tryGetNativeSet","createSetShim"),e.getIterator=n,e.emptyArray=[],e.emptyMap=new e.Map,e.emptySet=new e.Set,e.createMap=function(){return new e.Map},e.createMapFromTemplate=function(t){var r=new e.Map;for(var n in t)h.call(t,n)&&r.set(n,t[n]);return r},e.length=function(e){return e?e.length:0},e.forEach=function(e,t){if(e)for(var r=0;r=0;r--){var n=t(e[r],r);if(n)return n}},e.firstDefined=function(e,t){if(void 0!==e)for(var r=0;r=0;r--){var n=e[r];if(t(n,r))return n}},e.findIndex=function(e,t,r){for(var n=r||0;n=0;n--)if(t(e[n],n))return n;return-1},e.findMap=function(t,r){for(var n=0;n0&&e.Debug.assertGreaterThanOrEqual(n(r[o],r[o-1]),0);t:for(var s=a;as&&e.Debug.assertGreaterThanOrEqual(n(t[a],t[a-1]),0),n(r[o],t[a])){case-1:i.push(r[o]);continue e;case 0:continue e;case 1:continue t}}return i},e.sum=function(e,t){for(var r=0,n=0,i=e;nt?1:0}function B(e,t){return M(e,t)}e.toFileNameLowerCase=I,e.notImplemented=function(){throw new Error("Not implemented")},e.memoize=function(e){var t;return function(){return e&&(t=e(),e=void 0),t}},e.memoizeOne=function(t){var r=new e.Map;return function(e){var n=typeof e+":"+e,i=r.get(n);return void 0!==i||r.has(n)||(i=t(e),r.set(n,i)),i}},e.compose=function(e,t,r,n,i){if(i){for(var a=[],o=0;o0?1:0}function i(e){var t=new Intl.Collator(e,{usage:"sort",sensitivity:"variant"}).compare;return function(e,r){return n(e,r,t)}}function a(e){return void 0!==e?o():function(e,r){return n(e,r,t)};function t(e,t){return e.localeCompare(t)}}function o(){return function(t,r){return n(t,r,e)};function e(e,r){return t(e.toUpperCase(),r.toUpperCase())||t(e,r)}function t(e,t){return et?1:0}}}();function z(e,t,r){for(var n=new Array(t.length+1),i=new Array(t.length+1),a=r+1,o=0;o<=t.length;o++)n[o]=o;for(o=1;o<=e.length;o++){var s=e.charCodeAt(o-1),c=o>r?o-r:1,u=t.length>r+o?r+o:t.length;i[0]=o;for(var l=o,d=1;dr)return;var p=n;n=i,i=p}var f=n[t.length];return f>r?void 0:f}function U(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function V(e,t){for(var r=t;r=r.length+n.length&&H(t,r)&&U(t,n)}function Y(e,t,r,n){for(var i=0,a=e[n];ii&&(i=c.prefix.length,n=s)}return n},e.startsWith=H,e.removePrefix=function(e,t){return H(e,t)?e.substr(t.length):e},e.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=N),H(r(e),r(t))?e.substring(t.length):void 0},e.and=function(e,t){return function(r){return e(r)&&t(r)}},e.or=function(){for(var e=[],t=0;t=e}function _(t,n){return!!d(t)||(l[n]={level:t,assertion:r[n]},r[n]=e.noop,!1)}function p(e,t){var r=new Error(e?"Debug Failure. "+e:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(r,t||p),r}function f(e,t,r,n){e||(t=t?"False expression: "+t:"False expression.",r&&(t+="\r\nVerbose Debug Information: "+("string"==typeof r?r:r())),p(t,n||f))}function g(e,t,r){null==e&&p(t,r||g)}function m(e,t,r){return g(e,t,r||m),e}function y(e,t,r){for(var n=0,i=e;n0&&0===i[0][0]?i[0][1]:"0";if(n){for(var a="",o=t,s=0,c=i;st)break;0!==l&&l&t&&(a=a+(a?"|":"")+d,o&=~l)}if(0===o)return a}else for(var _=0,p=i;_n)for(var i=0,o=e.getOwnKeys(l);i=c.level&&(r[s]=c,l[s]=void 0)}},r.shouldAssert=d,r.fail=p,r.failBadSyntaxKind=function e(t,r,n){return p((r||"Unexpected node.")+"\r\nNode "+x(t.kind)+" was unexpected.",n||e)},r.assert=f,r.assertEqual=function e(t,r,n,i,a){t!==r&&p("Expected "+t+" === "+r+". "+(n?i?n+" "+i:n:""),a||e)},r.assertLessThan=function e(t,r,n,i){t>=r&&p("Expected "+t+" < "+r+". "+(n||""),i||e)},r.assertLessThanOrEqual=function e(t,r,n){t>r&&p("Expected "+t+" <= "+r,n||e)},r.assertGreaterThanOrEqual=function e(t,r,n){t= "+r,n||e)},r.assertIsDefined=g,r.checkDefined=m,r.assertDefined=m,r.assertEachIsDefined=y,r.checkEachDefined=v,r.assertEachDefined=v,r.assertNever=function t(r,n,i){return void 0===n&&(n="Illegal value:"),p(n+" "+("object"==typeof r&&e.hasProperty(r,"kind")&&e.hasProperty(r,"pos")&&x?"SyntaxKind: "+x(r.kind):JSON.stringify(r)),i||t)},r.assertEachNode=function t(r,n,i,a){_(1,"assertEachNode")&&f(void 0===n||e.every(r,n),i||"Unexpected node.",(function(){return"Node array did not pass test '"+h(n)+"'."}),a||t)},r.assertNode=function e(t,r,n,i){_(1,"assertNode")&&f(void 0!==t&&(void 0===r||r(t)),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" did not pass test '"+h(r)+"'."}),i||e)},r.assertNotNode=function e(t,r,n,i){_(1,"assertNotNode")&&f(void 0===t||void 0===r||!r(t),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" should not have passed test '"+h(r)+"'."}),i||e)},r.assertOptionalNode=function e(t,r,n,i){_(1,"assertOptionalNode")&&f(void 0===r||void 0===t||r(t),n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" did not pass test '"+h(r)+"'."}),i||e)},r.assertOptionalToken=function e(t,r,n,i){_(1,"assertOptionalToken")&&f(void 0===r||void 0===t||t.kind===r,n||"Unexpected node.",(function(){return"Node "+x(t.kind)+" was not a '"+x(r)+"' token."}),i||e)},r.assertMissingNode=function e(t,r,n){_(1,"assertMissingNode")&&f(void 0===t,r||"Unexpected node.",(function(){return"Node "+x(t.kind)+" was unexpected'."}),n||e)},r.getFunctionName=h,r.formatSymbol=function(t){return"{ name: "+e.unescapeLeadingUnderscores(t.escapedName)+"; flags: "+T(t.flags)+"; declarations: "+e.map(t.declarations,(function(e){return x(e.kind)}))+" }"},r.formatEnum=D,r.formatSyntaxKind=x,r.formatNodeFlags=b,r.formatModifierFlags=S,r.formatTransformFlags=E,r.formatEmitFlags=C,r.formatSymbolFlags=T,r.formatTypeFlags=k,r.formatObjectFlags=A,r.formatFlowFlags=F;var N,P,w,I=!1;function O(e){return function(){if(R(),!N)throw new Error("Debugging helpers could not be loaded.");return N}().formatControlFlowGraph(e)}function M(t){"__debugFlowFlags"in t||Object.defineProperties(t,{__tsDebuggerDisplay:{value:function(){var e=2&this.flags?"FlowStart":4&this.flags?"FlowBranchLabel":8&this.flags?"FlowLoopLabel":16&this.flags?"FlowAssignment":32&this.flags?"FlowTrueCondition":64&this.flags?"FlowFalseCondition":128&this.flags?"FlowSwitchClause":256&this.flags?"FlowArrayMutation":512&this.flags?"FlowCall":1024&this.flags?"FlowReduceLabel":1&this.flags?"FlowUnreachable":"UnknownFlow",t=-2048&this.flags;return e+(t?" ("+F(t)+")":"")}},__debugFlowFlags:{get:function(){return D(this.flags,e.FlowFlags,!0)}},__debugToString:{value:function(){return O(this)}}})}function L(e){"__tsDebuggerDisplay"in e||Object.defineProperties(e,{__tsDebuggerDisplay:{value:function(e){return"NodeArray "+(e=String(e).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"))}}})}function R(){if(!I){var t,r;Object.defineProperties(e.objectAllocator.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=33554432&this.flags?"TransientSymbol":"Symbol",r=-33554433&this.flags;return t+" '"+e.symbolName(this)+"'"+(r?" ("+T(r)+")":"")}},__debugFlags:{get:function(){return T(this.flags)}}}),Object.defineProperties(e.objectAllocator.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value:function(){var t=98304&this.flags?"NullableType":384&this.flags?"LiteralType "+JSON.stringify(this.value):2048&this.flags?"LiteralType "+(this.value.negative?"-":"")+this.value.base10Value+"n":8192&this.flags?"UniqueESSymbolType":32&this.flags?"EnumType":67359327&this.flags?"IntrinsicType "+this.intrinsicName:1048576&this.flags?"UnionType":2097152&this.flags?"IntersectionType":4194304&this.flags?"IndexType":8388608&this.flags?"IndexedAccessType":16777216&this.flags?"ConditionalType":33554432&this.flags?"SubstitutionType":262144&this.flags?"TypeParameter":524288&this.flags?3&this.objectFlags?"InterfaceType":4&this.objectFlags?"TypeReference":8&this.objectFlags?"TupleType":16&this.objectFlags?"AnonymousType":32&this.objectFlags?"MappedType":2048&this.objectFlags?"ReverseMappedType":256&this.objectFlags?"EvolvingArrayType":"ObjectType":"Type",r=524288&this.flags?-2368&this.objectFlags:0;return t+(this.symbol?" '"+e.symbolName(this.symbol)+"'":"")+(r?" ("+A(r)+")":"")}},__debugFlags:{get:function(){return k(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?A(this.objectFlags):""}},__debugTypeToString:{value:function(){var e=(void 0===t&&"function"==typeof WeakMap&&(t=new WeakMap),t),r=null==e?void 0:e.get(this);return void 0===r&&(r=this.checker.typeToString(this),null==e||e.set(this,r)),r}}});for(var n=0,i=[e.objectAllocator.getNodeConstructor(),e.objectAllocator.getIdentifierConstructor(),e.objectAllocator.getTokenConstructor(),e.objectAllocator.getSourceFileConstructor()];n=0;return d?function(e,t,r,n){var i=B(e,!0,t,r,n);return function(){throw new TypeError(i)}}(t,s,l,r.message):_?function(e,t,r,n){var i=!1;return function(){i||(u.warn(B(e,!1,t,r,n)),i=!0)}}(t,s,l,r.message):e.noop}r.printControlFlowGraph=function(e){return console.log(O(e))},r.formatControlFlowGraph=O,r.attachFlowNodeDebugInfo=function(e){I&&("function"==typeof Object.setPrototypeOf?(P||M(P=Object.create(Object.prototype)),Object.setPrototypeOf(e,P)):M(e))},r.attachNodeArrayDebugInfo=function(e){I&&("function"==typeof Object.setPrototypeOf?(w||L(w=Object.create(Array.prototype)),Object.setPrototypeOf(e,w)):L(e))},r.enableDebugInfo=R,r.deprecate=function(e,t){return function(e,t){return function(){return e(),t.apply(this,arguments)}}(j(h(e),t),e)}}(e.Debug||(e.Debug={}))}(u||(u={})),function(e){var t=/^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i,r=/^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i,n=/^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i,i=/^(0|[1-9]\d*)$/,a=function(){function t(t,i,a,s,c){if(void 0===i&&(i=0),void 0===a&&(a=0),void 0===s&&(s=""),void 0===c&&(c=""),"string"==typeof t){var u=e.Debug.checkDefined(o(t),"Invalid version");t=u.major,i=u.minor,a=u.patch,s=u.prerelease,c=u.build}e.Debug.assert(t>=0,"Invalid argument: major"),e.Debug.assert(i>=0,"Invalid argument: minor"),e.Debug.assert(a>=0,"Invalid argument: patch"),e.Debug.assert(!s||r.test(s),"Invalid argument: prerelease"),e.Debug.assert(!c||n.test(c),"Invalid argument: build"),this.major=t,this.minor=i,this.patch=a,this.prerelease=s?s.split("."):e.emptyArray,this.build=c?c.split("."):e.emptyArray}return t.tryParse=function(e){var r=o(e);if(r)return new t(r.major,r.minor,r.patch,r.prerelease,r.build)},t.prototype.compareTo=function(t){return this===t?0:void 0===t?1:e.compareValues(this.major,t.major)||e.compareValues(this.minor,t.minor)||e.compareValues(this.patch,t.patch)||function(t,r){if(t===r)return 0;if(0===t.length)return 0===r.length?0:1;if(0===r.length)return-1;for(var n=Math.min(t.length,r.length),a=0;a|>=|=)?\s*([a-z0-9-+.*]+)$/i;function p(e){for(var t=[],r=0,n=e.trim().split(c);r=",n.version)),y(i.major)||r.push(y(i.minor)?v("<",i.version.increment("major")):y(i.patch)?v("<",i.version.increment("minor")):v("<=",i.version)),!0)}function m(e,t,r){var n=f(t);if(!n)return!1;var i=n.version,o=n.major,s=n.minor,c=n.patch;if(y(o))"<"!==e&&">"!==e||r.push(v("<",a.zero));else switch(e){case"~":r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")));break;case"^":r.push(v(">=",i)),r.push(v("<",i.increment(i.major>0||y(s)?"major":i.minor>0||y(c)?"minor":"patch")));break;case"<":case">=":r.push(v(e,i));break;case"<=":case">":r.push(y(s)?v("<="===e?"<":">=",i.increment("major")):y(c)?v("<="===e?"<":">=",i.increment("minor")):v(e,i));break;case"=":case void 0:y(s)||y(c)?(r.push(v(">=",i)),r.push(v("<",i.increment(y(s)?"major":"minor")))):r.push(v("=",i));break;default:return!1}return!0}function y(e){return"*"===e||"x"===e||"X"===e}function v(e,t){return{operator:e,operand:t}}function h(e,t){for(var r=0,n=t;r":return i>0;case">=":return i>=0;case"=":return 0===i;default:return e.Debug.assertNever(r)}}function x(t){return e.map(t,b).join(" ")}function b(e){return""+e.operator+e.operand}}(u||(u={})),function(e){function t(e,t){return"object"==typeof e&&"number"==typeof e.timeOrigin&&"function"==typeof e.mark&&"function"==typeof e.measure&&"function"==typeof e.now&&"function"==typeof t}var r=function(){if("object"==typeof performance&&"function"==typeof PerformanceObserver&&t(performance,PerformanceObserver))return{performance:performance,PerformanceObserver:PerformanceObserver}}()||function(){try{var r=mo,n=r.performance,i=r.PerformanceObserver;if(t(n,i)){var a=new e.Version("999.999.999");return new e.VersionRange("<12.16.3 || 13 <13.13").test(a)?{performance:{get timeOrigin(){return n.timeOrigin},now:function(){return n.now()},mark:function(e){return n.mark(e)},measure:function(e,t,r){void 0===t&&(t="nodeStart"),void 0===r&&(r="__performance.measure-fix__",n.mark(r)),n.measure(e,t,r),"__performance.measure-fix__"===r&&n.clearMarks("__performance.measure-fix__")}},PerformanceObserver:i}:{performance:n,PerformanceObserver:i}}}catch(e){}}(),n=null==r?void 0:r.performance;e.tryGetNativePerformanceHooks=function(){return r},e.timestamp=n?function(){return n.now()}:Date.now?Date.now:function(){return+new Date}}(u||(u={})),function(e){!function(t){var r,n,i;function a(t,r,n){var i=0;return{enter:function(){1==++i&&c(r)},exit:function(){0==--i?(c(n),u(t,r,n)):i<0&&e.Debug.fail("enter/exit count does not match.")}}}t.createTimerIf=function(e,r,n,i){return e?a(r,n,i):t.nullTimer},t.createTimer=a,t.nullTimer={enter:e.noop,exit:e.noop};var o=new e.Map,s=new e.Map;function c(e){null==i||i.mark(e)}function u(e,t,r){null==i||i.measure(e,t,r)}function l(e){for(var t=0,r=e.getEntriesByType("mark");t0);var t=c.pop(),r=t.phase,n=t.name,a=t.args,o=t.time;u("X",r,n,a,'"dur":'+(1e3*e.timestamp()-o),o)}},t.dumpLegend=function(){a&&(e.Debug.assert(r),r.writeFileSync(a,JSON.stringify(s)))}}(e.tracing||(e.tracing={}))}(u||(u={})),function(e){!function(e){e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.EqualsToken=62]="EqualsToken",e[e.PlusEqualsToken=63]="PlusEqualsToken",e[e.MinusEqualsToken=64]="MinusEqualsToken",e[e.AsteriskEqualsToken=65]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=66]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=67]="SlashEqualsToken",e[e.PercentEqualsToken=68]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=69]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=70]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=72]="AmpersandEqualsToken",e[e.BarEqualsToken=73]="BarEqualsToken",e[e.BarBarEqualsToken=74]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=75]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=76]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=77]="CaretEqualsToken",e[e.Identifier=78]="Identifier",e[e.PrivateIdentifier=79]="PrivateIdentifier",e[e.BreakKeyword=80]="BreakKeyword",e[e.CaseKeyword=81]="CaseKeyword",e[e.CatchKeyword=82]="CatchKeyword",e[e.ClassKeyword=83]="ClassKeyword",e[e.ConstKeyword=84]="ConstKeyword",e[e.ContinueKeyword=85]="ContinueKeyword",e[e.DebuggerKeyword=86]="DebuggerKeyword",e[e.DefaultKeyword=87]="DefaultKeyword",e[e.DeleteKeyword=88]="DeleteKeyword",e[e.DoKeyword=89]="DoKeyword",e[e.ElseKeyword=90]="ElseKeyword",e[e.EnumKeyword=91]="EnumKeyword",e[e.ExportKeyword=92]="ExportKeyword",e[e.ExtendsKeyword=93]="ExtendsKeyword",e[e.FalseKeyword=94]="FalseKeyword",e[e.FinallyKeyword=95]="FinallyKeyword",e[e.ForKeyword=96]="ForKeyword",e[e.FunctionKeyword=97]="FunctionKeyword",e[e.IfKeyword=98]="IfKeyword",e[e.ImportKeyword=99]="ImportKeyword",e[e.InKeyword=100]="InKeyword",e[e.InstanceOfKeyword=101]="InstanceOfKeyword",e[e.NewKeyword=102]="NewKeyword",e[e.NullKeyword=103]="NullKeyword",e[e.ReturnKeyword=104]="ReturnKeyword",e[e.SuperKeyword=105]="SuperKeyword",e[e.SwitchKeyword=106]="SwitchKeyword",e[e.ThisKeyword=107]="ThisKeyword",e[e.ThrowKeyword=108]="ThrowKeyword",e[e.TrueKeyword=109]="TrueKeyword",e[e.TryKeyword=110]="TryKeyword",e[e.TypeOfKeyword=111]="TypeOfKeyword",e[e.VarKeyword=112]="VarKeyword",e[e.VoidKeyword=113]="VoidKeyword",e[e.WhileKeyword=114]="WhileKeyword",e[e.WithKeyword=115]="WithKeyword",e[e.ImplementsKeyword=116]="ImplementsKeyword",e[e.InterfaceKeyword=117]="InterfaceKeyword",e[e.LetKeyword=118]="LetKeyword",e[e.PackageKeyword=119]="PackageKeyword",e[e.PrivateKeyword=120]="PrivateKeyword",e[e.ProtectedKeyword=121]="ProtectedKeyword",e[e.PublicKeyword=122]="PublicKeyword",e[e.StaticKeyword=123]="StaticKeyword",e[e.YieldKeyword=124]="YieldKeyword",e[e.AbstractKeyword=125]="AbstractKeyword",e[e.AsKeyword=126]="AsKeyword",e[e.AssertsKeyword=127]="AssertsKeyword",e[e.AnyKeyword=128]="AnyKeyword",e[e.AsyncKeyword=129]="AsyncKeyword",e[e.AwaitKeyword=130]="AwaitKeyword",e[e.BooleanKeyword=131]="BooleanKeyword",e[e.ConstructorKeyword=132]="ConstructorKeyword",e[e.DeclareKeyword=133]="DeclareKeyword",e[e.GetKeyword=134]="GetKeyword",e[e.InferKeyword=135]="InferKeyword",e[e.IntrinsicKeyword=136]="IntrinsicKeyword",e[e.IsKeyword=137]="IsKeyword",e[e.KeyOfKeyword=138]="KeyOfKeyword",e[e.ModuleKeyword=139]="ModuleKeyword",e[e.NamespaceKeyword=140]="NamespaceKeyword",e[e.NeverKeyword=141]="NeverKeyword",e[e.ReadonlyKeyword=142]="ReadonlyKeyword",e[e.RequireKeyword=143]="RequireKeyword",e[e.NumberKeyword=144]="NumberKeyword",e[e.ObjectKeyword=145]="ObjectKeyword",e[e.SetKeyword=146]="SetKeyword",e[e.StringKeyword=147]="StringKeyword",e[e.SymbolKeyword=148]="SymbolKeyword",e[e.TypeKeyword=149]="TypeKeyword",e[e.UndefinedKeyword=150]="UndefinedKeyword",e[e.UniqueKeyword=151]="UniqueKeyword",e[e.UnknownKeyword=152]="UnknownKeyword",e[e.FromKeyword=153]="FromKeyword",e[e.GlobalKeyword=154]="GlobalKeyword",e[e.BigIntKeyword=155]="BigIntKeyword",e[e.OfKeyword=156]="OfKeyword",e[e.QualifiedName=157]="QualifiedName",e[e.ComputedPropertyName=158]="ComputedPropertyName",e[e.TypeParameter=159]="TypeParameter",e[e.Parameter=160]="Parameter",e[e.Decorator=161]="Decorator",e[e.PropertySignature=162]="PropertySignature",e[e.PropertyDeclaration=163]="PropertyDeclaration",e[e.MethodSignature=164]="MethodSignature",e[e.MethodDeclaration=165]="MethodDeclaration",e[e.Constructor=166]="Constructor",e[e.GetAccessor=167]="GetAccessor",e[e.SetAccessor=168]="SetAccessor",e[e.CallSignature=169]="CallSignature",e[e.ConstructSignature=170]="ConstructSignature",e[e.IndexSignature=171]="IndexSignature",e[e.TypePredicate=172]="TypePredicate",e[e.TypeReference=173]="TypeReference",e[e.FunctionType=174]="FunctionType",e[e.ConstructorType=175]="ConstructorType",e[e.TypeQuery=176]="TypeQuery",e[e.TypeLiteral=177]="TypeLiteral",e[e.ArrayType=178]="ArrayType",e[e.TupleType=179]="TupleType",e[e.OptionalType=180]="OptionalType",e[e.RestType=181]="RestType",e[e.UnionType=182]="UnionType",e[e.IntersectionType=183]="IntersectionType",e[e.ConditionalType=184]="ConditionalType",e[e.InferType=185]="InferType",e[e.ParenthesizedType=186]="ParenthesizedType",e[e.ThisType=187]="ThisType",e[e.TypeOperator=188]="TypeOperator",e[e.IndexedAccessType=189]="IndexedAccessType",e[e.MappedType=190]="MappedType",e[e.LiteralType=191]="LiteralType",e[e.NamedTupleMember=192]="NamedTupleMember",e[e.TemplateLiteralType=193]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=194]="TemplateLiteralTypeSpan",e[e.ImportType=195]="ImportType",e[e.ObjectBindingPattern=196]="ObjectBindingPattern",e[e.ArrayBindingPattern=197]="ArrayBindingPattern",e[e.BindingElement=198]="BindingElement",e[e.ArrayLiteralExpression=199]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=200]="ObjectLiteralExpression",e[e.PropertyAccessExpression=201]="PropertyAccessExpression",e[e.ElementAccessExpression=202]="ElementAccessExpression",e[e.CallExpression=203]="CallExpression",e[e.NewExpression=204]="NewExpression",e[e.TaggedTemplateExpression=205]="TaggedTemplateExpression",e[e.TypeAssertionExpression=206]="TypeAssertionExpression",e[e.ParenthesizedExpression=207]="ParenthesizedExpression",e[e.FunctionExpression=208]="FunctionExpression",e[e.ArrowFunction=209]="ArrowFunction",e[e.DeleteExpression=210]="DeleteExpression",e[e.TypeOfExpression=211]="TypeOfExpression",e[e.VoidExpression=212]="VoidExpression",e[e.AwaitExpression=213]="AwaitExpression",e[e.PrefixUnaryExpression=214]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=215]="PostfixUnaryExpression",e[e.BinaryExpression=216]="BinaryExpression",e[e.ConditionalExpression=217]="ConditionalExpression",e[e.TemplateExpression=218]="TemplateExpression",e[e.YieldExpression=219]="YieldExpression",e[e.SpreadElement=220]="SpreadElement",e[e.ClassExpression=221]="ClassExpression",e[e.OmittedExpression=222]="OmittedExpression",e[e.ExpressionWithTypeArguments=223]="ExpressionWithTypeArguments",e[e.AsExpression=224]="AsExpression",e[e.NonNullExpression=225]="NonNullExpression",e[e.MetaProperty=226]="MetaProperty",e[e.SyntheticExpression=227]="SyntheticExpression",e[e.TemplateSpan=228]="TemplateSpan",e[e.SemicolonClassElement=229]="SemicolonClassElement",e[e.Block=230]="Block",e[e.EmptyStatement=231]="EmptyStatement",e[e.VariableStatement=232]="VariableStatement",e[e.ExpressionStatement=233]="ExpressionStatement",e[e.IfStatement=234]="IfStatement",e[e.DoStatement=235]="DoStatement",e[e.WhileStatement=236]="WhileStatement",e[e.ForStatement=237]="ForStatement",e[e.ForInStatement=238]="ForInStatement",e[e.ForOfStatement=239]="ForOfStatement",e[e.ContinueStatement=240]="ContinueStatement",e[e.BreakStatement=241]="BreakStatement",e[e.ReturnStatement=242]="ReturnStatement",e[e.WithStatement=243]="WithStatement",e[e.SwitchStatement=244]="SwitchStatement",e[e.LabeledStatement=245]="LabeledStatement",e[e.ThrowStatement=246]="ThrowStatement",e[e.TryStatement=247]="TryStatement",e[e.DebuggerStatement=248]="DebuggerStatement",e[e.VariableDeclaration=249]="VariableDeclaration",e[e.VariableDeclarationList=250]="VariableDeclarationList",e[e.FunctionDeclaration=251]="FunctionDeclaration",e[e.ClassDeclaration=252]="ClassDeclaration",e[e.InterfaceDeclaration=253]="InterfaceDeclaration",e[e.TypeAliasDeclaration=254]="TypeAliasDeclaration",e[e.EnumDeclaration=255]="EnumDeclaration",e[e.ModuleDeclaration=256]="ModuleDeclaration",e[e.ModuleBlock=257]="ModuleBlock",e[e.CaseBlock=258]="CaseBlock",e[e.NamespaceExportDeclaration=259]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=260]="ImportEqualsDeclaration",e[e.ImportDeclaration=261]="ImportDeclaration",e[e.ImportClause=262]="ImportClause",e[e.NamespaceImport=263]="NamespaceImport",e[e.NamedImports=264]="NamedImports",e[e.ImportSpecifier=265]="ImportSpecifier",e[e.ExportAssignment=266]="ExportAssignment",e[e.ExportDeclaration=267]="ExportDeclaration",e[e.NamedExports=268]="NamedExports",e[e.NamespaceExport=269]="NamespaceExport",e[e.ExportSpecifier=270]="ExportSpecifier",e[e.MissingDeclaration=271]="MissingDeclaration",e[e.ExternalModuleReference=272]="ExternalModuleReference",e[e.JsxElement=273]="JsxElement",e[e.JsxSelfClosingElement=274]="JsxSelfClosingElement",e[e.JsxOpeningElement=275]="JsxOpeningElement",e[e.JsxClosingElement=276]="JsxClosingElement",e[e.JsxFragment=277]="JsxFragment",e[e.JsxOpeningFragment=278]="JsxOpeningFragment",e[e.JsxClosingFragment=279]="JsxClosingFragment",e[e.JsxAttribute=280]="JsxAttribute",e[e.JsxAttributes=281]="JsxAttributes",e[e.JsxSpreadAttribute=282]="JsxSpreadAttribute",e[e.JsxExpression=283]="JsxExpression",e[e.CaseClause=284]="CaseClause",e[e.DefaultClause=285]="DefaultClause",e[e.HeritageClause=286]="HeritageClause",e[e.CatchClause=287]="CatchClause",e[e.PropertyAssignment=288]="PropertyAssignment",e[e.ShorthandPropertyAssignment=289]="ShorthandPropertyAssignment",e[e.SpreadAssignment=290]="SpreadAssignment",e[e.EnumMember=291]="EnumMember",e[e.UnparsedPrologue=292]="UnparsedPrologue",e[e.UnparsedPrepend=293]="UnparsedPrepend",e[e.UnparsedText=294]="UnparsedText",e[e.UnparsedInternalText=295]="UnparsedInternalText",e[e.UnparsedSyntheticReference=296]="UnparsedSyntheticReference",e[e.SourceFile=297]="SourceFile",e[e.Bundle=298]="Bundle",e[e.UnparsedSource=299]="UnparsedSource",e[e.InputFiles=300]="InputFiles",e[e.JSDocTypeExpression=301]="JSDocTypeExpression",e[e.JSDocNameReference=302]="JSDocNameReference",e[e.JSDocAllType=303]="JSDocAllType",e[e.JSDocUnknownType=304]="JSDocUnknownType",e[e.JSDocNullableType=305]="JSDocNullableType",e[e.JSDocNonNullableType=306]="JSDocNonNullableType",e[e.JSDocOptionalType=307]="JSDocOptionalType",e[e.JSDocFunctionType=308]="JSDocFunctionType",e[e.JSDocVariadicType=309]="JSDocVariadicType",e[e.JSDocNamepathType=310]="JSDocNamepathType",e[e.JSDocComment=311]="JSDocComment",e[e.JSDocTypeLiteral=312]="JSDocTypeLiteral",e[e.JSDocSignature=313]="JSDocSignature",e[e.JSDocTag=314]="JSDocTag",e[e.JSDocAugmentsTag=315]="JSDocAugmentsTag",e[e.JSDocImplementsTag=316]="JSDocImplementsTag",e[e.JSDocAuthorTag=317]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=318]="JSDocDeprecatedTag",e[e.JSDocClassTag=319]="JSDocClassTag",e[e.JSDocPublicTag=320]="JSDocPublicTag",e[e.JSDocPrivateTag=321]="JSDocPrivateTag",e[e.JSDocProtectedTag=322]="JSDocProtectedTag",e[e.JSDocReadonlyTag=323]="JSDocReadonlyTag",e[e.JSDocCallbackTag=324]="JSDocCallbackTag",e[e.JSDocEnumTag=325]="JSDocEnumTag",e[e.JSDocParameterTag=326]="JSDocParameterTag",e[e.JSDocReturnTag=327]="JSDocReturnTag",e[e.JSDocThisTag=328]="JSDocThisTag",e[e.JSDocTypeTag=329]="JSDocTypeTag",e[e.JSDocTemplateTag=330]="JSDocTemplateTag",e[e.JSDocTypedefTag=331]="JSDocTypedefTag",e[e.JSDocSeeTag=332]="JSDocSeeTag",e[e.JSDocPropertyTag=333]="JSDocPropertyTag",e[e.SyntaxList=334]="SyntaxList",e[e.NotEmittedStatement=335]="NotEmittedStatement",e[e.PartiallyEmittedExpression=336]="PartiallyEmittedExpression",e[e.CommaListExpression=337]="CommaListExpression",e[e.MergeDeclarationMarker=338]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=339]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=340]="SyntheticReferenceExpression",e[e.Count=341]="Count",e[e.FirstAssignment=62]="FirstAssignment",e[e.LastAssignment=77]="LastAssignment",e[e.FirstCompoundAssignment=63]="FirstCompoundAssignment",e[e.LastCompoundAssignment=77]="LastCompoundAssignment",e[e.FirstReservedWord=80]="FirstReservedWord",e[e.LastReservedWord=115]="LastReservedWord",e[e.FirstKeyword=80]="FirstKeyword",e[e.LastKeyword=156]="LastKeyword",e[e.FirstFutureReservedWord=116]="FirstFutureReservedWord",e[e.LastFutureReservedWord=124]="LastFutureReservedWord",e[e.FirstTypeNode=172]="FirstTypeNode",e[e.LastTypeNode=195]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=77]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=156]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=77]="LastBinaryOperator",e[e.FirstStatement=232]="FirstStatement",e[e.LastStatement=248]="LastStatement",e[e.FirstNode=157]="FirstNode",e[e.FirstJSDocNode=301]="FirstJSDocNode",e[e.LastJSDocNode=333]="LastJSDocNode",e[e.FirstJSDocTagNode=314]="FirstJSDocTagNode",e[e.LastJSDocTagNode=333]="LastJSDocTagNode",e[e.FirstContextualKeyword=125]="FirstContextualKeyword",e[e.LastContextualKeyword=156]="LastContextualKeyword"}(e.SyntaxKind||(e.SyntaxKind={})),function(e){e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.OptionalChain=32]="OptionalChain",e[e.ExportContext=64]="ExportContext",e[e.ContainsThis=128]="ContainsThis",e[e.HasImplicitReturn=256]="HasImplicitReturn",e[e.HasExplicitReturn=512]="HasExplicitReturn",e[e.GlobalAugmentation=1024]="GlobalAugmentation",e[e.HasAsyncFunctions=2048]="HasAsyncFunctions",e[e.DisallowInContext=4096]="DisallowInContext",e[e.YieldContext=8192]="YieldContext",e[e.DecoratorContext=16384]="DecoratorContext",e[e.AwaitContext=32768]="AwaitContext",e[e.ThisNodeHasError=65536]="ThisNodeHasError",e[e.JavaScriptFile=131072]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=262144]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=524288]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=1048576]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=2097152]="PossiblyContainsImportMeta",e[e.JSDoc=4194304]="JSDoc",e[e.Ambient=8388608]="Ambient",e[e.InWithStatement=16777216]="InWithStatement",e[e.JsonFile=33554432]="JsonFile",e[e.TypeCached=67108864]="TypeCached",e[e.Deprecated=134217728]="Deprecated",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",e[e.ContextFlags=25358336]="ContextFlags",e[e.TypeExcludesFlags=40960]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=3145728]="PermanentlySetIncrementalFlags"}(e.NodeFlags||(e.NodeFlags={})),function(e){e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Abstract=128]="Abstract",e[e.Async=256]="Async",e[e.Default=512]="Default",e[e.Const=2048]="Const",e[e.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",e[e.Deprecated=8192]="Deprecated",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=92]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=2270]="TypeScriptModifier",e[e.ExportDefault=513]="ExportDefault",e[e.All=11263]="All"}(e.ModifierFlags||(e.ModifierFlags={})),function(e){e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement"}(e.JsxFlags||(e.JsxFlags={})),function(e){e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Reported=4]="Reported",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask"}(e.RelationComparisonResult||(e.RelationComparisonResult={})),function(e){e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution"}(e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={})),function(e){e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.NumericLiteralFlags=1008]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags"}(e.TokenFlags||(e.TokenFlags={})),function(e){e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition"}(e.FlowFlags||(e.FlowFlags={})),function(e){e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore"}(e.CommentDirectiveType||(e.CommentDirectiveType={}));var t,r=function(){};e.OperationCanceledException=r,function(e){e[e.Import=0]="Import",e[e.ReferenceFile=1]="ReferenceFile",e[e.TypeReferenceDirective=2]="TypeReferenceDirective"}(e.RefFileKind||(e.RefFileKind={})),function(e){e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely"}(e.StructureIsReused||(e.StructureIsReused={})),function(e){e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkupped=4]="ProjectReferenceCycle_OutputsSkupped"}(e.ExitStatus||(e.ExitStatus={})),function(e){e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype"}(e.UnionReduction||(e.UnionReduction={})),function(e){e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns"}(e.ContextFlags||(e.ContextFlags={})),function(e){e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.NoUndefinedOptionalParameterType=1073741824]="NoUndefinedOptionalParameterType",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifedNameInPlaceOfIdentifier=65536]="AllowQualifedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e[e.InReverseMappedType=33554432]="InReverseMappedType"}(e.NodeBuilderFlags||(e.NodeBuilderFlags={})),function(e){e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.WriteOwnNameForAnyLike=0]="WriteOwnNameForAnyLike",e[e.NodeBuilderFlagsMask=814775659]="NodeBuilderFlagsMask"}(e.TypeFormatFlags||(e.TypeFormatFlags={})),function(e){e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.DoNotIncludeSymbolChain=16]="DoNotIncludeSymbolChain"}(e.SymbolFormatFlags||(e.SymbolFormatFlags={})),function(e){e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed"}(e.SymbolAccessibility||(e.SymbolAccessibility={})),function(e){e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread"}(e.SyntheticSymbolKind||(e.SyntheticSymbolKind={})),function(e){e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier"}(e.TypePredicateKind||(e.TypePredicateKind={})),function(e){e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType"}(e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={})),function(e){e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=67108863]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer"}(e.SymbolFlags||(e.SymbolFlags={})),function(e){e[e.Numeric=0]="Numeric",e[e.Literal=1]="Literal"}(e.EnumKind||(e.EnumKind={})),function(e){e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial"}(e.CheckFlags||(e.CheckFlags={})),function(e){e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this"}(e.InternalSymbolName||(e.InternalSymbolName={})),function(e){e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=256]="SuperInstance",e[e.SuperStatic=512]="SuperStatic",e[e.ContextChecked=1024]="ContextChecked",e[e.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper",e[e.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding",e[e.CaptureArguments=8192]="CaptureArguments",e[e.EnumValuesComputed=16384]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=131072]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=262144]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=524288]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=1048576]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=2097152]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=4194304]="NeedsLoopOutParameter",e[e.AssignmentsMarked=8388608]="AssignmentsMarked",e[e.ClassWithConstructorReference=16777216]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=33554432]="ConstructorReferenceInClass",e[e.ContainsClassWithPrivateIdentifiers=67108864]="ContainsClassWithPrivateIdentifiers"}(e.NodeCheckFlags||(e.NodeCheckFlags={})),function(e){e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109440]="Unit",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.Primitive=131068]="Primitive",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Substructure=469237760]="Substructure",e[e.Narrowable=536624127]="Narrowable",e[e.NotPrimitiveUnion=469647395]="NotPrimitiveUnion",e[e.IncludesMask=205258751]="IncludesMask",e[e.IncludesStructuredOrInstantiable=262144]="IncludesStructuredOrInstantiable",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject"}(e.TypeFlags||(e.TypeFlags={})),function(e){e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ContainsSpread=1024]="ContainsSpread",e[e.ReverseMapped=2048]="ReverseMapped",e[e.JsxAttributes=4096]="JsxAttributes",e[e.MarkerType=8192]="MarkerType",e[e.JSLiteral=16384]="JSLiteral",e[e.FreshLiteral=32768]="FreshLiteral",e[e.ArrayLiteral=65536]="ArrayLiteral",e[e.ObjectRestType=131072]="ObjectRestType",e[e.PrimitiveUnion=262144]="PrimitiveUnion",e[e.ContainsWideningType=524288]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=1048576]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=2097152]="NonInferrableType",e[e.IsGenericObjectTypeComputed=4194304]="IsGenericObjectTypeComputed",e[e.IsGenericObjectType=8388608]="IsGenericObjectType",e[e.IsGenericIndexTypeComputed=16777216]="IsGenericIndexTypeComputed",e[e.IsGenericIndexType=33554432]="IsGenericIndexType",e[e.CouldContainTypeVariablesComputed=67108864]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=134217728]="CouldContainTypeVariables",e[e.ContainsIntersections=268435456]="ContainsIntersections",e[e.IsNeverIntersectionComputed=268435456]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=536870912]="IsNeverIntersection",e[e.IsClassInstanceClone=1073741824]="IsClassInstanceClone",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=1572864]="RequiresWidening",e[e.PropagatingFlags=3670016]="PropagatingFlags",e[e.ObjectTypeKindMask=2367]="ObjectTypeKindMask"}(e.ObjectFlags||(e.ObjectFlags={})),function(e){e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback"}(e.VarianceFlags||(e.VarianceFlags={})),function(e){e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Variable=12]="Variable"}(e.ElementFlags||(e.ElementFlags={})),function(e){e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed"}(e.JsxReferenceKind||(e.JsxReferenceKind={})),function(e){e[e.Call=0]="Call",e[e.Construct=1]="Construct"}(e.SignatureKind||(e.SignatureKind={})),function(e){e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.IsInnerCallChain=4]="IsInnerCallChain",e[e.IsOuterCallChain=8]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=16]="IsUntypedSignatureInJSFile",e[e.PropagatingFlags=19]="PropagatingFlags",e[e.CallChainFlags=12]="CallChainFlags"}(e.SignatureFlags||(e.SignatureFlags={})),function(e){e[e.String=0]="String",e[e.Number=1]="Number"}(e.IndexKind||(e.IndexKind={})),function(e){e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Function=2]="Function",e[e.Composite=3]="Composite",e[e.Merged=4]="Merged"}(e.TypeMapKind||(e.TypeMapKind={})),function(e){e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.HomomorphicMappedType=4]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=8]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=16]="MappedTypeConstraint",e[e.ContravariantConditional=32]="ContravariantConditional",e[e.ReturnType=64]="ReturnType",e[e.LiteralKeyof=128]="LiteralKeyof",e[e.NoConstraints=256]="NoConstraints",e[e.AlwaysStrict=512]="AlwaysStrict",e[e.MaxValue=1024]="MaxValue",e[e.PriorityImpliesCombination=208]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity"}(e.InferencePriority||(e.InferencePriority={})),function(e){e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction"}(e.InferenceFlags||(e.InferenceFlags={})),function(e){e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True"}(e.Ternary||(e.Ternary={})),function(e){e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty"}(e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={})),function(e){e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message"}(t=e.DiagnosticCategory||(e.DiagnosticCategory={})),e.diagnosticCategoryName=function(e,r){void 0===r&&(r=!0);var n=t[e.category];return r?n.toLowerCase():n},function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"}(e.ModuleResolutionKind||(e.ModuleResolutionKind={})),function(e){e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.UseFsEvents=3]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=4]="UseFsEventsOnParentDirectory"}(e.WatchFileKind||(e.WatchFileKind={})),function(e){e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling"}(e.WatchDirectoryKind||(e.WatchDirectoryKind={})),function(e){e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority"}(e.PollingWatchKind||(e.PollingWatchKind={})),function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ESNext=99]="ESNext"}(e.ModuleKind||(e.ModuleKind={})),function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev"}(e.JsxEmit||(e.JsxEmit={})),function(e){e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error"}(e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={})),function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"}(e.NewLineKind||(e.NewLineKind={})),function(e){e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred"}(e.ScriptKind||(e.ScriptKind={})),function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest"}(e.ScriptTarget||(e.ScriptTarget={})),function(e){e[e.Standard=0]="Standard",e[e.JSX=1]="JSX"}(e.LanguageVariant||(e.LanguageVariant={})),function(e){e[e.None=0]="None",e[e.Recursive=1]="Recursive"}(e.WatchDirectoryFlags||(e.WatchDirectoryFlags={})),function(e){e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab"}(e.CharacterCodes||(e.CharacterCodes={})),function(e){e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo"}(e.Extension||(e.Extension={})),function(e){e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2020=8]="ContainsES2020",e[e.ContainsES2019=16]="ContainsES2019",e[e.ContainsES2018=32]="ContainsES2018",e[e.ContainsES2017=64]="ContainsES2017",e[e.ContainsES2016=128]="ContainsES2016",e[e.ContainsES2015=256]="ContainsES2015",e[e.ContainsGenerator=512]="ContainsGenerator",e[e.ContainsDestructuringAssignment=1024]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=2048]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=4096]="ContainsLexicalThis",e[e.ContainsRestOrSpread=8192]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=16384]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=32768]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=65536]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=131072]="ContainsBindingPattern",e[e.ContainsYield=262144]="ContainsYield",e[e.ContainsAwait=524288]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=1048576]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=2097152]="ContainsDynamicImport",e[e.ContainsClassFields=4194304]="ContainsClassFields",e[e.ContainsPossibleTopLevelAwait=8388608]="ContainsPossibleTopLevelAwait",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2020=8]="AssertES2020",e[e.AssertES2019=16]="AssertES2019",e[e.AssertES2018=32]="AssertES2018",e[e.AssertES2017=64]="AssertES2017",e[e.AssertES2016=128]="AssertES2016",e[e.AssertES2015=256]="AssertES2015",e[e.AssertGenerator=512]="AssertGenerator",e[e.AssertDestructuringAssignment=1024]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=536870912]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=536870912]="PropertyAccessExcludes",e[e.NodeExcludes=536870912]="NodeExcludes",e[e.ArrowFunctionExcludes=547309568]="ArrowFunctionExcludes",e[e.FunctionExcludes=547313664]="FunctionExcludes",e[e.ConstructorExcludes=547311616]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=538923008]="MethodOrAccessorExcludes",e[e.PropertyExcludes=536875008]="PropertyExcludes",e[e.ClassExcludes=536905728]="ClassExcludes",e[e.ModuleExcludes=546379776]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=536922112]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=536879104]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=537018368]="VariableDeclarationListExcludes",e[e.ParameterExcludes=536870912]="ParameterExcludes",e[e.CatchClauseExcludes=536887296]="CatchClauseExcludes",e[e.BindingPatternExcludes=536879104]="BindingPatternExcludes",e[e.PropertyNamePropagatingFlags=4096]="PropertyNamePropagatingFlags"}(e.TransformFlags||(e.TransformFlags={})),function(e){e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.AdviseOnEmitNode=2]="AdviseOnEmitNode",e[e.NoSubstitution=4]="NoSubstitution",e[e.CapturesThis=8]="CapturesThis",e[e.NoLeadingSourceMap=16]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=32]="NoTrailingSourceMap",e[e.NoSourceMap=48]="NoSourceMap",e[e.NoNestedSourceMaps=64]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=128]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=256]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=384]="NoTokenSourceMaps",e[e.NoLeadingComments=512]="NoLeadingComments",e[e.NoTrailingComments=1024]="NoTrailingComments",e[e.NoComments=1536]="NoComments",e[e.NoNestedComments=2048]="NoNestedComments",e[e.HelperName=4096]="HelperName",e[e.ExportName=8192]="ExportName",e[e.LocalName=16384]="LocalName",e[e.InternalName=32768]="InternalName",e[e.Indented=65536]="Indented",e[e.NoIndentation=131072]="NoIndentation",e[e.AsyncFunctionBody=262144]="AsyncFunctionBody",e[e.ReuseTempVariableScope=524288]="ReuseTempVariableScope",e[e.CustomPrologue=1048576]="CustomPrologue",e[e.NoHoisting=2097152]="NoHoisting",e[e.HasEndOfDeclarationMarker=4194304]="HasEndOfDeclarationMarker",e[e.Iterator=8388608]="Iterator",e[e.NoAsciiEscaping=16777216]="NoAsciiEscaping",e[e.TypeScriptClassWrapper=33554432]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=67108864]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=134217728]="IgnoreSourceNewlines"}(e.EmitFlags||(e.EmitFlags={})),function(e){e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.Spread=1024]="Spread",e[e.SpreadArrays=2048]="SpreadArrays",e[e.Await=4096]="Await",e[e.AsyncGenerator=8192]="AsyncGenerator",e[e.AsyncDelegator=16384]="AsyncDelegator",e[e.AsyncValues=32768]="AsyncValues",e[e.ExportStar=65536]="ExportStar",e[e.ImportStar=131072]="ImportStar",e[e.ImportDefault=262144]="ImportDefault",e[e.MakeTemplateObject=524288]="MakeTemplateObject",e[e.ClassPrivateFieldGet=1048576]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=2097152]="ClassPrivateFieldSet",e[e.CreateBinding=4194304]="CreateBinding",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=4194304]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=32768]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=12288]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=53248]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes"}(e.ExternalEmitHelpers||(e.ExternalEmitHelpers={})),function(e){e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue"}(e.EmitHint||(e.EmitHint={})),function(e){e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.Assertions=6]="Assertions",e[e.All=15]="All"}(e.OuterExpressionKinds||(e.OuterExpressionKinds={})),function(e){e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters"}(e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={})),function(e){e.Prologue="prologue",e.EmitHelpers="emitHelpers",e.NoDefaultLib="no-default-lib",e.Reference="reference",e.Type="type",e.Lib="lib",e.Prepend="prepend",e.Text="text",e.Internal="internal"}(e.BundleFileSectionKind||(e.BundleFileSectionKind={})),function(e){e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=262656]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment"}(e.ListFormat||(e.ListFormat={})),function(e){e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default"}(e.PragmaKindFlags||(e.PragmaKindFlags={})),e.commentPragmas={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}(u||(u={})),function(e){e.directorySeparator="/";var t=/\\/g;function n(e){return 47===e||92===e}function i(e){return l(e)>0}function a(e){return 0!==l(e)}function o(e){return/^\.\.?($|[\\/])/.test(e)}function s(t,r){return t.length>r.length&&e.endsWith(t,r)}function c(e){return e.length>0&&n(e.charCodeAt(e.length-1))}function u(e){return e>=97&&e<=122||e>=65&&e<=90}function l(t){if(!t)return 0;var r=t.charCodeAt(0);if(47===r||92===r){if(t.charCodeAt(1)!==r)return 1;var n=t.indexOf(47===r?e.directorySeparator:"\\",2);return n<0?t.length:n+1}if(u(r)&&58===t.charCodeAt(1)){var i=t.charCodeAt(2);if(47===i||92===i)return 3;if(2===t.length)return 2}var a=t.indexOf("://");if(-1!==a){var o=a+"://".length,s=t.indexOf(e.directorySeparator,o);if(-1!==s){var c=t.slice(0,a),l=t.slice(o,s);if("file"===c&&(""===l||"localhost"===l)&&u(t.charCodeAt(s+1))){var d=function(e,t){var r=e.charCodeAt(t);if(58===r)return t+1;if(37===r&&51===e.charCodeAt(t+1)){var n=e.charCodeAt(t+2);if(97===n||65===n)return t+3}return-1}(t,s+2);if(-1!==d){if(47===t.charCodeAt(d))return~(d+1);if(d===t.length)return~d}}return~(s+1)}return~t.length}return 0}function d(e){var t=l(e);return t<0?~t:t}function _(t){var r=d(t=v(t));return r===t.length?t:(t=C(t)).slice(0,Math.max(r,t.lastIndexOf(e.directorySeparator)))}function p(t,r,n){if(d(t=v(t))===t.length)return"";var i=(t=C(t)).slice(Math.max(d(t),t.lastIndexOf(e.directorySeparator)+1)),a=void 0!==r&&void 0!==n?g(i,r,n):void 0;return a?i.slice(0,i.length-a.length):i}function f(t,r,n){if(e.startsWith(r,".")||(r="."+r),t.length>=r.length&&46===t.charCodeAt(t.length-r.length)){var i=t.slice(t.length-r.length);if(n(i,r))return i}}function g(t,r,n){if(r)return function(e,t,r){if("string"==typeof t)return f(e,t,r)||"";for(var n=0,i=t;n=0?i.substring(a):""}function m(t,n){return void 0===n&&(n=""),function(t,n){var i=t.substring(0,n),a=t.substring(n).split(e.directorySeparator);return a.length&&!e.lastOrUndefined(a)&&a.pop(),r([i],a)}(t=D(n,t),d(t))}function y(t){return 0===t.length?"":(t[0]&&T(t[0]))+t.slice(1).join(e.directorySeparator)}function v(r){return r.replace(t,e.directorySeparator)}function h(t){if(!e.some(t))return[];for(var r=[t[0]],n=1;n1){if(".."!==r[r.length-1]){r.pop();continue}}else if(r[0])continue;r.push(i)}}return r}function D(e){for(var t=[],r=1;r0&&t===e.length},e.pathIsAbsolute=a,e.pathIsRelative=o,e.pathIsBareSpecifier=function(e){return!a(e)&&!o(e)},e.hasExtension=function(t){return e.stringContains(p(t),".")},e.fileExtensionIs=s,e.fileExtensionIsOneOf=function(e,t){for(var r=0,n=t;r0==d(r)>0,"Paths must either both be absolute or both be relative");var i="function"==typeof n?n:e.identity;return y(N(t,r,"boolean"==typeof n&&n?e.equateStringsCaseInsensitive:e.equateStringsCaseSensitive,i))}function w(t,r,n,a,o){var s=N(x(n,t),x(n,r),e.equateStringsCaseSensitive,a),c=s[0];if(o&&i(c)){var u=c.charAt(0)===e.directorySeparator?"file://":"file:///";s[0]=u+c}return y(s)}e.comparePathsCaseSensitive=function(t,r){return F(t,r,e.compareStringsCaseSensitive)},e.comparePathsCaseInsensitive=function(t,r){return F(t,r,e.compareStringsCaseInsensitive)},e.comparePaths=function(t,r,n,i){return"string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),F(t,r,e.getStringComparer(i))},e.containsPath=function(t,r,n,i){if("string"==typeof n?(t=D(n,t),r=D(n,r)):"boolean"==typeof n&&(i=n),void 0===t||void 0===r)return!1;if(t===r)return!0;var a=h(m(t)),o=h(m(r));if(o.length0;_(),s--){var l=t[a];if(l)if(l.isClosed)t[a]=void 0;else{u++;var d=p(l,h(l.fileName));l.isClosed?t[a]=void 0:d?(l.unchangedPolls=0,t!==n&&(t[a]=void 0,m(l))):l.unchangedPolls!==e.unchangedPollThresholds[r]?l.unchangedPolls++:t===n?(l.unchangedPolls=1,t[a]=void 0,g(l,i.Low)):r!==i.High&&(l.unchangedPolls++,t[a]=void 0,g(l,r===i.Low?i.Medium:i.High)),t[a]&&(c type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator:t(1103,e.DiagnosticCategory.Error,"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103","A 'for-await-of' statement is only allowed within an async function or async generator."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:t(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:t(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:t(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:t(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:t(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:t(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","An object literal cannot have multiple properties with the same name in strict mode."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:t(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:t(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:t(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:t(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:t(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:t(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:t(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:t(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166","A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205","Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'."),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module:t(1208,e.DiagnosticCategory.Error,"_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208","'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:t(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:t(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:t(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_can_only_be_used_in_a_module:t(1231,e.DiagnosticCategory.Error,"An_export_assignment_can_only_be_used_in_a_module_1231","An export assignment can only be used in a module."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:t(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","A namespace declaration is only allowed in a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:t(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:t(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:t(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:t(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:t(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:t(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{0}' tag cannot be used independently as a top level JSDoc tag."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_rest_element_must_be_last_in_a_tuple_type:t(1256,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_tuple_type_1256","A rest element must be last in a tuple type."),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:t(1263,e.DiagnosticCategory.Error,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:t(1264,e.DiagnosticCategory.Error,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:t(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:t(1323,e.DiagnosticCategory.Error,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'."),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments."),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system:t(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'."),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Did_you_mean_to_parenthesize_this_function_type:t(1360,e.DiagnosticCategory.Error,"Did_you_mean_to_parenthesize_this_function_type_1360","Did you mean to parenthesize this function type?"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(1368,e.DiagnosticCategory.Message,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368","Specify emit/checking behavior for imports that are only used for types"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,"Did_you_mean_0_1369","Did you mean '{0}'?"),Only_ECMAScript_imports_may_use_import_type:t(1370,e.DiagnosticCategory.Error,"Only_ECMAScript_imports_may_use_import_type_1370","Only ECMAScript imports may use 'import type'."),This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is__1371","This import is never used as a value and must use 'import type' because the 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,"Only_named_exports_may_use_export_type_1383","Only named exports may use 'export type'."),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384","A 'new' expression with type arguments must always be followed by a parenthesized argument list."),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:t(1389,e.DiagnosticCategory.Error,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:t(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:t(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:t(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:t(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:t(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:t(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:t(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:t(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."),The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:t(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361","The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:t(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Getter_and_setter_accessors_do_not_agree_in_visibility:t(2379,e.DiagnosticCategory.Error,"Getter_and_setter_accessors_do_not_agree_in_visibility_2379","Getter and setter accessors do not agree in visibility."),get_and_set_accessor_must_have_the_same_type:t(2380,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_type_2380","'get' and 'set' accessor must have the same type."),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:t(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:t(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:t(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:t(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:t(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:t(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Property_0_of_type_1_is_not_assignable_to_string_index_type_2:t(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","Property '{0}' of type '{1}' is not assignable to string index type '{2}'."),Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:t(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."),Numeric_index_type_0_is_not_assignable_to_string_index_type_1:t(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:t(2419,e.DiagnosticCategory.Error,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:t(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:t(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:t(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:t(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:t(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:t(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:t(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:t(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:t(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."),Variable_0_is_used_before_being_assigned:t(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:t(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."),Type_alias_0_circularly_references_itself:t(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","A computed property name of the form '{0}' must be of type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:t(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474","const enum member initializers can only contain literal values and other computed enum values."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:t(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:t(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:t(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:t(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:t(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:t(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","Expression resolves to variable declaration '{0}' that compiler uses to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:t(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:t(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:t(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:t(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:t(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:t(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:t(2550,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the `lib` compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),Expected_0_arguments_but_got_1_or_more:t(2556,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_or_more_2556","Expected {0} arguments, but got {1} or more."),Expected_at_least_0_arguments_but_got_1_or_more:t(2557,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_or_more_2557","Expected at least {0} arguments, but got {1} or more."),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),Rest_signatures_are_incompatible:t(2572,e.DiagnosticCategory.Error,"Rest_signatures_are_incompatible_2572","Rest signatures are incompatible."),Property_0_is_incompatible_with_rest_element_type:t(2573,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_rest_element_type_2573","Property '{0}' is incompatible with rest element type."),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_is_a_static_member_of_type_1:t(2576,e.DiagnosticCategory.Error,"Property_0_is_a_static_member_of_type_1_2576","Property '{0}' is a static member of type '{1}'."),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:t(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:t(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Enum_type_0_circularly_references_itself:t(2586,e.DiagnosticCategory.Error,"Enum_type_0_circularly_references_itself_2586","Enum type '{0}' circularly references itself."),JSDoc_type_0_circularly_references_itself:t(2587,e.DiagnosticCategory.Error,"JSDoc_type_0_circularly_references_itself_2587","JSDoc type '{0}' circularly references itself."),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add `node` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add `jquery` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig."),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594","This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","The return type of a JSX element constructor must return an object type."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:t(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:t(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:t(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:t(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other:t(2622,e.DiagnosticCategory.Error,"Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other_2622","Element at index {0} is variadic in one type but not in the other."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:t(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:t(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:t(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."),Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:t(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."),JSX_expressions_must_have_one_parent_element:t(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:t(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:t(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:t(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:t(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:t(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:t(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:t(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:t(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:t(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:t(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:t(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:t(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:t(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:t(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:t(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:t(2690,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:t(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:t(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),Spread_types_may_only_be_created_from_object_types:t(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:t(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:t(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Required_type_parameters_may_not_follow_optional_type_parameters:t(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:t(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748","Cannot access ambient const enums when the '--isolatedModules' flag is provided."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it__2774","This condition will always return true since the function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:t(2793,e.DiagnosticCategory.Error,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:t(2794,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:t(2795,e.DiagnosticCategory.Error,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:t(2796,e.DiagnosticCategory.Error,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:t(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:t(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:t(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:t(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:t(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:t(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:t(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:t(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:t(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:t(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:t(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:t(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:t(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:t(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:t(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:t(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:t(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:t(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:t(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:t(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:t(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:t(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:t(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:t(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:t(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:t(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:t(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:t(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:t(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:t(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:t(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option `--tsBuildInfoFile` is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a `...` before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:t(5089,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:t(5090,e.DiagnosticCategory.Error,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:t(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:t(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:t(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'."),Print_this_message:t(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:t(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:t(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:t(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:t(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:t(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:t(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:t(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:t(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:t(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:t(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:t(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:t(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:t(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:t(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:t(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080","Specify JSX code generation: 'preserve', 'react-native', or 'react'."),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:t(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:t(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:t(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:t(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:t(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:t(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:t(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:t(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:t(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:t(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:t(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:t(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:t(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:t(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:t(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:t(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:t(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:t(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling:t(6226,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority:t(6227,e.DiagnosticCategory.Message,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority'."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6228,e.DiagnosticCategory.Message,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228","Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:t(6237,e.DiagnosticCategory.Message,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:t(6238,e.DiagnosticCategory.Error,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the `jsx` and `jsxs` factory functions from. eg, react"),Projects_to_reference:t(6300,e.DiagnosticCategory.Message,"Projects_to_reference_6300","Projects to reference"),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:t(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:t(6360,e.DiagnosticCategory.Message,"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360","delete this - Project '{0}' is up to date because it was previously built"),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Enable_verbose_logging:t(6366,e.DiagnosticCategory.Message,"Enable_verbose_logging_6366","Enable verbose logging"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6368,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368","Build all projects, including those that appear to be up to date"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,"Enable_incremental_compilation_6378","Enable incremental compilation"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,"_0_is_deprecated_6385","'{0}' is deprecated",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:t(6386,e.DiagnosticCategory.Message,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Include_undefined_in_index_signature_results:t(6800,e.DiagnosticCategory.Message,"Include_undefined_in_index_signature_results_6800","Include 'undefined' in index signature results"),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:t(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:t(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:t(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:t(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:t(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:t(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:t(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:t(7056,e.DiagnosticCategory.Error,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one `@augments` or `@extends` tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,"The_tag_was_first_specified_here_8034","The tag was first specified here."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:t(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:t(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:t(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:t(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:t(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:t(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Convert_0_to_1_in_0:t(95003,e.DiagnosticCategory.Message,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:t(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:t(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:t(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:t(95021,e.DiagnosticCategory.Message,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Allow_accessing_UMD_globals_from_modules:t(95076,e.DiagnosticCategory.Message,"Allow_accessing_UMD_globals_from_modules_95076","Allow accessing UMD globals from modules."),Extract_type:t(95077,e.DiagnosticCategory.Message,"Extract_type_95077","Extract type"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:t(95083,e.DiagnosticCategory.Message,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Add_class_tag:t(95102,e.DiagnosticCategory.Message,"Add_class_tag_95102","Add '@class' tag"),Add_this_tag:t(95103,e.DiagnosticCategory.Message,"Add_this_tag_95103","Add '@this' tag"),Add_this_parameter:t(95104,e.DiagnosticCategory.Message,"Add_this_parameter_95104","Add 'this' parameter."),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig.json to read more about this file"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:t(95143,e.DiagnosticCategory.Message,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:t(95144,e.DiagnosticCategory.Message,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),A_method_cannot_be_named_with_a_private_identifier:t(18022,e.DiagnosticCategory.Error,"A_method_cannot_be_named_with_a_private_identifier_18022","A method cannot be named with a private identifier."),An_accessor_cannot_be_named_with_a_private_identifier:t(18023,e.DiagnosticCategory.Error,"An_accessor_cannot_be_named_with_a_private_identifier_18023","An accessor cannot be named with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033","Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.")}}(u||(u={})),function(e){var t;function r(e){return e>=78}e.tokenIsIdentifierOrKeyword=r,e.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||r(e)};var i=((t={abstract:125,any:128,as:126,asserts:127,bigint:155,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,t.debugger=86,t.declare=133,t.default=87,t.delete=88,t.do=89,t.else=90,t.enum=91,t.export=92,t.extends=93,t.false=94,t.finally=95,t.for=96,t.from=153,t.function=97,t.get=134,t.if=98,t.implements=116,t.import=99,t.in=100,t.infer=135,t.instanceof=101,t.interface=117,t.intrinsic=136,t.is=137,t.keyof=138,t.let=118,t.module=139,t.namespace=140,t.never=141,t.new=102,t.null=103,t.number=144,t.object=145,t.package=119,t.private=120,t.protected=121,t.public=122,t.readonly=142,t.require=143,t.global=154,t.return=104,t.set=146,t.static=123,t.string=147,t.super=105,t.switch=106,t.symbol=148,t.this=107,t.throw=108,t.true=109,t.try=110,t.type=149,t.typeof=111,t.undefined=150,t.unique=151,t.unknown=152,t.var=112,t.void=113,t.while=114,t.with=115,t.yield=124,t.async=129,t.await=130,t.of=156,t),a=new e.Map(e.getEntries(i)),o=new e.Map(e.getEntries(n(n({},i),{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":62,"+=":63,"-=":64,"*=":65,"**=":66,"/=":67,"%=":68,"<<=":69,">>=":70,">>>=":71,"&=":72,"|=":73,"^=":77,"||=":74,"&&=":75,"??=":76,"@":59,"`":61}))),s=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],c=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],u=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],l=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],d=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],_=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],p=/^\s*\/\/\/?\s*@(ts-expect-error|ts-ignore)/,f=/^\s*(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/;function g(e,t){if(e=2?d:1===t?u:s)}e.isUnicodeIdentifierStart=m;var y,v=(y=[],o.forEach((function(e,t){y[e]=t})),y);function h(e){for(var t=new Array,r=0,n=0;r127&&T(i)&&(t.push(n),n=r)}}return t.push(n),t}function D(t,r,n,i,a){(r<0||r>=t.length)&&(a?r=r<0?0:r>=t.length?t.length-1:r:e.Debug.fail("Bad line number. Line: "+r+", lineStarts.length: "+t.length+" , line map is correct? "+(void 0!==i?e.arraysEqual(t,h(i)):"unknown")));var o=t[r]+n;return a?o>t[r+1]?t[r+1]:"string"==typeof i&&o>i.length?i.length:o:(r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}function T(e){return 10===e||13===e||8232===e||8233===e}function k(e){return e>=48&&e<=57}function A(e){return k(e)||e>=65&&e<=70||e>=97&&e<=102}function F(e){return e>=48&&e<=55}e.tokenToString=function(e){return v[e]},e.stringToToken=function(e){return o.get(e)},e.computeLineStarts=h,e.getPositionOfLineAndCharacter=function(e,t,r,n){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,n):D(x(e),t,r,e.text,n)},e.computePositionOfLineAndCharacter=D,e.getLineStarts=x,e.computeLineAndCharacterOfPosition=b,e.computeLineOfPosition=S,e.getLinesBetweenPositions=function(e,t,r){if(t===r)return 0;var n=x(e),i=Math.min(t,r),a=i===r,o=a?t:r,s=S(n,i),c=S(n,o,s);return a?s-c:c-s},e.getLineAndCharacterOfPosition=function(e,t){return b(x(e),t)},e.isWhiteSpaceLike=E,e.isWhiteSpaceSingleLine=C,e.isLineBreak=T,e.isOctalDigit=F,e.couldStartTrivia=function(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return 0===t;default:return r>127}},e.skipTrivia=function(t,r,n,i){if(void 0===i&&(i=!1),e.positionIsSynthesized(r))return r;for(;;){var a=t.charCodeAt(r);switch(a){case 13:10===t.charCodeAt(r+1)&&r++;case 10:if(r++,n)return r;continue;case 9:case 11:case 12:case 32:r++;continue;case 47:if(i)break;if(47===t.charCodeAt(r+1)){for(r+=2;r127&&E(a)){r++;continue}}return r}};var N="<<<<<<<".length;function P(t,r){if(e.Debug.assert(r>=0),0===r||T(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+N=0&&r127&&E(g)){d&&T(g)&&(l=!0),r++;continue}break e}}return d&&(p=i(s,c,u,l,a,p)),p}function R(e,t,r,n,i){return L(!0,e,t,!1,r,n,i)}function B(e,t,r,n,i){return L(!0,e,t,!0,r,n,i)}function j(e,t,r,n,i,a){return a||(a=[]),a.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),a}function J(e){var t=I.exec(e);if(t)return t[0]}function K(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&m(e,t)}function z(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||1===r&&(45===e||58===e)||e>127&&function(e,t){return g(e,t>=2?_:1===t?l:c)}(e,t)}e.isShebangTrivia=O,e.scanShebangTrivia=M,e.forEachLeadingCommentRange=function(e,t,r,n){return L(!1,e,t,!1,r,n)},e.forEachTrailingCommentRange=function(e,t,r,n){return L(!1,e,t,!0,r,n)},e.reduceEachLeadingCommentRange=R,e.reduceEachTrailingCommentRange=B,e.getLeadingCommentRanges=function(e,t){return R(e,t,j,void 0,void 0)},e.getTrailingCommentRanges=function(e,t){return B(e,t,j,void 0,void 0)},e.getShebang=J,e.isIdentifierStart=K,e.isIdentifierPart=z,e.isIdentifierText=function(e,t,r){var n=U(e,0);if(!K(n,t))return!1;for(var i=V(n);i115},isReservedWord:function(){return m>=80&&m<=115},isUnterminated:function(){return 0!=(4&v)},getCommentDirectives:function(){return h},getNumericLiteralFlags:function(){return 1008&v},getTokenFlags:function(){return v},reScanGreaterToken:function(){if(31===m){if(62===D.charCodeAt(l))return 62===D.charCodeAt(l+1)?61===D.charCodeAt(l+2)?(l+=3,m=71):(l+=2,m=49):61===D.charCodeAt(l+1)?(l+=2,m=70):(l++,m=48);if(61===D.charCodeAt(l))return l++,m=33}return m},reScanAsteriskEqualsToken:function(){return e.Debug.assert(65===m,"'reScanAsteriskEqualsToken' should only be called on a '*='"),l=g+1,m=62},reScanSlashToken:function(){if(43===m||67===m){for(var r=g+1,n=!1,i=!1;;){if(r>=d){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}var a=D.charCodeAt(r);if(T(a)){v|=4,S(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=!1;else{if(47===a&&!i){r++;break}91===a?i=!0:92===a?n=!0:93===a&&(i=!1)}r++}for(;r=d)return m=1;var e=U(D,l);switch(l+=V(e),e){case 9:case 11:case 12:case 32:for(;l=0&&K(r,t))return l+=3,v|=8,y=X()+Z(),m=ee();var n=Q();return n>=0&&K(n,t)?(l+=6,v|=1024,y=String.fromCharCode(n)+Z(),m=ee()):(l++,m=0)}if(K(e,t)){for(var i=e;l=65&&s<=70)s+=32;else if(!(s>=48&&s<=57||s>=97&&s<=102))break;i.push(s),l++,o=!1}}return i.length=d){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}var a=D.charCodeAt(l);if(a===r){n+=D.substring(i,l),l++;break}if(92!==a||t){if(T(a)&&!t){n+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_string_literal);break}l++}else n+=D.substring(i,l),n+=G(),i=l}return n}function H(t){for(var r,n=96===D.charCodeAt(l),i=++l,a="";;){if(l>=d){a+=D.substring(i,l),v|=4,S(e.Diagnostics.Unterminated_template_literal),r=n?14:17;break}var o=D.charCodeAt(l);if(96===o){a+=D.substring(i,l),l++,r=n?14:17;break}if(36===o&&l+1=d)return S(e.Diagnostics.Unexpected_end_of_text),"";var n=D.charCodeAt(l);switch(l++,n){case 48:return t&&l=0?String.fromCharCode(r):(S(e.Diagnostics.Hexadecimal_digit_expected),"")}function X(){var t=j(1,!1),r=t?parseInt(t,16):-1,n=!1;return r<0?(S(e.Diagnostics.Hexadecimal_digit_expected),n=!0):r>1114111&&(S(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),n=!0),l>=d?(S(e.Diagnostics.Unexpected_end_of_text),n=!0):125===D.charCodeAt(l)?l++:(S(e.Diagnostics.Unterminated_Unicode_escape_sequence),n=!0),n?"":W(r)}function Q(){if(l+5=2&&117===U(D,l+1)&&123===U(D,l+2)){var e=l;l+=3;var r=j(1,!1),n=r?parseInt(r,16):-1;return l=e,n}return-1}function Z(){for(var e="",r=l;l=0&&z(n,t)){l+=3,v|=8,e+=X(),r=l;continue}if(!((n=Q())>=0&&z(n,t)))break;v|=1024,e+=D.substring(r,l),e+=W(n),r=l+=6}}return e+=D.substring(r,l)}function ee(){var e=y.length;if(e>=2&&e<=12){var t=y.charCodeAt(0);if(t>=97&&t<=122){var r=a.get(y);if(void 0!==r)return m=r}}return m=78}function te(t){for(var r="",n=!1,i=!1;;){var a=D.charCodeAt(l);if(95!==a){if(n=!0,!k(a)||a-48>=t)break;r+=D[l],l++,i=!1}else v|=512,n?(n=!1,i=!0):S(i?e.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted:e.Diagnostics.Numeric_separators_are_not_allowed_here,l,1),l++}return 95===D.charCodeAt(l-1)&&S(e.Diagnostics.Numeric_separators_are_not_allowed_here,l-1,1),r}function re(){if(110===D.charCodeAt(l))return y+="n",384&v&&(y=e.parsePseudoBigInt(y)+"n"),l++,9;var t=128&v?parseInt(y.slice(2),2):256&v?parseInt(y.slice(2),8):+y;return y=""+t,8}function ne(){var r;_=l,v=0;for(var a=!1;;){if(g=l,l>=d)return m=1;var o=U(D,l);if(35===o&&0===l&&O(D,l)){if(l=M(D,l),n)continue;return m=6}switch(o){case 10:case 13:if(v|=1,n){l++;continue}return 13===o&&l+1=0&&K(b,t))return l+=3,v|=8,y=X()+Z(),m=ee();var E=Q();return E>=0&&K(E,t)?(l+=6,v|=1024,y=String.fromCharCode(E)+Z(),m=ee()):(S(e.Diagnostics.Invalid_character),l++,m=0);case 35:if(0!==l&&"!"===D[l+1])return S(e.Diagnostics.can_only_be_used_at_the_start_of_a_file),l++,m=0;if(l++,K(o=D.charCodeAt(l),t)){for(l++;l=d)return m=1;var t=D.charCodeAt(l);if(60===t)return 47===D.charCodeAt(l+1)?(l+=2,m=30):(l++,m=29);if(123===t)return l++,m=18;for(var r=0,n=-1;l0&&n++,T(t)&&0===r?r=-1:E(t)||(r=l),l++}var i=-1===n?l:n;return y=D.substring(_,i),-1===r?12:11}function oe(){switch(_=l,D.charCodeAt(l)){case 34:case 39:return y=q(!0),m=10;default:return ne()}}function se(e,t){var r=l,n=_,i=g,a=m,o=y,s=v,c=e();return c&&!t||(l=r,_=n,g=i,m=a,y=o,v=s),c}function ce(e,t,r){D=e||"",d=void 0===r?D.length:t+r,ue(t||0)}function ue(t){e.Debug.assert(t>=0),l=t,_=t,g=t,m=0,y=void 0,v=0}};var U=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){var r=e.length;if(!(t<0||t>=r)){var n=e.charCodeAt(t);if(n>=55296&&n<=56319&&r>t+1){var i=e.charCodeAt(t+1);if(i>=56320&&i<=57343)return 1024*(n-55296)+i-56320+65536}return n}};function V(e){return e>=65536?2:1}var q=String.fromCodePoint?function(e){return String.fromCodePoint(e)}:function(t){if(e.Debug.assert(0<=t&&t<=1114111),t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296,n=(t-65536)%1024+56320;return String.fromCharCode(r,n)};function W(e){return q(e)}e.utf16EncodeAsString=W}(u||(u={})),function(e){function t(e){return e.start+e.length}function r(e){return 0===e.length}function n(e,t){var r=a(e,t);return r&&0===r.length?void 0:r}function i(e,t,r,n){return r<=e+t&&r+n>=e}function a(e,r){var n=Math.max(e.start,r.start),i=Math.min(t(e),t(r));return n<=i?s(n,i):void 0}function o(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function s(e,t){return o(e,t-e)}function c(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function u(t){return!!X(t)&&e.every(t.elements,l)}function l(t){return!!e.isOmittedExpression(t)||u(t.name)}function d(t){for(var r=t.parent;e.isBindingElement(r.parent);)r=r.parent.parent;return r.parent}function _(t,r){e.isBindingElement(t)&&(t=d(t));var n=r(t);return 249===t.kind&&(t=t.parent),t&&250===t.kind&&(n|=r(t),t=t.parent),t&&232===t.kind&&(n|=r(t)),n}function p(e){return 0==(8&e.flags)}function f(e){var t=e;return t.length>=3&&95===t.charCodeAt(0)&&95===t.charCodeAt(1)&&95===t.charCodeAt(2)?t.substr(1):t}function g(e){return f(e.escapedText)}function m(t){var r=t.parent.parent;if(r){if(ae(r))return y(r);switch(r.kind){case 232:if(r.declarationList&&r.declarationList.declarations[0])return y(r.declarationList.declarations[0]);break;case 233:var n=r.expression;switch(216===n.kind&&62===n.operatorToken.kind&&(n=n.left),n.kind){case 201:return n.name;case 202:var i=n.argumentExpression;if(e.isIdentifier(i))return i}break;case 207:return y(r.expression);case 245:if(ae(r.statement)||te(r.statement))return y(r.statement)}}}function y(t){var r=x(t);return r&&e.isIdentifier(r)?r:void 0}function v(e){return e.name||m(e)}function h(e){return!!e.name}function D(t){switch(t.kind){case 78:return t;case 333:case 326:var r=t.name;if(157===r.kind)return r.right;break;case 203:case 216:var n=t;switch(e.getAssignmentDeclarationKind(n)){case 1:case 4:case 5:case 3:return e.getElementOrPropertyAccessArgumentExpressionOrName(n.left);case 7:case 8:case 9:return n.arguments[1];default:return}case 331:return v(t);case 325:return m(t);case 266:var i=t.expression;return e.isIdentifier(i)?i:void 0;case 202:var a=t;if(e.isBindableStaticElementAccessExpression(a))return a.argumentExpression}return t.name}function x(t){if(void 0!==t)return D(t)||(e.isFunctionExpression(t)||e.isClassExpression(t)?b(t):void 0)}function b(t){if(t.parent){if(e.isPropertyAssignment(t.parent)||e.isBindingElement(t.parent))return t.parent.name;if(e.isBinaryExpression(t.parent)&&t===t.parent.right){if(e.isIdentifier(t.parent.left))return t.parent.left;if(e.isAccessExpression(t.parent.left))return e.getElementOrPropertyAccessArgumentExpressionOrName(t.parent.left)}else if(e.isVariableDeclaration(t.parent)&&e.isIdentifier(t.parent.name))return t.parent.name}}function S(t,r){if(t.name){if(e.isIdentifier(t.name)){var n=t.name.escapedText;return F(t.parent,r).filter((function(t){return e.isJSDocParameterTag(t)&&e.isIdentifier(t.name)&&t.name.escapedText===n}))}var i=t.parent.parameters.indexOf(t);e.Debug.assert(i>-1,"Parameters should always be in their parents' parameter list");var a=F(t.parent,r).filter(e.isJSDocParameterTag);if(i=157}function B(e){return 8<=e&&e<=14}function j(e){return 14<=e&&e<=17}function J(t){return e.isPropertyDeclaration(t)&&e.isPrivateIdentifier(t.name)}function K(e){switch(e){case 125:case 129:case 84:case 133:case 87:case 92:case 122:case 120:case 121:case 142:case 123:return!0}return!1}function z(t){return!!(92&e.modifierToFlag(t))}function U(e){return e&&q(e.kind)}function V(e){switch(e){case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return!1}}function q(e){switch(e){case 164:case 169:case 313:case 170:case 171:case 174:case 308:case 175:return!0;default:return V(e)}}function W(e){var t=e.kind;return 166===t||163===t||165===t||167===t||168===t||171===t||229===t}function H(e){return e&&(252===e.kind||221===e.kind)}function G(e){var t=e.kind;return 170===t||169===t||162===t||164===t||171===t}function Y(e){var t=e.kind;return 288===t||289===t||290===t||165===t||167===t||168===t}function X(e){if(e){var t=e.kind;return 197===t||196===t}return!1}function Q(e){switch(e.kind){case 196:case 200:return!0}return!1}function $(e){switch(e.kind){case 197:case 199:return!0}return!1}function Z(e){switch(e){case 201:case 202:case 204:case 203:case 273:case 274:case 277:case 205:case 199:case 207:case 200:case 221:case 208:case 78:case 13:case 8:case 9:case 10:case 14:case 218:case 94:case 103:case 107:case 109:case 105:case 225:case 226:case 99:return!0;default:return!1}}function ee(e){switch(e){case 214:case 215:case 210:case 211:case 212:case 213:case 206:return!0;default:return Z(e)}}function te(e){return function(e){switch(e){case 217:case 219:case 209:case 216:case 220:case 224:case 222:case 337:case 336:return!0;default:return ee(e)}}(M(e).kind)}function re(t){return e.isExportAssignment(t)||e.isExportDeclaration(t)}function ne(e){return 251===e||271===e||252===e||253===e||254===e||255===e||256===e||261===e||260===e||267===e||266===e||259===e}function ie(e){return 241===e||240===e||248===e||235===e||233===e||231===e||238===e||239===e||237===e||234===e||245===e||242===e||244===e||246===e||247===e||232===e||236===e||243===e||335===e||339===e||338===e}function ae(t){return 159===t.kind?t.parent&&330!==t.parent.kind||e.isInJSFile(t):209===(r=t.kind)||198===r||252===r||221===r||166===r||255===r||291===r||270===r||251===r||208===r||167===r||262===r||260===r||265===r||253===r||280===r||165===r||164===r||256===r||259===r||263===r||269===r||160===r||288===r||163===r||162===r||168===r||289===r||254===r||159===r||249===r||331===r||324===r||333===r;var r}function oe(e){return e.kind>=314&&e.kind<=333}e.isExternalModuleNameRelative=function(t){return e.pathIsRelative(t)||e.isRootedDiskPath(t)},e.sortAndDeduplicateDiagnostics=function(t){return e.sortAndDeduplicate(t,e.compareDiagnostics)},e.getDefaultLibFileName=function(e){switch(e.target){case 99:return"lib.esnext.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}},e.textSpanEnd=t,e.textSpanIsEmpty=r,e.textSpanContainsPosition=function(e,r){return r>=e.start&&r=e.pos&&t<=e.end},e.textSpanContainsTextSpan=function(e,r){return r.start>=e.start&&t(r)<=t(e)},e.textSpanOverlapsWith=function(e,t){return void 0!==n(e,t)},e.textSpanOverlap=n,e.textSpanIntersectsWithTextSpan=function(e,t){return i(e.start,e.length,t.start,t.length)},e.textSpanIntersectsWith=function(e,t,r){return i(e.start,e.length,t,r)},e.decodedTextSpanIntersectsWith=i,e.textSpanIntersectsWithPosition=function(e,r){return r<=t(e)&&r>=e.start},e.textSpanIntersection=a,e.createTextSpan=o,e.createTextSpanFromBounds=s,e.textChangeRangeNewSpan=function(e){return o(e.span.start,e.newLength)},e.textChangeRangeIsUnchanged=function(e){return r(e.span)&&0===e.newLength},e.createTextChangeRange=c,e.unchangedTextChangeRange=c(o(0,0),0),e.collapseTextChangeRangesAcrossMultipleVersions=function(r){if(0===r.length)return e.unchangedTextChangeRange;if(1===r.length)return r[0];for(var n=r[0],i=n.span.start,a=t(n.span),o=i+n.newLength,u=1;u=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e},e.unescapeLeadingUnderscores=f,e.idText=g,e.symbolName=function(e){return e.valueDeclaration&&J(e.valueDeclaration)?g(e.valueDeclaration.name):f(e.escapedName)},e.nodeHasName=function t(r,n){return!(!h(r)||!e.isIdentifier(r.name)||g(r.name)!==g(n))||!(!e.isVariableStatement(r)||!e.some(r.declarationList.declarations,(function(e){return t(e,n)})))},e.getNameOfJSDocTypedef=v,e.isNamedDeclaration=h,e.getNonAssignedNameOfDeclaration=D,e.getNameOfDeclaration=x,e.getAssignedName=b,e.getJSDocParameterTags=E,e.getJSDocParameterTagsNoCache=function(e){return S(e,!0)},e.getJSDocTypeParameterTags=function(e){return C(e,!1)},e.getJSDocTypeParameterTagsNoCache=function(e){return C(e,!0)},e.hasJSDocParameterTags=function(t){return!!P(t,e.isJSDocParameterTag)},e.getJSDocAugmentsTag=function(t){return P(t,e.isJSDocAugmentsTag)},e.getJSDocImplementsTags=function(t){return w(t,e.isJSDocImplementsTag)},e.getJSDocClassTag=function(t){return P(t,e.isJSDocClassTag)},e.getJSDocPublicTag=function(t){return P(t,e.isJSDocPublicTag)},e.getJSDocPublicTagNoCache=function(t){return P(t,e.isJSDocPublicTag,!0)},e.getJSDocPrivateTag=function(t){return P(t,e.isJSDocPrivateTag)},e.getJSDocPrivateTagNoCache=function(t){return P(t,e.isJSDocPrivateTag,!0)},e.getJSDocProtectedTag=function(t){return P(t,e.isJSDocProtectedTag)},e.getJSDocProtectedTagNoCache=function(t){return P(t,e.isJSDocProtectedTag,!0)},e.getJSDocReadonlyTag=function(t){return P(t,e.isJSDocReadonlyTag)},e.getJSDocReadonlyTagNoCache=function(t){return P(t,e.isJSDocReadonlyTag,!0)},e.getJSDocDeprecatedTag=function(t){return P(t,e.isJSDocDeprecatedTag)},e.getJSDocDeprecatedTagNoCache=function(t){return P(t,e.isJSDocDeprecatedTag,!0)},e.getJSDocEnumTag=function(t){return P(t,e.isJSDocEnumTag)},e.getJSDocThisTag=function(t){return P(t,e.isJSDocThisTag)},e.getJSDocReturnTag=T,e.getJSDocTemplateTag=function(t){return P(t,e.isJSDocTemplateTag)},e.getJSDocTypeTag=k,e.getJSDocType=A,e.getJSDocReturnType=function(t){var r=T(t);if(r&&r.typeExpression)return r.typeExpression.type;var n=k(t);if(n&&n.typeExpression){var i=n.typeExpression.type;if(e.isTypeLiteralNode(i)){var a=e.find(i.members,e.isCallSignatureDeclaration);return a&&a.type}if(e.isFunctionTypeNode(i)||e.isJSDocFunctionType(i))return i.type}},e.getJSDocTags=N,e.getJSDocTagsNoCache=function(e){return F(e,!0)},e.getAllJSDocTags=w,e.getAllJSDocTagsOfKind=function(e,t){return N(e).filter((function(e){return e.kind===t}))},e.getEffectiveTypeParameterDeclarations=function(t){if(e.isJSDocSignature(t))return e.emptyArray;if(e.isJSDocTypeAlias(t))return e.Debug.assert(311===t.parent.kind),e.flatMap(t.parent.tags,(function(t){return e.isJSDocTemplateTag(t)?t.typeParameters:void 0}));if(t.typeParameters)return t.typeParameters;if(e.isInJSFile(t)){var r=e.getJSDocTypeParameterDeclarations(t);if(r.length)return r;var n=A(t);if(n&&e.isFunctionTypeNode(n)&&n.typeParameters)return n.typeParameters}return e.emptyArray},e.getEffectiveConstraintOfTypeParameter=function(t){return t.constraint?t.constraint:e.isJSDocTemplateTag(t.parent)&&t===t.parent.typeParameters[0]?t.parent.constraint:void 0},e.isIdentifierOrPrivateIdentifier=function(e){return 78===e.kind||79===e.kind},e.isGetOrSetAccessorDeclaration=function(e){return 168===e.kind||167===e.kind},e.isPropertyAccessChain=function(t){return e.isPropertyAccessExpression(t)&&!!(32&t.flags)},e.isElementAccessChain=function(t){return e.isElementAccessExpression(t)&&!!(32&t.flags)},e.isCallChain=function(t){return e.isCallExpression(t)&&!!(32&t.flags)},e.isOptionalChain=I,e.isOptionalChainRoot=O,e.isExpressionOfOptionalChainRoot=function(e){return O(e.parent)&&e.parent.expression===e},e.isOutermostOptionalChain=function(e){return!I(e.parent)||O(e.parent)||e!==e.parent.expression},e.isNullishCoalesce=function(e){return 216===e.kind&&60===e.operatorToken.kind},e.isConstTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"const"===t.typeName.escapedText&&!t.typeArguments},e.skipPartiallyEmittedExpressions=M,e.isNonNullChain=function(t){return e.isNonNullExpression(t)&&!!(32&t.flags)},e.isBreakOrContinueStatement=function(e){return 241===e.kind||240===e.kind},e.isNamedExportBindings=function(e){return 269===e.kind||268===e.kind},e.isUnparsedTextLike=L,e.isUnparsedNode=function(e){return L(e)||292===e.kind||296===e.kind},e.isJSDocPropertyLikeTag=function(e){return 333===e.kind||326===e.kind},e.isNode=function(e){return R(e.kind)},e.isNodeKind=R,e.isToken=function(e){return e.kind>=0&&e.kind<=156},e.isNodeArray=function(e){return e.hasOwnProperty("pos")&&e.hasOwnProperty("end")},e.isLiteralKind=B,e.isLiteralExpression=function(e){return B(e.kind)},e.isTemplateLiteralKind=j,e.isTemplateLiteralToken=function(e){return j(e.kind)},e.isTemplateMiddleOrTemplateTail=function(e){var t=e.kind;return 16===t||17===t},e.isImportOrExportSpecifier=function(t){return e.isImportSpecifier(t)||e.isExportSpecifier(t)},e.isTypeOnlyImportOrExportDeclaration=function(e){switch(e.kind){case 265:case 270:return e.parent.parent.isTypeOnly;case 263:return e.parent.isTypeOnly;case 262:return e.isTypeOnly;default:return!1}},e.isStringTextContainingNode=function(e){return 10===e.kind||j(e.kind)},e.isGeneratedIdentifier=function(t){return e.isIdentifier(t)&&(7&t.autoGenerateFlags)>0},e.isPrivateIdentifierPropertyDeclaration=J,e.isPrivateIdentifierPropertyAccessExpression=function(t){return e.isPropertyAccessExpression(t)&&e.isPrivateIdentifier(t.name)},e.isModifierKind=K,e.isParameterPropertyModifier=z,e.isClassMemberModifier=function(e){return z(e)||123===e},e.isModifier=function(e){return K(e.kind)},e.isEntityName=function(e){var t=e.kind;return 157===t||78===t},e.isPropertyName=function(e){var t=e.kind;return 78===t||79===t||10===t||8===t||158===t},e.isBindingName=function(e){var t=e.kind;return 78===t||196===t||197===t},e.isFunctionLike=U,e.isFunctionLikeDeclaration=function(e){return e&&V(e.kind)},e.isFunctionLikeKind=q,e.isFunctionOrModuleBlock=function(t){return e.isSourceFile(t)||e.isModuleBlock(t)||e.isBlock(t)&&U(t.parent)},e.isClassElement=W,e.isClassLike=H,e.isAccessor=function(e){return e&&(167===e.kind||168===e.kind)},e.isMethodOrAccessor=function(e){switch(e.kind){case 165:case 167:case 168:return!0;default:return!1}},e.isTypeElement=G,e.isClassOrTypeElement=function(e){return G(e)||W(e)},e.isObjectLiteralElementLike=Y,e.isTypeNode=function(t){return e.isTypeNodeKind(t.kind)},e.isFunctionOrConstructorTypeNode=function(e){switch(e.kind){case 174:case 175:return!0}return!1},e.isBindingPattern=X,e.isAssignmentPattern=function(e){var t=e.kind;return 199===t||200===t},e.isArrayBindingElement=function(e){var t=e.kind;return 198===t||222===t},e.isDeclarationBindingElement=function(e){switch(e.kind){case 249:case 160:case 198:return!0}return!1},e.isBindingOrAssignmentPattern=function(e){return Q(e)||$(e)},e.isObjectBindingOrAssignmentPattern=Q,e.isArrayBindingOrAssignmentPattern=$,e.isPropertyAccessOrQualifiedNameOrImportTypeNode=function(e){var t=e.kind;return 201===t||157===t||195===t},e.isPropertyAccessOrQualifiedName=function(e){var t=e.kind;return 201===t||157===t},e.isCallLikeExpression=function(e){switch(e.kind){case 275:case 274:case 203:case 204:case 205:case 161:return!0;default:return!1}},e.isCallOrNewExpression=function(e){return 203===e.kind||204===e.kind},e.isTemplateLiteral=function(e){var t=e.kind;return 218===t||14===t},e.isLeftHandSideExpression=function(e){return Z(M(e).kind)},e.isUnaryExpression=function(e){return ee(M(e).kind)},e.isUnaryExpressionWithWrite=function(e){switch(e.kind){case 215:return!0;case 214:return 45===e.operator||46===e.operator;default:return!1}},e.isExpression=te,e.isAssertionExpression=function(e){var t=e.kind;return 206===t||224===t},e.isNotEmittedOrPartiallyEmittedNode=function(t){return e.isNotEmittedStatement(t)||e.isPartiallyEmittedExpression(t)},e.isIterationStatement=function e(t,r){switch(t.kind){case 237:case 238:case 239:case 235:case 236:return!0;case 245:return r&&e(t.statement,r)}return!1},e.isScopeMarker=re,e.hasScopeMarker=function(t){return e.some(t,re)},e.needsScopeMarker=function(t){return!(e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)||e.isAmbientModule(t))},e.isExternalModuleIndicator=function(t){return e.isAnyImportOrReExport(t)||e.isExportAssignment(t)||e.hasSyntacticModifier(t,1)},e.isForInOrOfStatement=function(e){return 238===e.kind||239===e.kind},e.isConciseBody=function(t){return e.isBlock(t)||te(t)},e.isFunctionBody=function(t){return e.isBlock(t)},e.isForInitializer=function(t){return e.isVariableDeclarationList(t)||te(t)},e.isModuleBody=function(e){var t=e.kind;return 257===t||256===t||78===t},e.isNamespaceBody=function(e){var t=e.kind;return 257===t||256===t},e.isJSDocNamespaceBody=function(e){var t=e.kind;return 78===t||256===t},e.isNamedImportBindings=function(e){var t=e.kind;return 264===t||263===t},e.isModuleOrEnumDeclaration=function(e){return 256===e.kind||255===e.kind},e.isDeclaration=ae,e.isDeclarationStatement=function(e){return ne(e.kind)},e.isStatementButNotDeclaration=function(e){return ie(e.kind)},e.isStatement=function(t){var r=t.kind;return ie(r)||ne(r)||function(t){if(230!==t.kind)return!1;if(void 0!==t.parent&&(247===t.parent.kind||287===t.parent.kind))return!1;return!e.isFunctionBlock(t)}(t)},e.isStatementOrBlock=function(e){var t=e.kind;return ie(t)||ne(t)||230===t},e.isModuleReference=function(e){var t=e.kind;return 272===t||157===t||78===t},e.isJsxTagNameExpression=function(e){var t=e.kind;return 107===t||78===t||201===t},e.isJsxChild=function(e){var t=e.kind;return 273===t||283===t||274===t||11===t||277===t},e.isJsxAttributeLike=function(e){var t=e.kind;return 280===t||282===t},e.isStringLiteralOrJsxExpression=function(e){var t=e.kind;return 10===t||283===t},e.isJsxOpeningLikeElement=function(e){var t=e.kind;return 275===t||274===t},e.isCaseOrDefaultClause=function(e){var t=e.kind;return 284===t||285===t},e.isJSDocNode=function(e){return e.kind>=301&&e.kind<=333},e.isJSDocCommentContainingNode=function(t){return 311===t.kind||310===t.kind||oe(t)||e.isJSDocTypeLiteral(t)||e.isJSDocSignature(t)},e.isJSDocTag=oe,e.isSetAccessor=function(e){return 168===e.kind},e.isGetAccessor=function(e){return 167===e.kind},e.hasJSDocNodes=function(e){var t=e.jsDoc;return!!t&&t.length>0},e.hasType=function(e){return!!e.type},e.hasInitializer=function(e){return!!e.initializer},e.hasOnlyExpressionInitializer=function(e){switch(e.kind){case 249:case 160:case 198:case 162:case 163:case 288:case 291:return!0;default:return!1}},e.isObjectLiteralElement=function(e){return 280===e.kind||282===e.kind||Y(e)},e.isTypeReferenceType=function(e){return 173===e.kind||223===e.kind};var se=1073741823;e.guessIndentation=function(t){for(var r=se,n=0,i=t;n=0);var n=e.getLineStarts(r),i=t,a=r.text;if(i+1===n.length)return a.length-1;var o=n[i],s=n[i+1]-1;for(e.Debug.assert(e.isLineBreak(a.charCodeAt(s)));o<=s&&e.isLineBreak(a.charCodeAt(s));)s--;return s}function d(e){return void 0===e||e.pos===e.end&&e.pos>=0&&1!==e.kind}function _(e){return!d(e)}function p(e,t,n){if(void 0===t||0===t.length)return e;for(var i=0;i0?y(t._children[0],r,n):e.skipTrivia((r||u(t)).text,t.pos)}function v(e,t,r){return void 0===r&&(r=!1),h(e.text,t,r)}function h(t,r,n){if(void 0===n&&(n=!1),d(r))return"";var i=t.substring(n?r.pos:e.skipTrivia(t,r.pos),r.end);return function(t){return!!e.findAncestor(t,e.isJSDocTypeExpression)}(r)&&(i=i.replace(/(^|\r?\n|\r)\s*\*\s*/g,"$1")),i}function D(e,t){return void 0===t&&(t=!1),v(u(e),e,t)}function x(e){return e.pos}function b(e){var t=e.emitNode;return t&&t.flags||0}function S(e){var t=mt(e);return 249===t.kind&&287===t.parent.kind}function E(t){return e.isModuleDeclaration(t)&&(10===t.name.kind||T(t))}function C(t){return e.isModuleDeclaration(t)||e.isIdentifier(t)}function T(e){return!!(1024&e.flags)}function k(e){return E(e)&&A(e)}function A(t){switch(t.parent.kind){case 297:return e.isExternalModule(t.parent);case 257:return E(t.parent.parent)&&e.isSourceFile(t.parent.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return!1}function F(t,r){switch(t.kind){case 297:case 258:case 287:case 256:case 237:case 238:case 239:case 166:case 165:case 167:case 168:case 251:case 208:case 209:return!0;case 230:return!e.isFunctionLike(r)}return!1}function N(t){switch(t.kind){case 169:case 170:case 164:case 171:case 174:case 175:case 308:case 252:case 221:case 253:case 254:case 330:case 251:case 165:case 166:case 167:case 168:case 208:case 209:return!0;default:return e.assertType(t),!1}}function P(e){switch(e.kind){case 261:case 260:return!0;default:return!1}}function w(e){return e&&0!==s(e)?D(e):"(Missing)"}function I(t){switch(t.kind){case 78:case 79:return t.escapedText;case 10:case 8:case 14:return e.escapeLeadingUnderscores(t.text);case 158:return ot(t.expression)?e.escapeLeadingUnderscores(t.expression.text):e.Debug.fail("Text of property name cannot be read from non-literal-valued ComputedPropertyNames");default:return e.Debug.assertNever(t)}}function O(t){switch(t.kind){case 107:return"this";case 79:case 78:return 0===s(t)?e.idText(t):D(t);case 157:return O(t.left)+"."+O(t.right);case 201:return e.isIdentifier(t.name)||e.isPrivateIdentifier(t.name)?O(t.expression)+"."+O(t.name):e.Debug.assertNever(t.name);default:return e.Debug.assertNever(t)}}function M(e,t,r,n,i,a,o){var s=R(e,t);return nn(e,s.start,s.length,r,n,i,a,o)}function L(t,r){var n=e.createScanner(t.languageVersion,!0,t.languageVariant,t.text,void 0,r);n.scan();var i=n.getTokenPos();return e.createTextSpanFromBounds(i,n.getTextPos())}function R(t,r){var n=r;switch(r.kind){case 297:var i=e.skipTrivia(t.text,0,!1);return i===t.text.length?e.createTextSpan(0,0):L(t,i);case 249:case 198:case 252:case 221:case 253:case 256:case 255:case 291:case 251:case 208:case 165:case 167:case 168:case 254:case 163:case 162:n=r.name;break;case 209:return function(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&230===r.body.kind){var i=e.getLineAndCharacterOfPosition(t,r.body.pos).line;if(i0?r.statements[0].pos:r.end;return e.createTextSpanFromBounds(a,o)}if(void 0===n)return L(t,r.pos);e.Debug.assert(!e.isJSDoc(n));var s=d(n),c=s||e.isJsxText(r)?n.pos:e.skipTrivia(t.text,n.pos);return s?(e.Debug.assert(c===n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c===n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(e.Debug.assert(c>=n.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),e.Debug.assert(c<=n.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),e.createTextSpanFromBounds(c,n.end)}function B(e){return 6===e.scriptKind}function j(t){return!!(2&e.getCombinedNodeFlags(t))}function J(e){return 203===e.kind&&99===e.expression.kind}function K(t){return e.isImportTypeNode(t)&&e.isLiteralTypeNode(t.argument)&&e.isStringLiteral(t.argument.literal)}function z(e){return 233===e.kind&&10===e.expression.kind}function U(e){return!!(1048576&b(e))}function V(t){return e.isIdentifier(t.name)&&!t.initializer}e.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||o(e,t)},e.optionsHaveModuleResolutionChanges=o,e.forEachAncestor=function(t,r){for(;;){var n=r(t);if("quit"===n)return;if(void 0!==n)return n;if(e.isSourceFile(t))return;t=t.parent}},e.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},e.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},e.copyEntries=function(e,t){e.forEach((function(e,r){t.set(r,e)}))},e.usingSingleLineStringWriter=function(e){var t=a.getText();try{return e(a),a.getText()}finally{a.clear(),a.writeKeyword(t)}},e.getFullWidth=s,e.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},e.setResolvedModule=function(t,r,n){t.resolvedModules||(t.resolvedModules=new e.Map),t.resolvedModules.set(r,n)},e.setResolvedTypeReferenceDirective=function(t,r,n){t.resolvedTypeReferenceDirectiveNames||(t.resolvedTypeReferenceDirectiveNames=new e.Map),t.resolvedTypeReferenceDirectiveNames.set(r,n)},e.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},e.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},e.packageIdToString=function(e){var t=e.name,r=e.subModuleName;return(r?t+"/"+r:t)+"@"+e.version},e.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary},e.hasChangesInResolutions=function(t,r,n,i){e.Debug.assert(t.length===r.length);for(var a=0;a=0),e.getLineStarts(r)[t]},e.nodePosToString=function(t){var r=u(t),n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"},e.getEndLinePosition=l,e.isFileLevelUniqueName=function(e,t,r){return!(r&&r(t)||e.identifiers.has(t))},e.nodeIsMissing=d,e.nodeIsPresent=_,e.insertStatementsAfterStandardPrologue=function(e,t){return p(e,t,z)},e.insertStatementsAfterCustomPrologue=function(e,t){return p(e,t,g)},e.insertStatementAfterStandardPrologue=function(e,t){return f(e,t,z)},e.insertStatementAfterCustomPrologue=function(e,t){return f(e,t,g)},e.isRecognizedTripleSlashComment=function(t,r,n){if(47===t.charCodeAt(r+1)&&r+2=e.ModuleKind.ES2015||!r.noImplicitUseStrict)))},e.isBlockScope=F,e.isDeclarationWithTypeParameters=function(t){switch(t.kind){case 324:case 331:case 313:return!0;default:return e.assertType(t),N(t)}},e.isDeclarationWithTypeParameterChildren=N,e.isAnyImportSyntax=P,e.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 261:case 260:case 232:case 252:case 251:case 256:case 254:case 253:case 255:return!0;default:return!1}},e.isAnyImportOrReExport=function(t){return P(t)||e.isExportDeclaration(t)},e.getEnclosingBlockScopeContainer=function(t){return e.findAncestor(t.parent,(function(e){return F(e,e.parent)}))},e.declarationNameToString=w,e.getNameFromIndexInfo=function(e){return e.declaration?w(e.declaration.parameters[0].name):void 0},e.isComputedNonLiteralName=function(e){return 158===e.kind&&!ot(e.expression)},e.getTextOfPropertyName=I,e.entityNameToString=O,e.createDiagnosticForNode=function(e,t,r,n,i,a){return M(u(e),e,t,r,n,i,a)},e.createDiagnosticForNodeArray=function(t,r,n,i,a,o,s){var c=e.skipTrivia(t.text,r.pos);return nn(t,c,r.end-c,n,i,a,o,s)},e.createDiagnosticForNodeInSourceFile=M,e.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=u(e),i=R(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForFileFromMessageChain=function(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},e.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},e.getSpanOfTokenAtPosition=L,e.getErrorSpanForNode=R,e.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},e.isJsonSourceFile=B,e.isEnumConst=function(t){return!!(2048&e.getCombinedModifierFlags(t))},e.isDeclarationReadonly=function(t){return!(!(64&e.getCombinedModifierFlags(t))||e.isParameterPropertyDeclaration(t,t.parent))},e.isVarConst=j,e.isLet=function(t){return!!(1&e.getCombinedNodeFlags(t))},e.isSuperCall=function(e){return 203===e.kind&&105===e.expression.kind},e.isImportCall=J,e.isImportMeta=function(t){return e.isMetaProperty(t)&&99===t.keywordToken&&"meta"===t.name.escapedText},e.isLiteralImportTypeNode=K,e.isPrologueDirective=z,e.isCustomPrologue=U,e.isHoistedFunction=function(t){return U(t)&&e.isFunctionDeclaration(t)},e.isHoistedVariableStatement=function(t){return U(t)&&e.isVariableStatement(t)&&e.every(t.declarationList.declarations,V)},e.getLeadingCommentRangesOfNode=function(t,r){return 11!==t.kind?e.getLeadingCommentRanges(r.text,t.pos):void 0},e.getJSDocCommentRanges=function(t,r){var n=160===t.kind||159===t.kind||208===t.kind||209===t.kind||207===t.kind?e.concatenate(e.getTrailingCommentRanges(r,t.pos),e.getLeadingCommentRanges(r,t.pos)):e.getLeadingCommentRanges(r,t.pos);return e.filter(n,(function(e){return 42===r.charCodeAt(e.pos+1)&&42===r.charCodeAt(e.pos+2)&&47!==r.charCodeAt(e.pos+3)}))},e.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var q=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var W=/^(\/\/\/\s*/;function H(t){if(172<=t.kind&&t.kind<=195)return!0;switch(t.kind){case 128:case 152:case 144:case 155:case 147:case 131:case 148:case 145:case 150:case 141:return!0;case 113:return 212!==t.parent.kind;case 223:return!Er(t);case 159:return 190===t.parent.kind||185===t.parent.kind;case 78:(157===t.parent.kind&&t.parent.right===t||201===t.parent.kind&&t.parent.name===t)&&(t=t.parent),e.Debug.assert(78===t.kind||157===t.kind||201===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 157:case 201:case 107:var r=t.parent;if(176===r.kind)return!1;if(195===r.kind)return!r.isTypeOf;if(172<=r.kind&&r.kind<=195)return!0;switch(r.kind){case 223:return!Er(r);case 159:case 330:return t===r.constraint;case 163:case 162:case 160:case 249:return t===r.type;case 251:case 208:case 209:case 166:case 165:case 164:case 167:case 168:return t===r.type;case 169:case 170:case 171:case 206:return t===r.type;case 203:case 204:return e.contains(r.typeArguments,t);case 205:return!1}}return!1}function G(e){if(e)switch(e.kind){case 198:case 291:case 160:case 288:case 163:case 162:case 289:case 249:return!0}return!1}function Y(e){return 250===e.parent.kind&&232===e.parent.parent.kind}function X(e,t,r){return e.properties.filter((function(e){if(288===e.kind){var n=I(e.name);return t===n||!!r&&r===n}return!1}))}function Q(t){if(t&&t.statements.length){var r=t.statements[0].expression;return e.tryCast(r,e.isObjectLiteralExpression)}}function $(t,r){var n=Q(t);return n?X(n,r):e.emptyArray}function Z(t,r){for(e.Debug.assert(297!==t.kind);;){if(!(t=t.parent))return e.Debug.fail();switch(t.kind){case 158:if(e.isClassLike(t.parent.parent))return t;t=t.parent;break;case 161:160===t.parent.kind&&e.isClassElement(t.parent.parent)?t=t.parent.parent:e.isClassElement(t.parent)&&(t=t.parent);break;case 209:if(!r)continue;case 251:case 208:case 256:case 163:case 162:case 165:case 164:case 166:case 167:case 168:case 169:case 170:case 171:case 255:case 297:return t}}}function ee(e){var t=e.kind;return(201===t||202===t)&&105===e.expression.kind}function te(t,r,n){if(e.isNamedDeclaration(t)&&e.isPrivateIdentifier(t.name))return!1;switch(t.kind){case 252:return!0;case 163:return 252===r.kind;case 167:case 168:case 165:return void 0!==t.body&&252===r.kind;case 160:return void 0!==r.body&&(166===r.kind||165===r.kind||168===r.kind)&&252===n.kind}return!1}function re(e,t,r){return void 0!==e.decorators&&te(e,t,r)}function ne(e,t,r){return re(e,t,r)||ie(e,t)}function ie(t,r){switch(t.kind){case 252:return e.some(t.members,(function(e){return ne(e,t,r)}));case 165:case 168:return e.some(t.parameters,(function(e){return re(e,t,r)}));default:return!1}}function ae(e){var t=e.parent;return(275===t.kind||274===t.kind||276===t.kind)&&t.tagName===e}function oe(e){switch(e.kind){case 105:case 103:case 109:case 94:case 13:case 199:case 200:case 201:case 202:case 203:case 204:case 205:case 224:case 206:case 225:case 207:case 208:case 221:case 209:case 212:case 210:case 211:case 214:case 215:case 216:case 217:case 220:case 218:case 222:case 273:case 274:case 277:case 219:case 213:case 226:return!0;case 157:for(;157===e.parent.kind;)e=e.parent;return 176===e.parent.kind||ae(e);case 78:if(176===e.parent.kind||ae(e))return!0;case 8:case 9:case 10:case 14:case 107:return se(e);default:return!1}}function se(e){var t=e.parent;switch(t.kind){case 249:case 160:case 163:case 162:case 291:case 288:case 198:return t.initializer===e;case 233:case 234:case 235:case 236:case 242:case 243:case 244:case 284:case 246:return t.expression===e;case 237:var r=t;return r.initializer===e&&250!==r.initializer.kind||r.condition===e||r.incrementor===e;case 238:case 239:var n=t;return n.initializer===e&&250!==n.initializer.kind||n.expression===e;case 206:case 224:case 228:case 158:return e===t.expression;case 161:case 283:case 282:case 290:return!0;case 223:return t.expression===e&&Er(t);case 289:return t.objectAssignmentInitializer===e;default:return oe(t)}}function ce(e){for(;157===e.kind||78===e.kind;)e=e.parent;return 176===e.kind}function ue(e){return 260===e.kind&&272===e.moduleReference.kind}function le(e){return de(e)}function de(e){return!!e&&!!(131072&e.flags)}function _e(t,r){if(203!==t.kind)return!1;var n=t,i=n.expression,a=n.arguments;if(78!==i.kind||"require"!==i.escapedText)return!1;if(1!==a.length)return!1;var o=a[0];return!r||e.isStringLiteralLike(o)}function pe(t,r){return 198===t.kind&&(t=t.parent.parent),e.isVariableDeclaration(t)&&!!t.initializer&&_e(qr(t.initializer),r)}function fe(t){return e.isBinaryExpression(t)||Vr(t)||e.isIdentifier(t)||e.isCallExpression(t)}function ge(t){return de(t)&&t.initializer&&e.isBinaryExpression(t.initializer)&&(56===t.initializer.operatorToken.kind||60===t.initializer.operatorToken.kind)&&t.name&&Cr(t.name)&&ye(t.name,t.initializer.left)?t.initializer.right:t.initializer}function me(t,r){if(e.isCallExpression(t)){var n=Ge(t.expression);return 208===n.kind||209===n.kind?t:void 0}return 208===t.kind||221===t.kind||209===t.kind||e.isObjectLiteralExpression(t)&&(0===t.properties.length||r)?t:void 0}function ye(t,r){if(_t(t)&&_t(r))return pt(t)===pt(r);if(e.isIdentifier(t)&&Ee(r)&&(107===r.expression.kind||e.isIdentifier(r.expression)&&("window"===r.expression.escapedText||"self"===r.expression.escapedText||"global"===r.expression.escapedText))){var n=Fe(r);return e.isPrivateIdentifier(n)&&e.Debug.fail("Unexpected PrivateIdentifier in name expression with literal-like access."),ye(t,n)}return!(!Ee(t)||!Ee(r))&&(Pe(t)===Pe(r)&&ye(t.expression,r.expression))}function ve(e){for(;Sr(e,!0);)e=e.right;return e}function he(t){return e.isIdentifier(t)&&"exports"===t.escapedText}function De(t){return e.isIdentifier(t)&&"module"===t.escapedText}function xe(t){return(e.isPropertyAccessExpression(t)||Ce(t))&&De(t.expression)&&"exports"===Pe(t)}function be(t){var r=function(t){if(e.isCallExpression(t)){if(!Se(t))return 0;var r=t.arguments[0];return he(r)||xe(r)?8:Te(r)&&"prototype"===Pe(r)?9:7}if(62!==t.operatorToken.kind||!Vr(t.left)||function(t){return e.isVoidExpression(t)&&e.isNumericLiteral(t.expression)&&"0"===t.expression.text}(ve(t)))return 0;if(Ae(t.left.expression,!0)&&"prototype"===Pe(t.left)&&e.isObjectLiteralExpression(Ie(t)))return 6;return we(t.left)}(t);return 5===r||de(t)?r:0}function Se(t){return 3===e.length(t.arguments)&&e.isPropertyAccessExpression(t.expression)&&e.isIdentifier(t.expression.expression)&&"Object"===e.idText(t.expression.expression)&&"defineProperty"===e.idText(t.expression.name)&&ot(t.arguments[1])&&Ae(t.arguments[0],!0)}function Ee(t){return e.isPropertyAccessExpression(t)||Ce(t)}function Ce(t){return e.isElementAccessExpression(t)&&(ot(t.argumentExpression)||lt(t.argumentExpression))}function Te(t,r){return e.isPropertyAccessExpression(t)&&(!r&&107===t.expression.kind||e.isIdentifier(t.name)&&Ae(t.expression,!0))||ke(t,r)}function ke(e,t){return Ce(e)&&(!t&&107===e.expression.kind||Cr(e.expression)||Te(e.expression,!0))}function Ae(e,t){return Cr(e)||Te(e,t)}function Fe(t){return e.isPropertyAccessExpression(t)?t.name:t.argumentExpression}function Ne(t){if(e.isPropertyAccessExpression(t))return t.name;var r=Ge(t.argumentExpression);return e.isNumericLiteral(r)||e.isStringLiteralLike(r)?r:t}function Pe(t){var r=Ne(t);if(r){if(e.isIdentifier(r))return r.escapedText;if(e.isStringLiteralLike(r)||e.isNumericLiteral(r))return e.escapeLeadingUnderscores(r.text)}if(e.isElementAccessExpression(t)&<(t.argumentExpression))return ft(e.idText(t.argumentExpression.name))}function we(t){if(107===t.expression.kind)return 4;if(xe(t))return 2;if(Ae(t.expression,!0)){if(kr(t.expression))return 3;for(var r=t;!e.isIdentifier(r.expression);)r=r.expression;var n=r.expression;if(("exports"===n.escapedText||"module"===n.escapedText&&"exports"===Pe(r))&&Te(t))return 1;if(Ae(t,!0)||e.isElementAccessExpression(t)&&ut(t))return 5}return 0}function Ie(t){for(;e.isBinaryExpression(t.right);)t=t.right;return t.right}function Oe(t){switch(t.parent.kind){case 261:case 267:return t.parent;case 272:return t.parent.parent;case 203:return J(t.parent)||_e(t.parent,!1)?t.parent:void 0;case 191:return e.Debug.assert(e.isStringLiteral(t)),e.tryCast(t.parent.parent,e.isImportTypeNode);default:return}}function Me(e){return 331===e.kind||324===e.kind||325===e.kind}function Le(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&0!==be(t.expression)&&e.isBinaryExpression(t.expression.right)&&(56===t.expression.right.operatorToken.kind||60===t.expression.right.operatorToken.kind)?t.expression.right.right:void 0}function Re(e){switch(e.kind){case 232:var t=Be(e);return t&&t.initializer;case 163:case 288:return e.initializer}}function Be(t){return e.isVariableStatement(t)?e.firstOrUndefined(t.declarationList.declarations):void 0}function je(t){return e.isModuleDeclaration(t)&&t.body&&256===t.body.kind?t.body:void 0}function Je(t){var r=t.parent;return 288===r.kind||266===r.kind||163===r.kind||233===r.kind&&201===t.kind||je(r)||e.isBinaryExpression(t)&&62===t.operatorToken.kind?r:r.parent&&(Be(r.parent)===t||e.isBinaryExpression(r)&&62===r.operatorToken.kind)?r.parent:r.parent&&r.parent.parent&&(Be(r.parent.parent)||Re(r.parent.parent)===t||Le(r.parent.parent))?r.parent.parent:void 0}function Ke(t){var r=ze(t);return r&&e.isFunctionLike(r)?r:void 0}function ze(t){var r=Ue(t);return Le(r)||function(t){return e.isExpressionStatement(t)&&e.isBinaryExpression(t.expression)&&62===t.expression.operatorToken.kind?ve(t.expression):void 0}(r)||Re(r)||Be(r)||je(r)||r}function Ue(t){return e.Debug.checkDefined(e.findAncestor(t.parent,e.isJSDoc)).parent}function Ve(t){var r=e.isJSDocParameterTag(t)?t.typeExpression&&t.typeExpression.type:t.type;return void 0!==t.dotDotDotToken||!!r&&309===r.kind}function qe(e){for(var t=e.parent;;){switch(t.kind){case 216:var r=t.operatorToken.kind;return Dr(r)&&t.left===e?62===r||hr(r)?1:2:0;case 214:case 215:var n=t.operator;return 45===n||46===n?2:0;case 238:case 239:return t.initializer===e?1:0;case 207:case 199:case 220:case 225:e=t;break;case 289:if(t.name!==e)return 0;e=t.parent;break;case 288:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function We(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function He(e){return We(e,207)}function Ge(t){return e.skipOuterExpressions(t,1)}function Ye(t){return Cr(t)||e.isClassExpression(t)}function Xe(e){return Ye(Qe(e))}function Qe(t){return e.isExportAssignment(t)?t.expression:t.right}function $e(t){var r=Ze(t);if(r&&de(t)){var n=e.getJSDocAugmentsTag(t);if(n)return n.class}return r}function Ze(e){var t=rt(e.heritageClauses,93);return t&&t.types.length>0?t.types[0]:void 0}function et(t){if(de(t))return e.getJSDocImplementsTags(t).map((function(e){return e.class}));var r=rt(t.heritageClauses,116);return null==r?void 0:r.types}function tt(e){var t=rt(e.heritageClauses,93);return t?t.types:void 0}function rt(e,t){if(e)for(var r=0,n=e;r0&&e.every(t.declarationList.declarations,(function(e){return pe(e,r)}))},e.isSingleOrDoubleQuote=function(e){return 39===e||34===e},e.isStringDoubleQuoted=function(e,t){return 34===v(t,e).charCodeAt(0)},e.isAssignmentDeclaration=fe,e.getEffectiveInitializer=ge,e.getDeclaredExpandoInitializer=function(e){var t=ge(e);return t&&me(t,kr(e.name))},e.getAssignedExpandoInitializer=function(t){if(t&&t.parent&&e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind){var r=kr(t.parent.left);return me(t.parent.right,r)||function(t,r,n){var i=e.isBinaryExpression(r)&&(56===r.operatorToken.kind||60===r.operatorToken.kind)&&me(r.right,n);if(i&&ye(t,r.left))return i}(t.parent.left,t.parent.right,r)}if(t&&e.isCallExpression(t)&&Se(t)){var n=function(t,r){return e.forEach(t.properties,(function(t){return e.isPropertyAssignment(t)&&e.isIdentifier(t.name)&&"value"===t.name.escapedText&&t.initializer&&me(t.initializer,r)}))}(t.arguments[2],"prototype"===t.arguments[1].text);if(n)return n}},e.getExpandoInitializer=me,e.isDefaultedExpandoInitializer=function(t){var r=e.isVariableDeclaration(t.parent)?t.parent.name:e.isBinaryExpression(t.parent)&&62===t.parent.operatorToken.kind?t.parent.left:void 0;return r&&me(t.right,kr(r))&&Cr(r)&&ye(r,t.left)},e.getNameOfExpando=function(t){if(e.isBinaryExpression(t.parent)){var r=56!==t.parent.operatorToken.kind&&60!==t.parent.operatorToken.kind||!e.isBinaryExpression(t.parent.parent)?t.parent:t.parent.parent;if(62===r.operatorToken.kind&&e.isIdentifier(r.left))return r.left}else if(e.isVariableDeclaration(t.parent))return t.parent.name},e.isSameEntityName=ye,e.getRightMostAssignedExpression=ve,e.isExportsIdentifier=he,e.isModuleIdentifier=De,e.isModuleExportsAccessExpression=xe,e.getAssignmentDeclarationKind=be,e.isBindableObjectDefinePropertyCall=Se,e.isLiteralLikeAccess=Ee,e.isLiteralLikeElementAccess=Ce,e.isBindableStaticAccessExpression=Te,e.isBindableStaticElementAccessExpression=ke,e.isBindableStaticNameExpression=Ae,e.getNameOrArgument=Fe,e.getElementOrPropertyAccessArgumentExpressionOrName=Ne,e.getElementOrPropertyAccessName=Pe,e.getAssignmentDeclarationPropertyAccessKind=we,e.getInitializerOfBinaryExpression=Ie,e.isPrototypePropertyAssignment=function(t){return e.isBinaryExpression(t)&&3===be(t)},e.isSpecialPropertyDeclaration=function(t){return de(t)&&t.parent&&233===t.parent.kind&&(!e.isElementAccessExpression(t)||Ce(t))&&!!e.getJSDocTypeTag(t.parent)},e.setValueDeclaration=function(e,t){var r=e.valueDeclaration;(!r||(!(8388608&t.flags)||8388608&r.flags)&&fe(r)&&!fe(t)||r.kind!==t.kind&&C(r))&&(e.valueDeclaration=t)},e.isFunctionSymbol=function(t){if(!t||!t.valueDeclaration)return!1;var r=t.valueDeclaration;return 251===r.kind||e.isVariableDeclaration(r)&&r.initializer&&e.isFunctionLike(r.initializer)},e.importFromModuleSpecifier=function(t){return Oe(t)||e.Debug.failBadSyntaxKind(t.parent)},e.tryGetImportFromModuleSpecifier=Oe,e.getExternalModuleName=function(t){switch(t.kind){case 261:case 267:return t.moduleSpecifier;case 260:return 272===t.moduleReference.kind?t.moduleReference.expression:void 0;case 195:return K(t)?t.argument.literal:void 0;default:return e.Debug.assertNever(t)}},e.getNamespaceDeclarationNode=function(t){switch(t.kind){case 261:return t.importClause&&e.tryCast(t.importClause.namedBindings,e.isNamespaceImport);case 260:return t;case 267:return t.exportClause&&e.tryCast(t.exportClause,e.isNamespaceExport);default:return e.Debug.assertNever(t)}},e.isDefaultImport=function(e){return 261===e.kind&&!!e.importClause&&!!e.importClause.name},e.forEachImportClauseDeclaration=function(t,r){var n;if(t.name&&(n=r(t)))return n;if(t.namedBindings&&(n=e.isNamespaceImport(t.namedBindings)?r(t.namedBindings):e.forEach(t.namedBindings.elements,r)))return n},e.hasQuestionToken=function(e){if(e)switch(e.kind){case 160:case 165:case 164:case 289:case 288:case 163:case 162:return void 0!==e.questionToken}return!1},e.isJSDocConstructSignature=function(t){var r=e.isJSDocFunctionType(t)?e.firstOrUndefined(t.parameters):void 0,n=e.tryCast(r&&r.name,e.isIdentifier);return!!n&&"new"===n.escapedText},e.isJSDocTypeAlias=Me,e.isTypeAlias=function(t){return Me(t)||e.isTypeAliasDeclaration(t)},e.getSingleInitializerOfVariableStatementOrPropertyDeclaration=Re,e.getSingleVariableOfVariableStatement=Be,e.getJSDocCommentsAndTags=function(t,r){var n;G(t)&&e.hasInitializer(t)&&e.hasJSDocNodes(t.initializer)&&(n=e.append(n,e.last(t.initializer.jsDoc)));for(var i=t;i&&i.parent;){if(e.hasJSDocNodes(i)&&(n=e.append(n,e.last(i.jsDoc))),160===i.kind){n=e.addRange(n,(r?e.getJSDocParameterTagsNoCache:e.getJSDocParameterTags)(i));break}if(159===i.kind){n=e.addRange(n,(r?e.getJSDocTypeParameterTagsNoCache:e.getJSDocTypeParameterTags)(i));break}i=Je(i)}return n||e.emptyArray},e.getParameterSymbolFromJSDoc=function(t){if(t.symbol)return t.symbol;if(e.isIdentifier(t.name)){var r=t.name.escapedText,n=Ke(t);if(n){var i=e.find(n.parameters,(function(e){return 78===e.name.kind&&e.name.escapedText===r}));return i&&i.symbol}}},e.getHostSignatureFromJSDoc=Ke,e.getEffectiveJSDocHost=ze,e.getJSDocHost=Ue,e.getTypeParameterFromJsDoc=function(t){var r=t.name.escapedText,n=t.parent.parent.parent.typeParameters;return n&&e.find(n,(function(e){return e.name.escapedText===r}))},e.hasRestParameter=function(t){var r=e.lastOrUndefined(t.parameters);return!!r&&Ve(r)},e.isRestParameter=Ve,e.hasTypeArguments=function(e){return!!e.typeArguments},function(e){e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound"}(e.AssignmentKind||(e.AssignmentKind={})),e.getAssignmentTargetKind=qe,e.isAssignmentTarget=function(e){return 0!==qe(e)},e.isNodeWithPossibleHoistedDeclaration=function(e){switch(e.kind){case 230:case 232:case 243:case 234:case 244:case 258:case 284:case 285:case 245:case 237:case 238:case 239:case 235:case 236:case 247:case 287:return!0}return!1},e.isValueSignatureDeclaration=function(t){return e.isFunctionExpression(t)||e.isArrowFunction(t)||e.isMethodOrAccessor(t)||e.isFunctionDeclaration(t)||e.isConstructorDeclaration(t)},e.walkUpParenthesizedTypes=function(e){return We(e,186)},e.walkUpParenthesizedExpressions=He,e.walkUpParenthesizedTypesAndGetParentAndChild=function(e){for(var t;e&&186===e.kind;)t=e,e=e.parent;return[t,e]},e.skipParentheses=Ge,e.isDeleteTarget=function(e){return(201===e.kind||202===e.kind)&&((e=He(e.parent))&&210===e.kind)},e.isNodeDescendantOf=function(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1},e.isDeclarationName=function(t){return!e.isSourceFile(t)&&!e.isBindingPattern(t)&&e.isDeclaration(t.parent)&&t.parent.name===t},e.getDeclarationFromName=function(t){var r=t.parent;switch(t.kind){case 10:case 14:case 8:if(e.isComputedPropertyName(r))return r.parent;case 78:if(e.isDeclaration(r))return r.name===t?r:void 0;if(e.isQualifiedName(r)){var n=r.parent;return e.isJSDocParameterTag(n)&&n.name===r?n:void 0}var i=r.parent;return e.isBinaryExpression(i)&&0!==be(i)&&(i.left.symbol||i.symbol)&&e.getNameOfDeclaration(i)===t?i:void 0;case 79:return e.isDeclaration(r)&&r.name===t?r:void 0;default:return}},e.isLiteralComputedPropertyDeclarationName=function(t){return ot(t)&&158===t.parent.kind&&e.isDeclaration(t.parent.parent)},e.isIdentifierName=function(e){var t=e.parent;switch(t.kind){case 163:case 162:case 165:case 164:case 167:case 168:case 291:case 288:case 201:return t.name===e;case 157:return t.right===e;case 198:case 265:return t.propertyName===e;case 270:case 280:return!0}return!1},e.isAliasSymbolDeclaration=function(t){return 260===t.kind||259===t.kind||262===t.kind&&!!t.name||263===t.kind||269===t.kind||265===t.kind||270===t.kind||266===t.kind&&Xe(t)||e.isBinaryExpression(t)&&2===be(t)&&Xe(t)||e.isPropertyAccessExpression(t)&&e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind&&Ye(t.parent.right)||289===t.kind||288===t.kind&&Ye(t.initializer)},e.getAliasDeclarationFromName=function e(t){switch(t.parent.kind){case 262:case 265:case 263:case 270:case 266:case 260:return t.parent;case 157:do{t=t.parent}while(157===t.parent.kind);return e(t)}},e.isAliasableExpression=Ye,e.exportAssignmentIsAlias=Xe,e.getExportAssignmentExpression=Qe,e.getPropertyAssignmentAliasLikeExpression=function(e){return 289===e.kind?e.name:288===e.kind?e.initializer:e.parent.right},e.getEffectiveBaseTypeNode=$e,e.getClassExtendsHeritageElement=Ze,e.getEffectiveImplementsTypeNodes=et,e.getAllSuperTypeNodes=function(t){return e.isInterfaceDeclaration(t)?tt(t)||e.emptyArray:e.isClassLike(t)&&e.concatenate(e.singleElementArray($e(t)),et(t))||e.emptyArray},e.getInterfaceBaseTypeNodes=tt,e.getHeritageClause=rt,e.getAncestor=function(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}},e.isKeyword=nt,e.isContextualKeyword=it,e.isNonContextualKeyword=at,e.isFutureReservedKeyword=function(e){return 116<=e&&e<=124},e.isStringANonContextualKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&at(r)},e.isStringAKeyword=function(t){var r=e.stringToToken(t);return void 0!==r&&nt(r)},e.isIdentifierANonContextualKeyword=function(e){var t=e.originalKeywordKind;return!!t&&!it(t)},e.isTrivia=function(e){return 2<=e&&e<=7},function(e){e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator"}(e.FunctionFlags||(e.FunctionFlags={})),e.getFunctionFlags=function(e){if(!e)return 4;var t=0;switch(e.kind){case 251:case 208:case 165:e.asteriskToken&&(t|=1);case 209:sr(e,256)&&(t|=2)}return e.body||(t|=4),t},e.isAsyncFunction=function(e){switch(e.kind){case 251:case 208:case 209:case 165:return void 0!==e.body&&void 0===e.asteriskToken&&sr(e,256)}return!1},e.isStringOrNumericLiteralLike=ot,e.isSignedNumericLiteral=st,e.hasDynamicName=ct,e.isDynamicName=ut,e.isWellKnownSymbolSyntactically=lt,e.getPropertyNameForPropertyNameNode=dt,e.isPropertyNameLiteral=_t,e.getTextOfIdentifierOrLiteral=pt,e.getEscapedTextOfIdentifierOrLiteral=function(t){return e.isIdentifierOrPrivateIdentifier(t)?t.escapedText:e.escapeLeadingUnderscores(t.text)},e.getPropertyNameForUniqueESSymbol=function(t){return"__@"+e.getSymbolId(t)+"@"+t.escapedName},e.getPropertyNameForKnownSymbolName=ft,e.getSymbolNameForPrivateIdentifier=function(t,r){return"__#"+e.getSymbolId(t)+"@"+r},e.isKnownSymbol=function(t){return e.startsWith(t.escapedName,"__@")},e.isESSymbolIdentifier=gt,e.isPushOrUnshiftIdentifier=function(e){return"push"===e.escapedText||"unshift"===e.escapedText},e.isParameterDeclaration=function(e){return 160===mt(e).kind},e.getRootDeclaration=mt,e.nodeStartsNewLexicalEnvironment=function(e){var t=e.kind;return 166===t||208===t||251===t||209===t||165===t||167===t||168===t||256===t||297===t},e.nodeIsSynthesized=yt,e.getOriginalSourceFile=function(t){return e.getParseTreeNode(t,e.isSourceFile)||t},function(e){e[e.Left=0]="Left",e[e.Right=1]="Right"}(e.Associativity||(e.Associativity={})),e.getExpressionAssociativity=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return vt(e.kind,t,r)},e.getOperatorAssociativity=vt,e.getExpressionPrecedence=function(e){var t=ht(e),r=204===e.kind&&void 0!==e.arguments;return Dt(e.kind,t,r)},e.getOperator=ht,function(e){e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.Coalesce=4]="Coalesce",e[e.LogicalOR=5]="LogicalOR",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid"}(e.OperatorPrecedence||(e.OperatorPrecedence={})),e.getOperatorPrecedence=Dt,e.getBinaryOperatorPrecedence=xt,e.getSemanticJsxChildren=function(t){return e.filter(t,(function(e){switch(e.kind){case 283:return!!e.expression;case 11:return!e.containsOnlyTriviaWhiteSpaces;default:return!0}}))},e.createDiagnosticCollection=function(){var t=[],r=[],n=new e.Map,i=!1;return{add:function(a){var o;a.file?(o=n.get(a.file.fileName))||(o=[],n.set(a.file.fileName,o),e.insertSorted(r,a.file.fileName,e.compareStringsCaseSensitive)):(i&&(i=!1,t=t.slice()),o=t);e.insertSorted(o,a,sn)},lookup:function(r){var i;i=r.file?n.get(r.file.fileName):t;if(!i)return;var a=e.binarySearch(i,r,e.identity,cn);if(a>=0)return i[a];return},getGlobalDiagnostics:function(){return i=!0,t},getDiagnostics:function(i){if(i)return n.get(i)||[];var a=e.flatMapToMutable(r,(function(e){return n.get(e)}));if(!t.length)return a;return a.unshift.apply(a,t),a},reattachFileDiagnostics:function(t){e.forEach(n.get(t.fileName),(function(e){return e.file=t}))}}};var bt=/\$\{/g;e.hasInvalidEscape=function(t){return t&&!!(e.isNoSubstitutionTemplateLiteral(t)?t.templateFlags:t.head.templateFlags||e.some(t.templateSpans,(function(e){return!!e.literal.templateFlags})))};var St=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Et=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,Ct=/[\\`]/g,Tt=new e.Map(e.getEntries({"\t":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085"}));function kt(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function At(e,t,r){if(0===e.charCodeAt(0)){var n=r.charCodeAt(t+e.length);return n>=48&&n<=57?"\\x00":"\\0"}return Tt.get(e)||kt(e.charCodeAt(0))}function Ft(e,t){var r=96===t?Ct:39===t?Et:St;return e.replace(r,At)}e.escapeString=Ft;var Nt=/[^\u0000-\u007F]/g;function Pt(e,t){return e=Ft(e,t),Nt.test(e)?e.replace(Nt,(function(e){return kt(e.charCodeAt(0))})):e}e.escapeNonAsciiString=Pt;var wt=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,It=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,Ot=new e.Map(e.getEntries({'"':""","'":"'"}));function Mt(e){return 0===e.charCodeAt(0)?"�":Ot.get(e)||"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"}function Lt(e,t){var r=39===t?It:wt;return e.replace(r,Mt)}e.escapeJsxAttributeString=Lt,e.stripQuotes=function(e){var t,r=e.length;return r>=2&&e.charCodeAt(0)===e.charCodeAt(r-1)&&(39===(t=e.charCodeAt(0))||34===t||96===t)?e.substring(1,r-1):e},e.isIntrinsicJsxName=function(t){var r=t.charCodeAt(0);return r>=97&&r<=122||e.stringContains(t,"-")};var Rt=[""," "];function Bt(e){for(var t=Rt[1],r=Rt.length;r<=e;r++)Rt.push(Rt[r-1]+t);return Rt[e]}function jt(){return Rt[1].length}function Jt(e){return!!e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames()}function Kt(e,t,r){return t.moduleName||zt(e,t.fileName,r&&r.fileName)}function zt(t,r,n){var i=function(e){return t.getCanonicalFileName(e)},a=e.toPath(n?e.getDirectoryPath(n):t.getCommonSourceDirectory(),t.getCurrentDirectory(),i),o=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory()),s=Un(e.getRelativePathToDirectoryOrUrl(a,o,a,i,!1));return n?e.ensurePathIsNonModuleName(s):s}function Ut(e,t,r,n,i){var a=t.declarationDir||t.outDir;return Un(a?Ht(e,a,r,n,i):e)+".d.ts"}function Vt(e){return e.outFile||e.out}function qt(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&le(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&!(B(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&(r||!t.isSourceOfProjectReferenceRedirect(e.fileName))}function Wt(e,t,r){return Ht(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))}function Ht(t,r,n,i,a){var o=e.getNormalizedAbsolutePath(t,n);return o=0===a(o).indexOf(a(i))?o.substring(i.length):o,e.combinePaths(r,o)}function Gt(t,r,n){t.length>e.getRootLength(t)&&!n(t)&&(Gt(e.getDirectoryPath(t),r,n),r(t))}function Yt(t,r){return e.computeLineOfPosition(t,r)}function Xt(e){if(e&&e.parameters.length>0){var t=2===e.parameters.length&&Qt(e.parameters[0]);return e.parameters[t?1:0]}}function Qt(e){return $t(e.name)}function $t(e){return!!e&&78===e.kind&&Zt(e)}function Zt(e){return 107===e.originalKeywordKind}function er(t){if(de(t)||!e.isFunctionDeclaration(t)){var r=t.type;return r||!de(t)?r:e.isJSDocPropertyLikeTag(t)?t.typeExpression&&t.typeExpression.type:e.getJSDocType(t)}}function tr(e,t,r,n){rr(e,t,r.pos,n)}function rr(e,t,r,n){n&&n.length&&r!==n[0].pos&&Yt(e,r)!==Yt(e,n[0].pos)&&t.writeLine()}function nr(e,t,r,n,i,a,o,s){if(n&&n.length>0){i&&r.writeSpace(" ");for(var c=!1,u=0,l=n;u=0&&e.kind<=156?0:(536870912&e.modifierFlagsCache||(e.modifierFlagsCache=536870912|mr(e)),!t||4096&e.modifierFlagsCache||!r&&!de(e)||!e.parent||(e.modifierFlagsCache|=4096|gr(e)),-536875009&e.modifierFlagsCache)}function pr(e){return _r(e,!0)}function fr(e){return _r(e,!1)}function gr(t){var r=0;return t.parent&&!e.isParameter(t)&&(de(t)&&(e.getJSDocPublicTagNoCache(t)&&(r|=4),e.getJSDocPrivateTagNoCache(t)&&(r|=8),e.getJSDocProtectedTagNoCache(t)&&(r|=16),e.getJSDocReadonlyTagNoCache(t)&&(r|=64)),e.getJSDocDeprecatedTagNoCache(t)&&(r|=8192)),r}function mr(e){var t=yr(e.modifiers);return(4&e.flags||78===e.kind&&e.isInJSDocNamespace)&&(t|=1),t}function yr(e){var t=0;if(e)for(var r=0,n=e;r=62&&e<=77}function xr(e){var t=br(e);return t&&!t.isImplements?t.class:void 0}function br(t){return e.isExpressionWithTypeArguments(t)&&e.isHeritageClause(t.parent)&&e.isClassLike(t.parent.parent)?{class:t.parent.parent,isImplements:116===t.parent.token}:void 0}function Sr(t,r){return e.isBinaryExpression(t)&&(r?62===t.operatorToken.kind:Dr(t.operatorToken.kind))&&e.isLeftHandSideExpression(t.left)}function Er(e){return void 0!==xr(e)}function Cr(e){return 78===e.kind||Tr(e)}function Tr(t){return e.isPropertyAccessExpression(t)&&e.isIdentifier(t.name)&&Cr(t.expression)}function kr(e){return Te(e)&&"prototype"===Pe(e)}e.getIndentString=Bt,e.getIndentSize=jt,e.createTextWriter=function(t){var r,n,i,a,o,s=!1;function c(t){var n=e.computeLineStarts(t);n.length>1?(a=a+n.length-1,o=r.length-t.length+e.last(n),i=o-r.length==0):i=!1}function u(e){e&&e.length&&(i&&(e=Bt(n)+e,i=!1),r+=e,c(e))}function l(e){e&&(s=!1),u(e)}function d(){r="",n=0,i=!0,a=0,o=0,s=!1}return d(),{write:l,rawWrite:function(e){void 0!==e&&(r+=e,c(e),s=!1)},writeLiteral:function(e){e&&e.length&&l(e)},writeLine:function(e){i&&!e||(a++,o=(r+=t).length,i=!0,s=!1)},increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return a},getColumn:function(){return i?n*jt():r.length-o},getText:function(){return r},isAtStartOfLine:function(){return i},hasTrailingComment:function(){return s},hasTrailingWhitespace:function(){return!!r.length&&e.isWhiteSpaceLike(r.charCodeAt(r.length-1))},clear:d,reportInaccessibleThisError:e.noop,reportPrivateInBaseOfClassExpression:e.noop,reportInaccessibleUniqueSymbolError:e.noop,trackSymbol:e.noop,writeKeyword:l,writeOperator:l,writeParameter:l,writeProperty:l,writePunctuation:l,writeSpace:l,writeStringLiteral:l,writeSymbol:function(e,t){return l(e)},writeTrailingSemicolon:l,writeComment:function(e){e&&(s=!0),u(e)},getTextPosWithWriteLine:function(){return i?r.length:r.length+t.length}}},e.getTrailingSemicolonDeferringWriter=function(e){var t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return n(n({},e),{writeTrailingSemicolon:function(){t=!0},writeLiteral:function(t){r(),e.writeLiteral(t)},writeStringLiteral:function(t){r(),e.writeStringLiteral(t)},writeSymbol:function(t,n){r(),e.writeSymbol(t,n)},writePunctuation:function(t){r(),e.writePunctuation(t)},writeKeyword:function(t){r(),e.writeKeyword(t)},writeOperator:function(t){r(),e.writeOperator(t)},writeParameter:function(t){r(),e.writeParameter(t)},writeSpace:function(t){r(),e.writeSpace(t)},writeProperty:function(t){r(),e.writeProperty(t)},writeComment:function(t){r(),e.writeComment(t)},writeLine:function(){r(),e.writeLine()},increaseIndent:function(){r(),e.increaseIndent()},decreaseIndent:function(){r(),e.decreaseIndent()}})},e.hostUsesCaseSensitiveFileNames=Jt,e.hostGetCanonicalFileName=function(t){return e.createGetCanonicalFileName(Jt(t))},e.getResolvedExternalModuleName=Kt,e.getExternalModuleNameFromDeclaration=function(e,t,r){var n=t.getExternalModuleFileFromDeclaration(r);if(n&&!n.isDeclarationFile)return Kt(e,n)},e.getExternalModuleNameFromPath=zt,e.getOwnEmitOutputFilePath=function(e,t,r){var n=t.getCompilerOptions();return(n.outDir?Un(Wt(e,t,n.outDir)):Un(e))+r},e.getDeclarationEmitOutputFilePath=function(e,t){return Ut(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),(function(e){return t.getCanonicalFileName(e)}))},e.getDeclarationEmitOutputFilePathWorker=Ut,e.outFile=Vt,e.getPathsBasePath=function(t,r){var n,i;if(t.paths)return null!==(n=t.baseUrl)&&void 0!==n?n:e.Debug.checkDefined(t.pathsBasePath||(null===(i=r.getCurrentDirectory)||void 0===i?void 0:i.call(r)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")},e.getSourceFilesToEmit=function(t,r,n){var i=t.getCompilerOptions();if(Vt(i)){var a=dn(i),o=i.emitDeclarationOnly||a===e.ModuleKind.AMD||a===e.ModuleKind.System;return e.filter(t.getSourceFiles(),(function(r){return(o||!e.isExternalModule(r))&&qt(r,t,n)}))}var s=void 0===r?t.getSourceFiles():[r];return e.filter(s,(function(e){return qt(e,t,n)}))},e.sourceFileMayBeEmitted=qt,e.getSourceFilePathInNewDir=Wt,e.getSourceFilePathInNewDirWorker=Ht,e.writeFile=function(t,r,n,i,a,o){t.writeFile(n,i,a,(function(t){r.add(an(e.Diagnostics.Could_not_write_file_0_Colon_1,n,t))}),o)},e.writeFileEnsuringDirectories=function(t,r,n,i,a,o){try{i(t,r,n)}catch(s){Gt(e.getDirectoryPath(e.normalizePath(t)),a,o),i(t,r,n)}},e.getLineOfLocalPosition=function(t,r){var n=e.getLineStarts(t);return e.computeLineOfPosition(n,r)},e.getLineOfLocalPositionFromLineMap=Yt,e.getFirstConstructorWithBody=function(t){return e.find(t.members,(function(t){return e.isConstructorDeclaration(t)&&_(t.body)}))},e.getSetAccessorValueParameter=Xt,e.getSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&t.type},e.getThisParameter=function(t){if(t.parameters.length&&!e.isJSDocSignature(t)){var r=t.parameters[0];if(Qt(r))return r}},e.parameterIsThisKeyword=Qt,e.isThisIdentifier=$t,e.identifierIsThisKeyword=Zt,e.getAllAccessorDeclarations=function(t,r){var n,i,a,o;return ct(r)?(n=r,167===r.kind?a=r:168===r.kind?o=r:e.Debug.fail("Accessor has wrong kind")):e.forEach(t,(function(t){e.isAccessor(t)&&sr(t,32)===sr(r,32)&&(dt(t.name)===dt(r.name)&&(n?i||(i=t):n=t,167!==t.kind||a||(a=t),168!==t.kind||o||(o=t)))})),{firstAccessor:n,secondAccessor:i,getAccessor:a,setAccessor:o}},e.getEffectiveTypeAnnotationNode=er,e.getTypeAnnotationNode=function(e){return e.type},e.getEffectiveReturnTypeNode=function(t){return e.isJSDocSignature(t)?t.type&&t.type.typeExpression&&t.type.typeExpression.type:t.type||(de(t)?e.getJSDocReturnType(t):void 0)},e.getJSDocTypeParameterDeclarations=function(t){return e.flatMap(e.getJSDocTags(t),(function(t){return function(t){return e.isJSDocTemplateTag(t)&&!(311===t.parent.kind&&t.parent.tags.some(Me))}(t)?t.typeParameters:void 0}))},e.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=Xt(e);return t&&er(t)},e.emitNewLineBeforeLeadingComments=tr,e.emitNewLineBeforeLeadingCommentsOfPosition=rr,e.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&Yt(e,r)!==Yt(e,n)&&t.writeLine()},e.emitComments=nr,e.emitDetachedComments=function(t,r,n,i,a,o,s){var c,u;if(s?0===a.pos&&(c=e.filter(e.getLeadingCommentRanges(t,a.pos),(function(e){return m(t,e.pos)}))):c=e.getLeadingCommentRanges(t,a.pos),c){for(var l=[],d=void 0,_=0,p=c;_=g+2)break}l.push(f),d=f}if(l.length){g=Yt(r,e.last(l).end);Yt(r,e.skipTrivia(t,a.pos))>=g+2&&(tr(r,n,a,c),nr(t,r,n,l,!1,!0,o,i),u={nodePos:a.pos,detachedCommentEndPos:e.last(l).end})}}return u},e.writeCommentRange=function(t,r,n,i,a,o){if(42===t.charCodeAt(i+1))for(var s=e.computeLineAndCharacterOfPosition(r,i),c=r.length,u=void 0,l=i,d=s.line;l0){var f=p%jt(),g=Bt((p-f)/jt());for(n.rawWrite(g);f;)n.rawWrite(" "),f--}else n.rawWrite("")}ir(t,a,n,o,l,_),l=_}else n.writeComment(t.substring(i,a))},e.hasEffectiveModifiers=function(e){return 0!==pr(e)},e.hasSyntacticModifiers=function(e){return 0!==fr(e)},e.hasEffectiveModifier=or,e.hasSyntacticModifier=sr,e.hasStaticModifier=cr,e.hasEffectiveReadonlyModifier=ur,e.getSelectedEffectiveModifierFlags=lr,e.getSelectedSyntacticModifierFlags=dr,e.getEffectiveModifierFlags=pr,e.getEffectiveModifierFlagsAlwaysIncludeJSDoc=function(e){return _r(e,!0,!0)},e.getSyntacticModifierFlags=fr,e.getEffectiveModifierFlagsNoCache=function(e){return mr(e)|gr(e)},e.getSyntacticModifierFlagsNoCache=mr,e.modifiersToFlags=yr,e.modifierToFlag=vr,e.isLogicalOperator=function(e){return 56===e||55===e||53===e},e.isLogicalOrCoalescingAssignmentOperator=hr,e.isLogicalOrCoalescingAssignmentExpression=function(e){return hr(e.operatorToken.kind)},e.isAssignmentOperator=Dr,e.tryGetClassExtendingExpressionWithTypeArguments=xr,e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments=br,e.isAssignmentExpression=Sr,e.isDestructuringAssignment=function(e){if(Sr(e,!0)){var t=e.left.kind;return 200===t||199===t}return!1},e.isExpressionWithTypeArgumentsInClassExtendsClause=Er,e.isEntityNameExpression=Cr,e.getFirstIdentifier=function(e){switch(e.kind){case 78:return e;case 157:do{e=e.left}while(78!==e.kind);return e;case 201:do{e=e.expression}while(78!==e.kind);return e}},e.isDottedName=function e(t){return 78===t.kind||107===t.kind||105===t.kind||201===t.kind&&e(t.expression)||207===t.kind&&e(t.expression)},e.isPropertyAccessEntityNameExpression=Tr,e.tryGetPropertyAccessOrIdentifierToString=function t(r){if(e.isPropertyAccessExpression(r)){var n=t(r.expression);if(void 0!==n)return n+"."+O(r.name)}else if(e.isIdentifier(r))return e.unescapeLeadingUnderscores(r.escapedText)},e.isPrototypeAccess=kr,e.isRightSideOfQualifiedNameOrPropertyAccess=function(e){return 157===e.parent.kind&&e.parent.right===e||201===e.parent.kind&&e.parent.name===e},e.isEmptyObjectLiteral=function(e){return 200===e.kind&&0===e.properties.length},e.isEmptyArrayLiteral=function(e){return 199===e.kind&&0===e.elements.length},e.getLocalSymbolForExportDefault=function(t){if(function(t){return t&&e.length(t.declarations)>0&&sr(t.declarations[0],512)}(t))for(var r=0,n=t.declarations;r>6|192),r.push(63&a|128)):a<65536?(r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)):a<131072?(r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)):e.Debug.assert(!1,"Unexpected code point")}return r}(t),c=0,u=s.length;c>2,n=(3&s[c])<<4|s[c+1]>>4,i=(15&s[c+1])<<2|s[c+2]>>6,a=63&s[c+2],c+1>=u?i=a=64:c+2>=u&&(a=64),o+=Ar.charAt(r)+Ar.charAt(n)+Ar.charAt(i)+Ar.charAt(a),c+=3;return o}e.convertToBase64=Fr,e.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Fr(t)},e.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,d=(3&s)<<6|63&c;0===l&&0!==s?n.push(u):0===d&&0!==c?n.push(u,l):n.push(u,l,d),i+=4}return function(e){for(var t="",r=0,n=e.length;r=t||-1===r),{pos:t,end:r}}function wr(e,t){return Pr(t,e.end)}function Ir(e){return e.decorators&&e.decorators.length>0?wr(e,e.decorators.end):e}function Or(e,t,r){return Mr(Lr(e,r,!1),t.end,r)}function Mr(t,r,n){return 0===e.getLinesBetweenPositions(n,t,r)}function Lr(t,r,n){return Hn(t.pos)?-1:e.skipTrivia(r.text,t.pos,!1,n)}function Rr(e){return void 0!==e.initializer}function Br(e){return 33554432&e.flags?e.checkFlags:0}function jr(t){var r=t.parent;if(!r)return 0;switch(r.kind){case 207:return jr(r);case 215:case 214:var n=r.operator;return 45===n||46===n?c():0;case 216:var i=r,a=i.left,o=i.operatorToken;return a===t&&Dr(o.kind)?62===o.kind?1:c():0;case 201:return r.name!==t?0:jr(r);case 288:var s=jr(r.parent);return t===r.name?function(t){switch(t){case 0:return 1;case 1:return 0;case 2:return 2;default:return e.Debug.assertNever(t)}}(s):s;case 289:return t===r.objectAssignmentInitializer?0:jr(r.parent);case 199:return jr(r);default:return 0}function c(){return r.parent&&233===function(e){for(;207===e.kind;)e=e.parent;return e}(r.parent).kind?1:2}}function Jr(e,t,r){var n=r.onDeleteValue,i=r.onExistingValue;e.forEach((function(r,a){var o=t.get(a);void 0===o?(e.delete(a),n(r,a)):i&&i(r,o,a)}))}function Kr(e){if(32&e.flags){var t=zr(e);return!!t&&sr(t,128)}return!1}function zr(t){return e.find(t.declarations,e.isClassLike)}function Ur(e){return 3899393&e.flags?e.objectFlags:0}function Vr(e){return 201===e.kind||202===e.kind}function qr(e){for(;Vr(e);)e=e.expression;return e}function Wr(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=void 0,this.mergeId=void 0,this.parent=void 0}function Hr(t,r){this.flags=r,(e.Debug.isDebugging||e.tracing.isTracing())&&(this.checker=t)}function Gr(t,r){this.flags=r,e.Debug.isDebugging&&(this.checker=t)}function Yr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0}function Xr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0}function Qr(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.flowNode=void 0}function $r(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||function(e){return e}}function Zr(t,r,n){return void 0===n&&(n=0),t.replace(/{(\d+)}/g,(function(t,i){return""+e.Debug.checkDefined(r[+i+n])}))}function en(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]||t.message}function tn(e){return void 0===e.file&&void 0!==e.start&&void 0!==e.length&&"string"==typeof e.fileName}function rn(t,r){var n=r.fileName||"",i=r.text.length;e.Debug.assertEqual(t.fileName,n),e.Debug.assertLessThanOrEqual(t.start,i),e.Debug.assertLessThanOrEqual(t.start+t.length,i);var a={file:r,start:t.start,length:t.length,messageText:t.messageText,category:t.category,code:t.code,reportsUnnecessary:t.reportsUnnecessary};if(t.relatedInformation){a.relatedInformation=[];for(var o=0,s=t.relatedInformation;o4&&(a=Zr(a,arguments,4)),{file:t,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,reportsDeprecated:i.reportsDeprecated}}function an(e){var t=en(e);return arguments.length>1&&(t=Zr(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function on(e){return e.file?e.file.path:void 0}function sn(t,r){return cn(t,r)||function(t,r){if(!t.relatedInformation&&!r.relatedInformation)return 0;if(t.relatedInformation&&r.relatedInformation)return e.compareValues(t.relatedInformation.length,r.relatedInformation.length)||e.forEach(t.relatedInformation,(function(e,t){return sn(e,r.relatedInformation[t])}))||0;return t.relatedInformation?-1:1}(t,r)||0}function cn(t,r){return e.compareStringsCaseSensitive(on(t),on(r))||e.compareValues(t.start,r.start)||e.compareValues(t.length,r.length)||e.compareValues(t.code,r.code)||un(t.messageText,r.messageText)||0}function un(t,r){if("string"==typeof t&&"string"==typeof r)return e.compareStringsCaseSensitive(t,r);if("string"==typeof t)return-1;if("string"==typeof r)return 1;var n=e.compareStringsCaseSensitive(t.messageText,r.messageText);if(n)return n;if(!t.next&&!r.next)return 0;if(!t.next)return-1;if(!r.next)return 1;for(var i=Math.min(t.next.length,r.next.length),a=0;ar.next.length?1:0}function ln(e){return e.target||0}function dn(t){return"number"==typeof t.module?t.module:ln(t)>=2?e.ModuleKind.ES2015:e.ModuleKind.CommonJS}function _n(e){return!(!e.declaration&&!e.composite)}function pn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function fn(e){return void 0===e.allowJs?!!e.checkJs:e.allowJs}function gn(e,t){return t.strictFlag?pn(e,t.name):e[t.name]}function mn(e){for(var t=!1,r=0;r0?wr(e,e.modifiers.end):Ir(e)},e.isCollapsedRange=function(e){return e.pos===e.end},e.createTokenRange=function(t,r){return Pr(t,t+e.tokenToString(r).length)},e.rangeIsOnSingleLine=function(e,t){return Or(e,e,t)},e.rangeStartPositionsAreOnSameLine=function(e,t,r){return Mr(Lr(e,r,!1),Lr(t,r,!1),r)},e.rangeEndPositionsAreOnSameLine=function(e,t,r){return Mr(e.end,t.end,r)},e.rangeStartIsOnSameLineAsRangeEnd=Or,e.rangeEndIsOnSameLineAsRangeStart=function(e,t,r){return Mr(e.end,Lr(t,r,!1),r)},e.getLinesBetweenRangeEndAndRangeStart=function(t,r,n,i){var a=Lr(r,n,i);return e.getLinesBetweenPositions(n,t.end,a)},e.getLinesBetweenRangeEndPositions=function(t,r,n){return e.getLinesBetweenPositions(n,t.end,r.end)},e.isNodeArrayMultiLine=function(e,t){return!Mr(e.pos,e.end,t)},e.positionsAreOnSameLine=Mr,e.getStartPositionOfRange=Lr,e.getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i),o=function(t,r,n){void 0===r&&(r=0);for(;t-- >r;)if(!e.isWhiteSpaceLike(n.text.charCodeAt(t)))return t}(a,r,n);return e.getLinesBetweenPositions(n,null!=o?o:r,a)},e.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(t,r,n,i){var a=e.skipTrivia(n.text,t,!1,i);return e.getLinesBetweenPositions(n,t,Math.min(r,a))},e.isDeclarationNameOfEnumOrNamespace=function(t){var r=e.getParseTreeNode(t);if(r)switch(r.parent.kind){case 255:case 256:return r===r.parent.name}return!1},e.getInitializedVariables=function(t){return e.filter(t.declarations,Rr)},e.isWatchSet=function(e){return e.watch&&e.hasOwnProperty("watch")},e.closeFileWatcher=function(e){e.close()},e.getCheckFlags=Br,e.getDeclarationModifierFlagsFromSymbol=function(t){if(t.valueDeclaration){var r=e.getCombinedModifierFlags(t.valueDeclaration);return t.parent&&32&t.parent.flags?r:-29&r}if(6&Br(t)){var n=t.checkFlags;return(1024&n?8:256&n?4:16)|(2048&n?32:0)}return 4194304&t.flags?36:0},e.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},e.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},e.isWriteOnlyAccess=function(e){return 1===jr(e)},e.isWriteAccess=function(e){return 0!==jr(e)},function(e){e[e.Read=0]="Read",e[e.Write=1]="Write",e[e.ReadWrite=2]="ReadWrite"}(Nr||(Nr={})),e.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if("object"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if("function"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},e.clearMap=function(e,t){e.forEach(t),e.clear()},e.mutateMapSkippingNewValues=Jr,e.mutateMap=function(e,t,r){Jr(e,t,r);var n=r.createNewValue;t.forEach((function(t,r){e.has(r)||e.set(r,n(r,t))}))},e.isAbstractConstructorType=function(e){return!!(16&Ur(e))&&!!e.symbol&&Kr(e.symbol)},e.isAbstractConstructorSymbol=Kr,e.getClassLikeDeclarationOfSymbol=zr,e.getObjectFlags=Ur,e.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},e.forSomeAncestorDirectory=function(t,r){return!!e.forEachAncestorDirectory(t,(function(e){return!!r(e)||void 0}))},e.isUMDExportSymbol=function(t){return!!t&&!!t.declarations&&!!t.declarations[0]&&e.isNamespaceExportDeclaration(t.declarations[0])},e.showModuleSpecifier=function(t){var r=t.moduleSpecifier;return e.isStringLiteral(r)?r.text:D(r)},e.getLastChild=function(t){var r;return e.forEachChild(t,(function(e){_(e)&&(r=e)}),(function(e){for(var t=e.length-1;t>=0;t--)if(_(e[t])){r=e[t];break}})),r},e.addToSeen=function(e,t,r){return void 0===r&&(r=!0),t=String(t),!e.has(t)&&(e.set(t,r),!0)},e.isObjectTypeDeclaration=function(t){return e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isTypeLiteralNode(t)},e.isTypeNodeKind=function(e){return e>=172&&e<=195||128===e||152===e||144===e||155===e||145===e||131===e||147===e||148===e||113===e||150===e||141===e||223===e||303===e||304===e||305===e||306===e||307===e||308===e||309===e},e.isAccessExpression=Vr,e.getNameOfAccessExpression=function(t){return 201===t.kind?t.name:(e.Debug.assert(202===t.kind),t.argumentExpression)},e.isBundleFileTextLike=function(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}},e.isNamedImportsOrExports=function(e){return 264===e.kind||268===e.kind},e.getLeftmostAccessExpression=qr,e.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 215:e=e.operand;continue;case 216:e=e.left;continue;case 217:e=e.condition;continue;case 205:e=e.tag;continue;case 203:if(t)return e;case 224:case 202:case 201:case 225:case 336:e=e.expression;continue}return e}},e.objectAllocator={getNodeConstructor:function(){return Yr},getTokenConstructor:function(){return Xr},getIdentifierConstructor:function(){return Qr},getPrivateIdentifierConstructor:function(){return Yr},getSourceFileConstructor:function(){return Yr},getSymbolConstructor:function(){return Wr},getTypeConstructor:function(){return Hr},getSignatureConstructor:function(){return Gr},getSourceMapSourceConstructor:function(){return $r}},e.setObjectAllocator=function(t){e.objectAllocator=t},e.formatStringFromArgs=Zr,e.setLocalizedDiagnosticMessages=function(t){e.localizedDiagnosticMessages=t},e.getLocaleSpecificMessage=en,e.createDetachedDiagnostic=function(t,r,n,i){e.Debug.assertGreaterThanOrEqual(r,0),e.Debug.assertGreaterThanOrEqual(n,0);var a=en(i);return arguments.length>4&&(a=Zr(a,arguments,4)),{file:void 0,start:r,length:n,messageText:a,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:t}},e.attachFileToDiagnostics=function(e,t){for(var r=[],n=0,i=e;n2&&(r=Zr(r,arguments,2)),r},e.createCompilerDiagnostic=an,e.createCompilerDiagnosticFromMessageChain=function(e){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText}},e.chainDiagnosticMessages=function(e,t){var r=en(t);return arguments.length>2&&(r=Zr(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:void 0===e||Array.isArray(e)?e:[e]}},e.concatenateDiagnosticMessageChains=function(e,t){for(var r=e;r.next;)r=r.next[0];r.next=[t]},e.compareDiagnostics=sn,e.compareDiagnosticsSkipRelatedInformation=cn,e.getLanguageVariant=function(e){return 4===e||2===e||1===e||6===e?1:0},e.getEmitScriptTarget=ln,e.getEmitModuleKind=dn,e.getEmitModuleResolutionKind=function(t){var r=t.moduleResolution;return void 0===r&&(r=dn(t)===e.ModuleKind.CommonJS?e.ModuleResolutionKind.NodeJs:e.ModuleResolutionKind.Classic),r},e.hasJsonModuleEmitEnabled=function(t){switch(dn(t)){case e.ModuleKind.CommonJS:case e.ModuleKind.AMD:case e.ModuleKind.ES2015:case e.ModuleKind.ES2020:case e.ModuleKind.ESNext:return!0;default:return!1}},e.unreachableCodeIsError=function(e){return!1===e.allowUnreachableCode},e.unusedLabelIsError=function(e){return!1===e.allowUnusedLabels},e.getAreDeclarationMapsEnabled=function(e){return!(!_n(e)||!e.declarationMap)},e.getAllowSyntheticDefaultImports=function(t){var r=dn(t);return void 0!==t.allowSyntheticDefaultImports?t.allowSyntheticDefaultImports:t.esModuleInterop||r===e.ModuleKind.System},e.getEmitDeclarations=_n,e.isIncrementalCompilation=function(e){return!(!e.incremental&&!e.composite)},e.getStrictOptionValue=pn,e.getAllowJSCompilerOption=fn,e.compilerOptionsAffectSemanticDiagnostics=function(t,r){return r!==t&&e.semanticDiagnosticsOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.compilerOptionsAffectEmit=function(t,r){return r!==t&&e.affectsEmitOptionDeclarations.some((function(e){return!Xn(gn(r,e),gn(t,e))}))},e.getCompilerOptionValue=gn,e.getJSXTransformEnabled=function(e){var t=e.jsx;return 2===t||4===t||5===t},e.getJSXImplicitImportBase=function(t,r){var n=null==r?void 0:r.pragmas.get("jsximportsource"),i=e.isArray(n)?n[0]:n;return 4===t.jsx||5===t.jsx||t.jsxImportSource||i?(null==i?void 0:i.arguments.factory)||t.jsxImportSource||"react":void 0},e.getJSXRuntimeImport=function(e,t){return e?e+"/"+(5===t.jsx?"jsx-dev-runtime":"jsx-runtime"):void 0},e.hasZeroOrOneAsteriskCharacter=mn,e.createSymlinkCache=yn,e.discoverProbableSymlinks=function(t,r,n){for(var i=yn(),a=0,o=e.flatten(e.mapDefined(t,(function(t){return t.resolvedModules&&e.compact(e.arrayFrom(e.mapIterator(t.resolvedModules.values(),(function(e){return e&&e.originalPath&&e.resolvedFileName!==e.originalPath?[e.resolvedFileName,e.originalPath]:void 0}))))})));a0;)c+=")?",_--;return c}(t,r,n,kn[n])}))}function Nn(e){return!/[.*?]/.test(e)}function Pn(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}function wn(t,r,n,i,a){t=e.normalizePath(t),a=e.normalizePath(a);var o=e.combinePaths(a,t);return{includeFilePatterns:e.map(Fn(n,o,"files"),(function(e){return"^"+e+"$"})),includeFilePattern:An(n,o,"files"),includeDirectoryPattern:An(n,o,"directories"),excludePattern:An(r,o,"exclude"),basePaths:On(t,n,i)}}function In(e,t){return new RegExp(e,t?"":"i")}function On(t,r,n){var i=[t];if(r){for(var a=[],o=0,s=r;o=0;n--)if(e.fileExtensionIs(t,r[n]))return Kn(n,r);return 0},e.adjustExtensionPriority=Kn,e.getNextLowestExtensionPriority=function(e,t){return e<2?2:t.length};var zn=[".d.ts",".ts",".js",".tsx",".jsx",".json"];function Un(e){for(var t=0,r=zn;t=0)}function Gn(e){return".ts"===e||".tsx"===e||".d.ts"===e}function Yn(t){return e.find(zn,(function(r){return e.fileExtensionIs(t,r)}))}function Xn(t,r){return t===r||"object"==typeof t&&null!==t&&"object"==typeof r&&null!==r&&e.equalOwnProperties(t,r,Xn)}function Qn(e,t){return e.pos=t,e}function $n(e,t){return e.end=t,e}function Zn(e,t,r){return $n(Qn(e,t),r)}function ei(e,t){return e&&t&&(e.parent=t),e}e.removeFileExtension=Un,e.tryRemoveExtension=Vn,e.removeExtension=qn,e.changeExtension=function(t,r){return e.changeAnyExtension(t,r,zn,!1)},e.tryParsePattern=Wn,e.positionIsSynthesized=Hn,e.extensionIsTS=Gn,e.resolutionExtensionIsTSOrJson=function(e){return Gn(e)||".json"===e},e.extensionFromPath=function(t){var r=Yn(t);return void 0!==r?r:e.Debug.fail("File "+t+" has unknown extension.")},e.isAnySupportedFileExtension=function(e){return void 0!==Yn(e)},e.tryGetExtensionFromPath=Yn,e.isCheckJsEnabledForFile=function(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs},e.emptyFileSystemEntries={files:e.emptyArray,directories:e.emptyArray},e.matchPatternOrExact=function(t,r){for(var n=[],i=0,a=t;ii&&(i=o)}return{min:n,max:i}},e.rangeOfNode=function(e){return{pos:y(e),end:e.end}},e.rangeOfTypeParameters=function(e){return{pos:e.pos-1,end:e.end+1}},e.skipTypeChecking=function(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)},e.isJsonEqual=Xn,e.parsePseudoBigInt=function(e){var t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:for(var r=e.length-1,n=0;48===e.charCodeAt(n);)n++;return e.slice(n,r)||"0"}for(var i=e.length-1,a=(i-2)*t,o=new Uint16Array((a>>>4)+(15&a?1:0)),s=i-1,c=0;s>=2;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),d=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=d;var _=d>>>16;_&&(o[u+1]|=_)}for(var p="",f=o.length-1,g=!0;g;){var m=0;g=!1;for(u=f;u>=0;u--){var y=m<<16|o[u],v=y/10|0;o[u]=v,m=y-10*v,v&&!g&&(f=u,g=!0)}p=m+p}return p},e.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&"0"!==r?"-":"")+r},e.isValidTypeOnlyAliasUseSite=function(t){return!!(8388608&t.flags)||ce(t)||function(t){if(78!==t.kind)return!1;var r=e.findAncestor(t.parent,(function(e){switch(e.kind){case 286:return!0;case 201:case 223:return!1;default:return"quit"}}));return 116===(null==r?void 0:r.token)||253===(null==r?void 0:r.parent.kind)}(t)||function(e){for(;78===e.kind||201===e.kind;)e=e.parent;if(158!==e.kind)return!1;if(sr(e.parent,128))return!0;var t=e.parent.parent.kind;return 253===t||177===t}(t)||!oe(t)},e.typeOnlyDeclarationIsExport=function(e){return 270===e.kind},e.isIdentifierTypeReference=function(t){return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)},e.arrayIsHomogeneous=function(t,r){if(void 0===r&&(r=e.equateValues),t.length<2)return!0;for(var n=t[0],i=1,a=t.length;i3)return!0;var u=e.getExpressionPrecedence(c);switch(e.compareValues(u,o)){case-1:return!(!i&&1===s&&219===n.kind);case 1:return!1;case 0:if(i)return 1===s;if(e.isBinaryExpression(c)&&c.operatorToken.kind===t){if(function(e){return 41===e||51===e||50===e||52===e}(t))return!1;if(39===t){var l=a?r(a):0;if(e.isLiteralKind(l)&&l===r(c))return!1}}return 0===e.getExpressionAssociativity(c)}}(n,i,a,o)?t.createParenthesizedExpression(i):i}function i(r){var n=e.skipPartiallyEmittedExpressions(r);return e.isLeftHandSideExpression(n)&&(204!==n.kind||n.arguments)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function a(r){var n=e.skipPartiallyEmittedExpressions(r);return e.getExpressionPrecedence(n)>e.getOperatorPrecedence(216,27)?r:e.setTextRange(t.createParenthesizedExpression(r),r)}function o(e){return 184===e.kind?t.createParenthesizedType(e):e}function s(e){switch(e.kind){case 182:case 183:case 174:case 175:return t.createParenthesizedType(e)}return o(e)}function c(r,n){return 0===n&&e.isFunctionOrConstructorTypeNode(r)&&r.typeParameters?t.createParenthesizedType(r):r}},e.nullParenthesizerRules={parenthesizeLeftSideOfBinary:function(e,t){return t},parenthesizeRightSideOfBinary:function(e,t,r){return r},parenthesizeExpressionOfComputedPropertyName:e.identity,parenthesizeConditionOfConditionalExpression:e.identity,parenthesizeBranchOfConditionalExpression:e.identity,parenthesizeExpressionOfExportDefault:e.identity,parenthesizeExpressionOfNew:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeLeftSideOfAccess:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPostfixUnary:function(t){return e.cast(t,e.isLeftHandSideExpression)},parenthesizeOperandOfPrefixUnary:function(t){return e.cast(t,e.isUnaryExpression)},parenthesizeExpressionsOfCommaDelimitedList:function(t){return e.cast(t,e.isNodeArray)},parenthesizeExpressionForDisallowedComma:e.identity,parenthesizeExpressionOfExpressionStatement:e.identity,parenthesizeConciseBodyOfArrowFunction:e.identity,parenthesizeMemberOfConditionalType:e.identity,parenthesizeMemberOfElementType:e.identity,parenthesizeElementTypeOfArrayType:e.identity,parenthesizeConstituentTypesOfUnionOrIntersectionType:function(t){return e.cast(t,e.isNodeArray)},parenthesizeTypeArguments:function(t){return t&&e.cast(t,e.isNodeArray)}}}(u||(u={})),function(e){e.createNodeConverters=function(t){return{convertToFunctionBlock:function(r,n){if(e.isBlock(r))return r;var i=t.createReturnStatement(r);e.setTextRange(i,r);var a=t.createBlock([i],n);return e.setTextRange(a,r),a},convertToFunctionExpression:function(r){if(!r.body)return e.Debug.fail("Cannot convert a FunctionDeclaration without a body");var n=t.createFunctionExpression(r.modifiers,r.asteriskToken,r.name,r.typeParameters,r.parameters,r.type,r.body);e.setOriginalNode(n,r),e.setTextRange(n,r),e.getStartsOnNewLine(r)&&e.setStartsOnNewLine(n,!0);return n},convertToArrayAssignmentElement:r,convertToObjectAssignmentElement:n,convertToAssignmentPattern:i,convertToObjectAssignmentPattern:a,convertToArrayAssignmentPattern:o,convertToAssignmentElementTarget:s};function r(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadElement(r.name),r),r);var n=s(r.name);return r.initializer?e.setOriginalNode(e.setTextRange(t.createAssignment(n,r.initializer),r),r):n}return e.cast(r,e.isExpression)}function n(r){if(e.isBindingElement(r)){if(r.dotDotDotToken)return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createSpreadAssignment(r.name),r),r);if(r.propertyName){var n=s(r.name);return e.setOriginalNode(e.setTextRange(t.createPropertyAssignment(r.propertyName,r.initializer?t.createAssignment(n,r.initializer):n),r),r)}return e.Debug.assertNode(r.name,e.isIdentifier),e.setOriginalNode(e.setTextRange(t.createShorthandPropertyAssignment(r.name,r.initializer),r),r)}return e.cast(r,e.isObjectLiteralElementLike)}function i(e){switch(e.kind){case 197:case 199:return o(e);case 196:case 200:return a(e)}}function a(r){return e.isObjectBindingPattern(r)?e.setOriginalNode(e.setTextRange(t.createObjectLiteralExpression(e.map(r.elements,n)),r),r):e.cast(r,e.isObjectLiteralExpression)}function o(n){return e.isArrayBindingPattern(n)?e.setOriginalNode(e.setTextRange(t.createArrayLiteralExpression(e.map(n.elements,r)),n),n):e.cast(n,e.isArrayLiteralExpression)}function s(t){return e.isBindingPattern(t)?i(t):e.cast(t,e.isExpression)}},e.nullNodeConverters={convertToFunctionBlock:e.notImplemented,convertToFunctionExpression:e.notImplemented,convertToArrayAssignmentElement:e.notImplemented,convertToObjectAssignmentElement:e.notImplemented,convertToAssignmentPattern:e.notImplemented,convertToObjectAssignmentPattern:e.notImplemented,convertToArrayAssignmentPattern:e.notImplemented,convertToAssignmentElementTarget:e.notImplemented}}(u||(u={})),function(e){var t,n=0;function i(i,p){var f=8&i?a:o,g=e.memoize((function(){return 1&i?e.nullParenthesizerRules:e.createParenthesizerRules(A)})),m=e.memoize((function(){return 2&i?e.nullNodeConverters:e.createNodeConverters(A)})),y=e.memoizeOne((function(e){return function(t,r){return Nt(t,e,r)}})),h=e.memoizeOne((function(e){return function(t){return At(e,t)}})),D=e.memoizeOne((function(e){return function(t){return Ft(t,e)}})),x=e.memoizeOne((function(e){return function(){return function(e){return N(e)}(e)}})),b=e.memoizeOne((function(e){return function(t){return Gr(e,t)}})),S=e.memoizeOne((function(e){return function(t,r){return function(e,t,r){return t.type!==r?f(Gr(e,r),t):t}(e,t,r)}})),E=e.memoizeOne((function(e){return function(t,r){return dn(e,t,r)}})),C=e.memoizeOne((function(e){return function(t,r,n){return function(e,t,r,n){void 0===r&&(r=Zr(t));return t.tagName!==r||t.comment!==n?f(dn(e,r,n),t):t}(e,t,r,n)}})),T=e.memoizeOne((function(e){return function(t,r,n){return _n(e,t,r,n)}})),k=e.memoizeOne((function(e){return function(t,r,n,i){return function(e,t,r,n,i){void 0===r&&(r=Zr(t));return t.tagName!==r||t.typeExpression!==n||t.comment!==i?f(_n(e,r,n,i),t):t}(e,t,r,n,i)}})),A={get parenthesizer(){return g()},get converters(){return m()},createNodeArray:F,createNumericLiteral:U,createBigIntLiteral:V,createStringLiteral:W,createStringLiteralFromNode:function(t){var r=q(e.getTextOfIdentifierOrLiteral(t),void 0);return r.textSourceNode=t,r},createRegularExpressionLiteral:H,createLiteralLikeNode:function(e,t){switch(e){case 8:return U(t,0);case 9:return V(t);case 10:return W(t,void 0);case 11:return Dn(t,!1);case 12:return Dn(t,!0);case 13:return H(t);case 14:return Mt(e,t,void 0,0)}},createIdentifier:X,updateIdentifier:function(t,r){return t.typeArguments!==r?f(X(e.idText(t),r),t):t},createTempVariable:Q,createLoopVariable:function(){return Y("",2)},createUniqueName:function(t,r){void 0===r&&(r=0);return e.Debug.assert(!(7&r),"Argument out of range: flags"),e.Debug.assert(32!=(48&r),"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),Y(t,3|r)},getGeneratedNameForNode:$,createPrivateIdentifier:function(t){e.startsWith(t,"#")||e.Debug.fail("First character of private identifier must be #: "+t);var r=p.createBasePrivateIdentifierNode(79);return r.escapedText=e.escapeLeadingUnderscores(t),r.transformFlags|=4194304,r},createToken:ee,createSuper:function(){return ee(105)},createThis:te,createNull:function(){return ee(103)},createTrue:re,createFalse:ne,createModifier:ie,createModifiersFromModifierFlags:ae,createQualifiedName:oe,updateQualifiedName:function(e,t,r){return e.left!==t||e.right!==r?f(oe(t,r),e):e},createComputedPropertyName:se,updateComputedPropertyName:function(e,t){return e.expression!==t?f(se(t),e):e},createTypeParameterDeclaration:ce,updateTypeParameterDeclaration:function(e,t,r,n){return e.name!==t||e.constraint!==r||e.default!==n?f(ce(t,r,n),e):e},createParameterDeclaration:ue,updateParameterDeclaration:le,createDecorator:de,updateDecorator:function(e,t){return e.expression!==t?f(de(t),e):e},createPropertySignature:_e,updatePropertySignature:pe,createPropertyDeclaration:fe,updatePropertyDeclaration:ge,createMethodSignature:me,updateMethodSignature:ye,createMethodDeclaration:ve,updateMethodDeclaration:he,createConstructorDeclaration:De,updateConstructorDeclaration:xe,createGetAccessorDeclaration:be,updateGetAccessorDeclaration:Se,createSetAccessorDeclaration:Ee,updateSetAccessorDeclaration:Ce,createCallSignature:Te,updateCallSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Te(t,r,n),e):e},createConstructSignature:ke,updateConstructSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(ke(t,r,n),e):e},createIndexSignature:Ae,updateIndexSignature:Fe,createTemplateLiteralTypeSpan:Ne,updateTemplateLiteralTypeSpan:function(e,t,r){return e.type!==t||e.literal!==r?f(Ne(t,r),e):e},createKeywordTypeNode:function(e){return ee(e)},createTypePredicateNode:Pe,updateTypePredicateNode:function(e,t,r,n){return e.assertsModifier!==t||e.parameterName!==r||e.type!==n?f(Pe(t,r,n),e):e},createTypeReferenceNode:we,updateTypeReferenceNode:function(e,t,r){return e.typeName!==t||e.typeArguments!==r?f(we(t,r),e):e},createFunctionTypeNode:Ie,updateFunctionTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Ie(t,r,n),e):e},createConstructorTypeNode:Oe,updateConstructorTypeNode:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?M(Oe(t,r,n),e):e},createTypeQueryNode:Me,updateTypeQueryNode:function(e,t){return e.exprName!==t?f(Me(t),e):e},createTypeLiteralNode:Le,updateTypeLiteralNode:function(e,t){return e.members!==t?f(Le(t),e):e},createArrayTypeNode:Re,updateArrayTypeNode:function(e,t){return e.elementType!==t?f(Re(t),e):e},createTupleTypeNode:Be,updateTupleTypeNode:function(e,t){return e.elements!==t?f(Be(t),e):e},createNamedTupleMember:je,updateNamedTupleMember:function(e,t,r,n,i){return e.dotDotDotToken!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(je(t,r,n,i),e):e},createOptionalTypeNode:Je,updateOptionalTypeNode:function(e,t){return e.type!==t?f(Je(t),e):e},createRestTypeNode:Ke,updateRestTypeNode:function(e,t){return e.type!==t?f(Ke(t),e):e},createUnionTypeNode:function(e){return ze(182,e)},updateUnionTypeNode:function(e,t){return Ue(e,t)},createIntersectionTypeNode:function(e){return ze(183,e)},updateIntersectionTypeNode:function(e,t){return Ue(e,t)},createConditionalTypeNode:Ve,updateConditionalTypeNode:function(e,t,r,n,i){return e.checkType!==t||e.extendsType!==r||e.trueType!==n||e.falseType!==i?f(Ve(t,r,n,i),e):e},createInferTypeNode:qe,updateInferTypeNode:function(e,t){return e.typeParameter!==t?f(qe(t),e):e},createImportTypeNode:He,updateImportTypeNode:function(e,t,r,n,i){void 0===i&&(i=e.isTypeOf);return e.argument!==t||e.qualifier!==r||e.typeArguments!==n||e.isTypeOf!==i?f(He(t,r,n,i),e):e},createParenthesizedType:Ge,updateParenthesizedType:function(e,t){return e.type!==t?f(Ge(t),e):e},createThisTypeNode:function(){var e=N(187);return e.transformFlags=1,e},createTypeOperatorNode:Ye,updateTypeOperatorNode:function(e,t){return e.type!==t?f(Ye(e.operator,t),e):e},createIndexedAccessTypeNode:Xe,updateIndexedAccessTypeNode:function(e,t,r){return e.objectType!==t||e.indexType!==r?f(Xe(t,r),e):e},createMappedTypeNode:Qe,updateMappedTypeNode:function(e,t,r,n,i,a){return e.readonlyToken!==t||e.typeParameter!==r||e.nameType!==n||e.questionToken!==i||e.type!==a?f(Qe(t,r,n,i,a),e):e},createLiteralTypeNode:$e,updateLiteralTypeNode:function(e,t){return e.literal!==t?f($e(t),e):e},createTemplateLiteralType:We,updateTemplateLiteralType:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(We(t,r),e):e},createObjectBindingPattern:Ze,updateObjectBindingPattern:function(e,t){return e.elements!==t?f(Ze(t),e):e},createArrayBindingPattern:et,updateArrayBindingPattern:function(e,t){return e.elements!==t?f(et(t),e):e},createBindingElement:tt,updateBindingElement:function(e,t,r,n,i){return e.propertyName!==r||e.dotDotDotToken!==t||e.name!==n||e.initializer!==i?f(tt(t,r,n,i),e):e},createArrayLiteralExpression:nt,updateArrayLiteralExpression:function(e,t){return e.elements!==t?f(nt(t,e.multiLine),e):e},createObjectLiteralExpression:it,updateObjectLiteralExpression:function(e,t){return e.properties!==t?f(it(t,e.multiLine),e):e},createPropertyAccessExpression:4&i?function(t,r){return e.setEmitFlags(at(t,r),131072)}:at,updatePropertyAccessExpression:function(t,r,n){if(e.isPropertyAccessChain(t))return st(t,r,t.questionDotToken,e.cast(n,e.isIdentifier));return t.expression!==r||t.name!==n?f(at(r,n),t):t},createPropertyAccessChain:4&i?function(t,r,n){return e.setEmitFlags(ot(t,r,n),131072)}:ot,updatePropertyAccessChain:st,createElementAccessExpression:ct,updateElementAccessExpression:function(t,r,n){if(e.isElementAccessChain(t))return lt(t,r,t.questionDotToken,n);return t.expression!==r||t.argumentExpression!==n?f(ct(r,n),t):t},createElementAccessChain:ut,updateElementAccessChain:lt,createCallExpression:dt,updateCallExpression:function(t,r,n,i){if(e.isCallChain(t))return pt(t,r,t.questionDotToken,n,i);return t.expression!==r||t.typeArguments!==n||t.arguments!==i?f(dt(r,n,i),t):t},createCallChain:_t,updateCallChain:pt,createNewExpression:ft,updateNewExpression:function(e,t,r,n){return e.expression!==t||e.typeArguments!==r||e.arguments!==n?f(ft(t,r,n),e):e},createTaggedTemplateExpression:gt,updateTaggedTemplateExpression:function(e,t,r,n){return e.tag!==t||e.typeArguments!==r||e.template!==n?f(gt(t,r,n),e):e},createTypeAssertion:mt,updateTypeAssertion:yt,createParenthesizedExpression:vt,updateParenthesizedExpression:ht,createFunctionExpression:Dt,updateFunctionExpression:xt,createArrowFunction:bt,updateArrowFunction:St,createDeleteExpression:Et,updateDeleteExpression:function(e,t){return e.expression!==t?f(Et(t),e):e},createTypeOfExpression:Ct,updateTypeOfExpression:function(e,t){return e.expression!==t?f(Ct(t),e):e},createVoidExpression:Tt,updateVoidExpression:function(e,t){return e.expression!==t?f(Tt(t),e):e},createAwaitExpression:kt,updateAwaitExpression:function(e,t){return e.expression!==t?f(kt(t),e):e},createPrefixUnaryExpression:At,updatePrefixUnaryExpression:function(e,t){return e.operand!==t?f(At(e.operator,t),e):e},createPostfixUnaryExpression:Ft,updatePostfixUnaryExpression:function(e,t){return e.operand!==t?f(Ft(t,e.operator),e):e},createBinaryExpression:Nt,updateBinaryExpression:function(e,t,r,n){return e.left!==t||e.operatorToken!==r||e.right!==n?f(Nt(t,r,n),e):e},createConditionalExpression:wt,updateConditionalExpression:function(e,t,r,n,i,a){return e.condition!==t||e.questionToken!==r||e.whenTrue!==n||e.colonToken!==i||e.whenFalse!==a?f(wt(t,r,n,i,a),e):e},createTemplateExpression:It,updateTemplateExpression:function(e,t,r){return e.head!==t||e.templateSpans!==r?f(It(t,r),e):e},createTemplateHead:function(e,t,r){return Ot(15,e,t,r)},createTemplateMiddle:function(e,t,r){return Ot(16,e,t,r)},createTemplateTail:function(e,t,r){return Ot(17,e,t,r)},createNoSubstitutionTemplateLiteral:function(e,t,r){return Ot(14,e,t,r)},createTemplateLiteralLikeNode:Mt,createYieldExpression:Lt,updateYieldExpression:function(e,t,r){return e.expression!==r||e.asteriskToken!==t?f(Lt(t,r),e):e},createSpreadElement:Rt,updateSpreadElement:function(e,t){return e.expression!==t?f(Rt(t),e):e},createClassExpression:Bt,updateClassExpression:jt,createOmittedExpression:function(){return rt(222)},createExpressionWithTypeArguments:Jt,updateExpressionWithTypeArguments:function(e,t,r){return e.expression!==t||e.typeArguments!==r?f(Jt(t,r),e):e},createAsExpression:Kt,updateAsExpression:zt,createNonNullExpression:Ut,updateNonNullExpression:Vt,createNonNullChain:qt,updateNonNullChain:Wt,createMetaProperty:Ht,updateMetaProperty:function(e,t){return e.name!==t?f(Ht(e.keywordToken,t),e):e},createTemplateSpan:Gt,updateTemplateSpan:function(e,t,r){return e.expression!==t||e.literal!==r?f(Gt(t,r),e):e},createSemicolonClassElement:function(){var e=N(229);return e.transformFlags|=256,e},createBlock:Yt,updateBlock:function(e,t){return e.statements!==t?f(Yt(t,e.multiLine),e):e},createVariableStatement:Xt,updateVariableStatement:Qt,createEmptyStatement:$t,createExpressionStatement:Zt,updateExpressionStatement:function(e,t){return e.expression!==t?f(Zt(t),e):e},createIfStatement:er,updateIfStatement:function(e,t,r,n){return e.expression!==t||e.thenStatement!==r||e.elseStatement!==n?f(er(t,r,n),e):e},createDoStatement:tr,updateDoStatement:function(e,t,r){return e.statement!==t||e.expression!==r?f(tr(t,r),e):e},createWhileStatement:rr,updateWhileStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(rr(t,r),e):e},createForStatement:nr,updateForStatement:function(e,t,r,n,i){return e.initializer!==t||e.condition!==r||e.incrementor!==n||e.statement!==i?f(nr(t,r,n,i),e):e},createForInStatement:ir,updateForInStatement:function(e,t,r,n){return e.initializer!==t||e.expression!==r||e.statement!==n?f(ir(t,r,n),e):e},createForOfStatement:ar,updateForOfStatement:function(e,t,r,n,i){return e.awaitModifier!==t||e.initializer!==r||e.expression!==n||e.statement!==i?f(ar(t,r,n,i),e):e},createContinueStatement:or,updateContinueStatement:function(e,t){return e.label!==t?f(or(t),e):e},createBreakStatement:sr,updateBreakStatement:function(e,t){return e.label!==t?f(sr(t),e):e},createReturnStatement:cr,updateReturnStatement:function(e,t){return e.expression!==t?f(cr(t),e):e},createWithStatement:ur,updateWithStatement:function(e,t,r){return e.expression!==t||e.statement!==r?f(ur(t,r),e):e},createSwitchStatement:lr,updateSwitchStatement:function(e,t,r){return e.expression!==t||e.caseBlock!==r?f(lr(t,r),e):e},createLabeledStatement:dr,updateLabeledStatement:_r,createThrowStatement:pr,updateThrowStatement:function(e,t){return e.expression!==t?f(pr(t),e):e},createTryStatement:fr,updateTryStatement:function(e,t,r,n){return e.tryBlock!==t||e.catchClause!==r||e.finallyBlock!==n?f(fr(t,r,n),e):e},createDebuggerStatement:function(){return N(248)},createVariableDeclaration:gr,updateVariableDeclaration:function(e,t,r,n,i){return e.name!==t||e.type!==n||e.exclamationToken!==r||e.initializer!==i?f(gr(t,r,n,i),e):e},createVariableDeclarationList:mr,updateVariableDeclarationList:function(e,t){return e.declarations!==t?f(mr(t,e.flags),e):e},createFunctionDeclaration:yr,updateFunctionDeclaration:vr,createClassDeclaration:hr,updateClassDeclaration:Dr,createInterfaceDeclaration:xr,updateInterfaceDeclaration:br,createTypeAliasDeclaration:Sr,updateTypeAliasDeclaration:Er,createEnumDeclaration:Cr,updateEnumDeclaration:Tr,createModuleDeclaration:kr,updateModuleDeclaration:Ar,createModuleBlock:Fr,updateModuleBlock:function(e,t){return e.statements!==t?f(Fr(t),e):e},createCaseBlock:Nr,updateCaseBlock:function(e,t){return e.clauses!==t?f(Nr(t),e):e},createNamespaceExportDeclaration:Pr,updateNamespaceExportDeclaration:function(e,t){return e.name!==t?f(Pr(t),e):e},createImportEqualsDeclaration:wr,updateImportEqualsDeclaration:Ir,createImportDeclaration:Or,updateImportDeclaration:Mr,createImportClause:Lr,updateImportClause:function(e,t,r,n){return e.isTypeOnly!==t||e.name!==r||e.namedBindings!==n?f(Lr(t,r,n),e):e},createNamespaceImport:Rr,updateNamespaceImport:function(e,t){return e.name!==t?f(Rr(t),e):e},createNamespaceExport:Br,updateNamespaceExport:function(e,t){return e.name!==t?f(Br(t),e):e},createNamedImports:jr,updateNamedImports:function(e,t){return e.elements!==t?f(jr(t),e):e},createImportSpecifier:Jr,updateImportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Jr(t,r),e):e},createExportAssignment:Kr,updateExportAssignment:zr,createExportDeclaration:Ur,updateExportDeclaration:Vr,createNamedExports:qr,updateNamedExports:function(e,t){return e.elements!==t?f(qr(t),e):e},createExportSpecifier:Wr,updateExportSpecifier:function(e,t,r){return e.propertyName!==t||e.name!==r?f(Wr(t,r),e):e},createMissingDeclaration:function(){return P(271,void 0,void 0)},createExternalModuleReference:Hr,updateExternalModuleReference:function(e,t){return e.expression!==t?f(Hr(t),e):e},get createJSDocAllType(){return x(303)},get createJSDocUnknownType(){return x(304)},get createJSDocNonNullableType(){return b(306)},get updateJSDocNonNullableType(){return S(306)},get createJSDocNullableType(){return b(305)},get updateJSDocNullableType(){return S(305)},get createJSDocOptionalType(){return b(307)},get updateJSDocOptionalType(){return S(307)},get createJSDocVariadicType(){return b(309)},get updateJSDocVariadicType(){return S(309)},get createJSDocNamepathType(){return b(310)},get updateJSDocNamepathType(){return S(310)},createJSDocFunctionType:Yr,updateJSDocFunctionType:function(e,t,r){return e.parameters!==t||e.type!==r?f(Yr(t,r),e):e},createJSDocTypeLiteral:Xr,updateJSDocTypeLiteral:function(e,t,r){return e.jsDocPropertyTags!==t||e.isArrayType!==r?f(Xr(t,r),e):e},createJSDocTypeExpression:Qr,updateJSDocTypeExpression:function(e,t){return e.type!==t?f(Qr(t),e):e},createJSDocSignature:$r,updateJSDocSignature:function(e,t,r,n){return e.typeParameters!==t||e.parameters!==r||e.type!==n?f($r(t,r,n),e):e},createJSDocTemplateTag:tn,updateJSDocTemplateTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.constraint!==r||e.typeParameters!==n||e.comment!==i?f(tn(t,r,n,i),e):e},createJSDocTypedefTag:rn,updateJSDocTypedefTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(rn(t,r,n,i),e):e},createJSDocParameterTag:nn,updateJSDocParameterTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(nn(t,r,n,i,a,o),e):e},createJSDocPropertyTag:an,updateJSDocPropertyTag:function(e,t,r,n,i,a,o){void 0===t&&(t=Zr(e));return e.tagName!==t||e.name!==r||e.isBracketed!==n||e.typeExpression!==i||e.isNameFirst!==a||e.comment!==o?f(an(t,r,n,i,a,o),e):e},createJSDocCallbackTag:on,updateJSDocCallbackTag:function(e,t,r,n,i){void 0===t&&(t=Zr(e));return e.tagName!==t||e.typeExpression!==r||e.fullName!==n||e.comment!==i?f(on(t,r,n,i),e):e},createJSDocAugmentsTag:sn,updateJSDocAugmentsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(sn(t,r,n),e):e},createJSDocImplementsTag:cn,updateJSDocImplementsTag:function(e,t,r,n){void 0===t&&(t=Zr(e));return e.tagName!==t||e.class!==r||e.comment!==n?f(cn(t,r,n),e):e},createJSDocSeeTag:un,updateJSDocSeeTag:function(e,t,r,n){return e.tagName!==t||e.name!==r||e.comment!==n?f(un(t,r,n),e):e},createJSDocNameReference:ln,updateJSDocNameReference:function(e,t){return e.name!==t?f(ln(t),e):e},get createJSDocTypeTag(){return T(329)},get updateJSDocTypeTag(){return k(329)},get createJSDocReturnTag(){return T(327)},get updateJSDocReturnTag(){return k(327)},get createJSDocThisTag(){return T(328)},get updateJSDocThisTag(){return k(328)},get createJSDocEnumTag(){return T(325)},get updateJSDocEnumTag(){return k(325)},get createJSDocAuthorTag(){return E(317)},get updateJSDocAuthorTag(){return C(317)},get createJSDocClassTag(){return E(319)},get updateJSDocClassTag(){return C(319)},get createJSDocPublicTag(){return E(320)},get updateJSDocPublicTag(){return C(320)},get createJSDocPrivateTag(){return E(321)},get updateJSDocPrivateTag(){return C(321)},get createJSDocProtectedTag(){return E(322)},get updateJSDocProtectedTag(){return C(322)},get createJSDocReadonlyTag(){return E(323)},get updateJSDocReadonlyTag(){return C(323)},get createJSDocDeprecatedTag(){return E(318)},get updateJSDocDeprecatedTag(){return C(318)},createJSDocUnknownTag:pn,updateJSDocUnknownTag:function(e,t,r){return e.tagName!==t||e.comment!==r?f(pn(t,r),e):e},createJSDocComment:fn,updateJSDocComment:function(e,t,r){return e.comment!==t||e.tags!==r?f(fn(t,r),e):e},createJsxElement:gn,updateJsxElement:function(e,t,r,n){return e.openingElement!==t||e.children!==r||e.closingElement!==n?f(gn(t,r,n),e):e},createJsxSelfClosingElement:mn,updateJsxSelfClosingElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(mn(t,r,n),e):e},createJsxOpeningElement:yn,updateJsxOpeningElement:function(e,t,r,n){return e.tagName!==t||e.typeArguments!==r||e.attributes!==n?f(yn(t,r,n),e):e},createJsxClosingElement:vn,updateJsxClosingElement:function(e,t){return e.tagName!==t?f(vn(t),e):e},createJsxFragment:hn,createJsxText:Dn,updateJsxText:function(e,t,r){return e.text!==t||e.containsOnlyTriviaWhiteSpaces!==r?f(Dn(t,r),e):e},createJsxOpeningFragment:function(){var e=N(278);return e.transformFlags|=2,e},createJsxJsxClosingFragment:function(){var e=N(279);return e.transformFlags|=2,e},updateJsxFragment:function(e,t,r,n){return e.openingFragment!==t||e.children!==r||e.closingFragment!==n?f(hn(t,r,n),e):e},createJsxAttribute:xn,updateJsxAttribute:function(e,t,r){return e.name!==t||e.initializer!==r?f(xn(t,r),e):e},createJsxAttributes:bn,updateJsxAttributes:function(e,t){return e.properties!==t?f(bn(t),e):e},createJsxSpreadAttribute:Sn,updateJsxSpreadAttribute:function(e,t){return e.expression!==t?f(Sn(t),e):e},createJsxExpression:En,updateJsxExpression:function(e,t){return e.expression!==t?f(En(e.dotDotDotToken,t),e):e},createCaseClause:Cn,updateCaseClause:function(e,t,r){return e.expression!==t||e.statements!==r?f(Cn(t,r),e):e},createDefaultClause:Tn,updateDefaultClause:function(e,t){return e.statements!==t?f(Tn(t),e):e},createHeritageClause:kn,updateHeritageClause:function(e,t){return e.types!==t?f(kn(e.token,t),e):e},createCatchClause:An,updateCatchClause:function(e,t,r){return e.variableDeclaration!==t||e.block!==r?f(An(t,r),e):e},createPropertyAssignment:Fn,updatePropertyAssignment:function(e,t,r){return e.name!==t||e.initializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Fn(t,r),e):e},createShorthandPropertyAssignment:Nn,updateShorthandPropertyAssignment:function(e,t,r){return e.name!==t||e.objectAssignmentInitializer!==r?function(e,t){t.decorators&&(e.decorators=t.decorators);t.modifiers&&(e.modifiers=t.modifiers);t.equalsToken&&(e.equalsToken=t.equalsToken);t.questionToken&&(e.questionToken=t.questionToken);t.exclamationToken&&(e.exclamationToken=t.exclamationToken);return f(e,t)}(Nn(t,r),e):e},createSpreadAssignment:Pn,updateSpreadAssignment:function(e,t){return e.expression!==t?f(Pn(t),e):e},createEnumMember:wn,updateEnumMember:function(e,t,r){return e.name!==t||e.initializer!==r?f(wn(t,r),e):e},createSourceFile:function(e,t,r){var n=p.createBaseSourceFileNode(297);return n.statements=F(e),n.endOfFileToken=t,n.flags|=r,n.fileName="",n.text="",n.languageVersion=0,n.languageVariant=0,n.scriptKind=0,n.isDeclarationFile=!1,n.hasNoDefaultLib=!1,n.transformFlags|=d(n.statements)|l(n.endOfFileToken),n},updateSourceFile:function(t,r,n,i,a,o,s){void 0===n&&(n=t.isDeclarationFile);void 0===i&&(i=t.referencedFiles);void 0===a&&(a=t.typeReferenceDirectives);void 0===o&&(o=t.hasNoDefaultLib);void 0===s&&(s=t.libReferenceDirectives);return t.statements!==r||t.isDeclarationFile!==n||t.referencedFiles!==i||t.typeReferenceDirectives!==a||t.hasNoDefaultLib!==o||t.libReferenceDirectives!==s?f(function(t,r,n,i,a,o,s){var c=p.createBaseSourceFileNode(297);for(var u in t)"emitNode"!==u&&!e.hasProperty(c,u)&&e.hasProperty(t,u)&&(c[u]=t[u]);return c.flags|=t.flags,c.statements=F(r),c.endOfFileToken=t.endOfFileToken,c.isDeclarationFile=n,c.referencedFiles=i,c.typeReferenceDirectives=a,c.hasNoDefaultLib=o,c.libReferenceDirectives=s,c.transformFlags=d(c.statements)|l(c.endOfFileToken),c}(t,r,n,i,a,o,s),t):t},createBundle:In,updateBundle:function(t,r,n){void 0===n&&(n=e.emptyArray);return t.sourceFiles!==r||t.prepends!==n?f(In(r,n),t):t},createUnparsedSource:function(t,r,n){var i=N(299);return i.prologues=t,i.syntheticReferences=r,i.texts=n,i.fileName="",i.text="",i.referencedFiles=e.emptyArray,i.libReferenceDirectives=e.emptyArray,i.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(i,t)},i},createUnparsedPrologue:function(e){return On(292,e)},createUnparsedPrepend:function(e,t){var r=On(293,e);return r.texts=t,r},createUnparsedTextLike:function(e,t){return On(t?295:294,e)},createUnparsedSyntheticReference:function(e){var t=N(296);return t.data=e.data,t.section=e,t},createInputFiles:function(){var e=N(300);return e.javascriptText="",e.declarationText="",e},createSyntheticExpression:function(e,t,r){void 0===t&&(t=!1);var n=N(227);return n.type=e,n.isSpread=t,n.tupleNameSource=r,n},createSyntaxList:function(e){var t=N(334);return t._children=e,t},createNotEmittedStatement:function(t){var r=N(335);return r.original=t,e.setTextRange(r,t),r},createPartiallyEmittedExpression:Mn,updatePartiallyEmittedExpression:Ln,createCommaListExpression:Bn,updateCommaListExpression:function(e,t){return e.elements!==t?f(Bn(t),e):e},createEndOfDeclarationMarker:function(e){var t=N(339);return t.emitNode={},t.original=e,t},createMergeDeclarationMarker:function(e){var t=N(338);return t.emitNode={},t.original=e,t},createSyntheticReferenceExpression:jn,updateSyntheticReferenceExpression:function(e,t,r){return e.expression!==t||e.thisArg!==r?f(jn(t,r),e):e},cloneNode:Jn,get createComma(){return y(27)},get createAssignment(){return y(62)},get createLogicalOr(){return y(56)},get createLogicalAnd(){return y(55)},get createBitwiseOr(){return y(51)},get createBitwiseXor(){return y(52)},get createBitwiseAnd(){return y(50)},get createStrictEquality(){return y(36)},get createStrictInequality(){return y(37)},get createEquality(){return y(34)},get createInequality(){return y(35)},get createLessThan(){return y(29)},get createLessThanEquals(){return y(32)},get createGreaterThan(){return y(31)},get createGreaterThanEquals(){return y(33)},get createLeftShift(){return y(47)},get createRightShift(){return y(48)},get createUnsignedRightShift(){return y(49)},get createAdd(){return y(39)},get createSubtract(){return y(40)},get createMultiply(){return y(41)},get createDivide(){return y(43)},get createModulo(){return y(44)},get createExponent(){return y(42)},get createPrefixPlus(){return h(39)},get createPrefixMinus(){return h(40)},get createPrefixIncrement(){return h(45)},get createPrefixDecrement(){return h(46)},get createBitwiseNot(){return h(54)},get createLogicalNot(){return h(53)},get createPostfixIncrement(){return D(45)},get createPostfixDecrement(){return D(46)},createImmediatelyInvokedFunctionExpression:function(e,t,r){return dt(Dt(void 0,void 0,void 0,void 0,t?[t]:[],void 0,Yt(e,!0)),void 0,r?[r]:[])},createImmediatelyInvokedArrowFunction:function(e,t,r){return dt(bt(void 0,void 0,t?[t]:[],void 0,void 0,Yt(e,!0)),void 0,r?[r]:[])},createVoidZero:Kn,createExportDefault:function(e){return Kr(void 0,void 0,!1,e)},createExternalModuleExport:function(e){return Ur(void 0,void 0,!1,qr([Wr(void 0,e)]))},createTypeCheck:function(e,t){return"undefined"===t?A.createStrictEquality(e,Kn()):A.createStrictEquality(Ct(e),W(t))},createMethodCall:zn,createGlobalMethodCall:Un,createFunctionBindCall:function(e,t,n){return zn(e,"bind",r([t],n))},createFunctionCallCall:function(e,t,n){return zn(e,"call",r([t],n))},createFunctionApplyCall:function(e,t,r){return zn(e,"apply",[t,r])},createArraySliceCall:function(e,t){return zn(e,"slice",void 0===t?[]:[ri(t)])},createArrayConcatCall:function(e,t){return zn(e,"concat",t)},createObjectDefinePropertyCall:function(e,t,r){return Un("Object","defineProperty",[e,ri(t),r])},createPropertyDescriptor:function(t,r){var n=[];Vn(n,"enumerable",ri(t.enumerable)),Vn(n,"configurable",ri(t.configurable));var i=Vn(n,"writable",ri(t.writable));i=Vn(n,"value",t.value)||i;var a=Vn(n,"get",t.get);return a=Vn(n,"set",t.set)||a,e.Debug.assert(!(i&&a),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),it(n,!r)},createCallBinding:function(t,r,n,i){void 0===i&&(i=!1);var a,o,s=e.skipOuterExpressions(t,15);e.isSuperProperty(s)?(a=te(),o=s):e.isSuperKeyword(s)?(a=te(),o=void 0!==n&&n<2?e.setTextRange(X("_super"),s):s):4096&e.getEmitFlags(s)?(a=Kn(),o=g().parenthesizeLeftSideOfAccess(s)):e.isPropertyAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=at(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.name),e.setTextRange(o,s)):(a=s.expression,o=s):e.isElementAccessExpression(s)?qn(s.expression,i)?(a=Q(r),o=ct(e.setTextRange(A.createAssignment(a,s.expression),s.expression),s.argumentExpression),e.setTextRange(o,s)):(a=s.expression,o=s):(a=Kn(),o=g().parenthesizeLeftSideOfAccess(t));return{target:o,thisArg:a}},inlineExpressions:function(t){return t.length>10?Bn(t):e.reduceLeft(t,A.createComma)},getInternalName:function(e,t,r){return Wn(e,t,r,49152)},getLocalName:function(e,t,r){return Wn(e,t,r,16384)},getExportName:Hn,getDeclarationName:function(e,t,r){return Wn(e,t,r)},getNamespaceMemberName:Gn,getExternalModuleOrNamespaceExportName:function(t,r,n,i){if(t&&e.hasSyntacticModifier(r,1))return Gn(t,Wn(r),n,i);return Hn(r,n,i)},restoreOuterExpressions:function t(r,n,i){void 0===i&&(i=15);if(r&&e.isOuterExpression(r,i)&&!function(t){return e.isParenthesizedExpression(t)&&e.nodeIsSynthesized(t)&&e.nodeIsSynthesized(e.getSourceMapRange(t))&&e.nodeIsSynthesized(e.getCommentRange(t))&&!e.some(e.getSyntheticLeadingComments(t))&&!e.some(e.getSyntheticTrailingComments(t))}(r))return function(e,t){switch(e.kind){case 207:return ht(e,t);case 206:return yt(e,e.type,t);case 224:return zt(e,t,e.type);case 225:return Vt(e,t);case 336:return Ln(e,t)}}(r,t(r.expression,n));return n},restoreEnclosingLabel:function t(r,n,i){if(!n)return r;var a=_r(n,n.label,e.isLabeledStatement(n.statement)?t(r,n.statement):r);i&&i(n);return a},createUseStrictPrologue:Xn,copyPrologue:function(e,t,r,n){var i=Qn(e,t,r);return $n(e,t,i,n)},copyStandardPrologue:Qn,copyCustomPrologue:$n,ensureUseStrict:function(t){if(!e.findUseStrictPrologue(t))return e.setTextRange(F(r([Xn()],t)),t);return t},liftToBlock:function(t){return e.Debug.assert(e.every(t,e.isStatementOrBlock),"Cannot lift nodes to a Block."),e.singleOrUndefined(t)||Yt(t)},mergeLexicalEnvironment:function(t,n){if(!e.some(n))return t;var i=Zn(t,e.isPrologueDirective,0),a=Zn(t,e.isHoistedFunction,i),o=Zn(t,e.isHoistedVariableStatement,a),s=Zn(n,e.isPrologueDirective,0),c=Zn(n,e.isHoistedFunction,s),u=Zn(n,e.isHoistedVariableStatement,c),l=Zn(n,e.isCustomPrologue,u);e.Debug.assert(l===n.length,"Expected declarations to be valid standard or custom prologues");var d=e.isNodeArray(t)?t.slice():t;l>u&&d.splice.apply(d,r([o,0],n.slice(u,l)));u>c&&d.splice.apply(d,r([a,0],n.slice(c,u)));c>s&&d.splice.apply(d,r([i,0],n.slice(s,c)));if(s>0)if(0===i)d.splice.apply(d,r([0,0],n.slice(0,s)));else{for(var _=new e.Map,p=0;p=0;p--){var g=n[p];_.has(g.expression.text)||d.unshift(g)}}if(e.isNodeArray(t))return e.setTextRange(F(d,t.hasTrailingComma),t);return t},updateModifiers:function(t,r){var n;"number"==typeof r&&(r=ae(r));return e.isParameter(t)?le(t,t.decorators,r,t.dotDotDotToken,t.name,t.questionToken,t.type,t.initializer):e.isPropertySignature(t)?pe(t,r,t.name,t.questionToken,t.type):e.isPropertyDeclaration(t)?ge(t,t.decorators,r,t.name,null!==(n=t.questionToken)&&void 0!==n?n:t.exclamationToken,t.type,t.initializer):e.isMethodSignature(t)?ye(t,r,t.name,t.questionToken,t.typeParameters,t.parameters,t.type):e.isMethodDeclaration(t)?he(t,t.decorators,r,t.asteriskToken,t.name,t.questionToken,t.typeParameters,t.parameters,t.type,t.body):e.isConstructorDeclaration(t)?xe(t,t.decorators,r,t.parameters,t.body):e.isGetAccessorDeclaration(t)?Se(t,t.decorators,r,t.name,t.parameters,t.type,t.body):e.isSetAccessorDeclaration(t)?Ce(t,t.decorators,r,t.name,t.parameters,t.body):e.isIndexSignatureDeclaration(t)?Fe(t,t.decorators,r,t.parameters,t.type):e.isFunctionExpression(t)?xt(t,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isArrowFunction(t)?St(t,r,t.typeParameters,t.parameters,t.type,t.equalsGreaterThanToken,t.body):e.isClassExpression(t)?jt(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isVariableStatement(t)?Qt(t,r,t.declarationList):e.isFunctionDeclaration(t)?vr(t,t.decorators,r,t.asteriskToken,t.name,t.typeParameters,t.parameters,t.type,t.body):e.isClassDeclaration(t)?Dr(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isInterfaceDeclaration(t)?br(t,t.decorators,r,t.name,t.typeParameters,t.heritageClauses,t.members):e.isTypeAliasDeclaration(t)?Er(t,t.decorators,r,t.name,t.typeParameters,t.type):e.isEnumDeclaration(t)?Tr(t,t.decorators,r,t.name,t.members):e.isModuleDeclaration(t)?Ar(t,t.decorators,r,t.name,t.body):e.isImportEqualsDeclaration(t)?Ir(t,t.decorators,r,t.name,t.moduleReference):e.isImportDeclaration(t)?Mr(t,t.decorators,r,t.importClause,t.moduleSpecifier):e.isExportAssignment(t)?zr(t,t.decorators,r,t.expression):e.isExportDeclaration(t)?Vr(t,t.decorators,r,t.isTypeOnly,t.exportClause,t.moduleSpecifier):e.Debug.assertNever(t)}};return A;function F(t,r){if(void 0===t||t===e.emptyArray)t=[];else if(e.isNodeArray(t))return void 0===t.transformFlags&&_(t),e.Debug.attachNodeArrayDebugInfo(t),t;var n=t.length,i=n>=1&&n<=4?t.slice():t;return e.setTextRangePosEnd(i,-1,-1),i.hasTrailingComma=!!r,_(i),e.Debug.attachNodeArrayDebugInfo(i),i}function N(e){return p.createBaseNode(e)}function P(e,t,r){var n=N(e);return n.decorators=ei(t),n.modifiers=ei(r),n.transformFlags|=d(n.decorators)|d(n.modifiers),n.symbol=void 0,n.localSymbol=void 0,n.locals=void 0,n.nextContainer=void 0,n}function w(t,r,n,i){var a=P(t,r,n);if(i=ti(i),a.name=i,i)switch(a.kind){case 165:case 167:case 168:case 163:case 288:if(e.isIdentifier(i)){a.transformFlags|=u(i);break}default:a.transformFlags|=l(i)}return a}function I(e,t,r,n,i){var a=w(e,t,r,n);return a.typeParameters=ei(i),a.transformFlags|=d(a.typeParameters),i&&(a.transformFlags|=1),a}function O(e,t,r,n,i,a,o){var s=I(e,t,r,n,i);return s.parameters=F(a),s.type=o,s.transformFlags|=d(s.parameters)|l(s.type),o&&(s.transformFlags|=1),s}function M(e,t){return t.typeArguments&&(e.typeArguments=t.typeArguments),f(e,t)}function L(e,t,r,n,i,a,o,s){var c=O(e,t,r,n,i,a,o);return c.body=s,c.transformFlags|=-8388609&l(c.body),s||(c.transformFlags|=1),c}function R(e,t){return t.exclamationToken&&(e.exclamationToken=t.exclamationToken),t.typeArguments&&(e.typeArguments=t.typeArguments),M(e,t)}function B(e,t,r,n,i,a){var o=I(e,t,r,n,i);return o.heritageClauses=ei(a),o.transformFlags|=d(o.heritageClauses),o}function j(e,t,r,n,i,a,o){var s=B(e,t,r,n,i,a);return s.members=F(o),s.transformFlags|=d(s.members),s}function J(e,t,r,n,i){var a=w(e,t,r,n);return a.initializer=i,a.transformFlags|=l(a.initializer),a}function K(e,t,r,n,i,a){var o=J(e,t,r,n,a);return o.type=i,o.transformFlags|=l(i),i&&(o.transformFlags|=1),o}function z(e,t){var r=Z(e);return r.text=t,r}function U(e,t){void 0===t&&(t=0);var r=z(8,"number"==typeof e?e+"":e);return r.numericLiteralFlags=t,384&t&&(r.transformFlags|=256),r}function V(t){var r=z(9,"string"==typeof t?t:e.pseudoBigIntToString(t)+"n");return r.transformFlags|=4,r}function q(e,t){var r=z(10,e);return r.singleQuote=t,r}function W(e,t,r){var n=q(e,t);return n.hasExtendedUnicodeEscape=r,r&&(n.transformFlags|=256),n}function H(e){return z(13,e)}function G(t,r){void 0===r&&t&&(r=e.stringToToken(t)),78===r&&(r=void 0);var n=p.createBaseIdentifierNode(78);return n.originalKeywordKind=r,n.escapedText=e.escapeLeadingUnderscores(t),n}function Y(e,t){var r=G(e,void 0);return r.autoGenerateFlags=t,r.autoGenerateId=n,n++,r}function X(e,t,r){var n=G(e,r);return t&&(n.typeArguments=F(t)),130===n.originalKeywordKind&&(n.transformFlags|=8388608),n}function Q(e,t){var r=1;t&&(r|=8);var n=Y("",r);return e&&e(n),n}function $(t,r){void 0===r&&(r=0),e.Debug.assert(!(7&r),"Argument out of range: flags");var n=Y(t&&e.isIdentifier(t)?e.idText(t):"",4|r);return n.original=t,n}function Z(e){return p.createBaseTokenNode(e)}function ee(t){e.Debug.assert(t>=0&&t<=156,"Invalid token"),e.Debug.assert(t<=14||t>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),e.Debug.assert(t<=8||t>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),e.Debug.assert(78!==t,"Invalid token. Use 'createIdentifier' to create identifiers");var r=Z(t),n=0;switch(t){case 129:n=96;break;case 122:case 120:case 121:case 142:case 125:case 133:case 84:case 128:case 144:case 155:case 141:case 145:case 147:case 131:case 148:case 113:case 152:case 150:n=1;break;case 123:case 105:n=256;break;case 107:n=4096}return n&&(r.transformFlags|=n),r}function te(){return ee(107)}function re(){return ee(109)}function ne(){return ee(94)}function ie(e){return ee(e)}function ae(e){var t=[];return 1&e&&t.push(ie(92)),2&e&&t.push(ie(133)),512&e&&t.push(ie(87)),2048&e&&t.push(ie(84)),4&e&&t.push(ie(122)),8&e&&t.push(ie(120)),16&e&&t.push(ie(121)),128&e&&t.push(ie(125)),32&e&&t.push(ie(123)),64&e&&t.push(ie(142)),256&e&&t.push(ie(129)),t}function oe(e,t){var r=N(157);return r.left=e,r.right=ti(t),r.transformFlags|=l(r.left)|u(r.right),r}function se(e){var t=N(158);return t.expression=g().parenthesizeExpressionOfComputedPropertyName(e),t.transformFlags|=33024|l(t.expression),t}function ce(e,t,r){var n=w(159,void 0,void 0,e);return n.constraint=t,n.default=r,n.transformFlags=1,n}function ue(t,r,n,i,a,o,s){var c=K(160,t,r,i,o,s&&g().parenthesizeExpressionForDisallowedComma(s));return c.dotDotDotToken=n,c.questionToken=a,e.isThisIdentifier(c.name)?c.transformFlags=1:(c.transformFlags|=l(c.dotDotDotToken)|l(c.questionToken),a&&(c.transformFlags|=1),92&e.modifiersToFlags(c.modifiers)&&(c.transformFlags|=2048),(s||n)&&(c.transformFlags|=256)),c}function le(e,t,r,n,i,a,o,s){return e.decorators!==t||e.modifiers!==r||e.dotDotDotToken!==n||e.name!==i||e.questionToken!==a||e.type!==o||e.initializer!==s?f(ue(t,r,n,i,a,o,s),e):e}function de(e){var t=N(161);return t.expression=g().parenthesizeLeftSideOfAccess(e),t.transformFlags|=2049|l(t.expression),t}function _e(e,t,r,n){var i=w(162,void 0,e,t);return i.type=n,i.questionToken=r,i.transformFlags=1,i}function pe(e,t,r,n,i){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.type!==i?f(_e(t,r,n,i),e):e}function fe(t,r,n,i,a,o){var s=K(163,t,r,n,a,o);return s.questionToken=i&&e.isQuestionToken(i)?i:void 0,s.exclamationToken=i&&e.isExclamationToken(i)?i:void 0,s.transformFlags|=l(s.questionToken)|l(s.exclamationToken)|4194304,(e.isComputedPropertyName(s.name)||e.hasStaticModifier(s)&&s.initializer)&&(s.transformFlags|=2048),(i||2&e.modifiersToFlags(s.modifiers))&&(s.transformFlags|=1),s}function ge(t,r,n,i,a,o,s){return t.decorators!==r||t.modifiers!==n||t.name!==i||t.questionToken!==(void 0!==a&&e.isQuestionToken(a)?a:void 0)||t.exclamationToken!==(void 0!==a&&e.isExclamationToken(a)?a:void 0)||t.type!==o||t.initializer!==s?f(fe(r,n,i,a,o,s),t):t}function me(e,t,r,n,i,a){var o=O(164,void 0,e,t,n,i,a);return o.questionToken=r,o.transformFlags=1,o}function ye(e,t,r,n,i,a,o){return e.modifiers!==t||e.name!==r||e.questionToken!==n||e.typeParameters!==i||e.parameters!==a||e.type!==o?M(me(t,r,n,i,a,o),e):e}function ve(t,r,n,i,a,o,s,c,u){var d=L(165,t,r,i,o,s,c,u);return d.asteriskToken=n,d.questionToken=a,d.transformFlags|=l(d.asteriskToken)|l(d.questionToken)|256,a&&(d.transformFlags|=1),256&e.modifiersToFlags(d.modifiers)?d.transformFlags|=n?32:64:n&&(d.transformFlags|=512),d}function he(e,t,r,n,i,a,o,s,c,u){return e.decorators!==t||e.modifiers!==r||e.asteriskToken!==n||e.name!==i||e.questionToken!==a||e.typeParameters!==o||e.parameters!==s||e.type!==c||e.body!==u?R(ve(t,r,n,i,a,o,s,c,u),e):e}function De(e,t,r,n){var i=L(166,e,t,void 0,void 0,r,void 0,n);return i.transformFlags|=256,i}function xe(e,t,r,n,i){return e.decorators!==t||e.modifiers!==r||e.parameters!==n||e.body!==i?R(De(t,r,n,i),e):e}function be(e,t,r,n,i,a){return L(167,e,t,r,void 0,n,i,a)}function Se(e,t,r,n,i,a,o){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.type!==a||e.body!==o?R(be(t,r,n,i,a,o),e):e}function Ee(e,t,r,n,i){return L(168,e,t,r,void 0,n,void 0,i)}function Ce(e,t,r,n,i,a){return e.decorators!==t||e.modifiers!==r||e.name!==n||e.parameters!==i||e.body!==a?R(Ee(t,r,n,i,a),e):e}function Te(e,t,r){var n=O(169,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function ke(e,t,r){var n=O(170,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Ae(e,t,r,n){var i=O(171,e,t,void 0,void 0,r,n);return i.transformFlags=1,i}function Fe(e,t,r,n,i){return e.parameters!==n||e.type!==i||e.decorators!==t||e.modifiers!==r?M(Ae(t,r,n,i),e):e}function Ne(e,t){var r=N(194);return r.type=e,r.literal=t,r.transformFlags=1,r}function Pe(e,t,r){var n=N(172);return n.assertsModifier=e,n.parameterName=ti(t),n.type=r,n.transformFlags=1,n}function we(e,t){var r=N(173);return r.typeName=ti(e),r.typeArguments=t&&g().parenthesizeTypeArguments(F(t)),r.transformFlags=1,r}function Ie(e,t,r){var n=O(174,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Oe(e,t,r){var n=O(175,void 0,void 0,void 0,e,t,r);return n.transformFlags=1,n}function Me(e){var t=N(176);return t.exprName=e,t.transformFlags=1,t}function Le(e){var t=N(177);return t.members=F(e),t.transformFlags=1,t}function Re(e){var t=N(178);return t.elementType=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Be(e){var t=N(179);return t.elements=F(e),t.transformFlags=1,t}function je(e,t,r,n){var i=N(192);return i.dotDotDotToken=e,i.name=t,i.questionToken=r,i.type=n,i.transformFlags=1,i}function Je(e){var t=N(180);return t.type=g().parenthesizeElementTypeOfArrayType(e),t.transformFlags=1,t}function Ke(e){var t=N(181);return t.type=e,t.transformFlags=1,t}function ze(e,t){var r=N(e);return r.types=g().parenthesizeConstituentTypesOfUnionOrIntersectionType(t),r.transformFlags=1,r}function Ue(e,t){return e.types!==t?f(ze(e.kind,t),e):e}function Ve(e,t,r,n){var i=N(184);return i.checkType=g().parenthesizeMemberOfConditionalType(e),i.extendsType=g().parenthesizeMemberOfConditionalType(t),i.trueType=r,i.falseType=n,i.transformFlags=1,i}function qe(e){var t=N(185);return t.typeParameter=e,t.transformFlags=1,t}function We(e,t){var r=N(193);return r.head=e,r.templateSpans=F(t),r.transformFlags=1,r}function He(e,t,r,n){void 0===n&&(n=!1);var i=N(195);return i.argument=e,i.qualifier=t,i.typeArguments=r&&g().parenthesizeTypeArguments(r),i.isTypeOf=n,i.transformFlags=1,i}function Ge(e){var t=N(186);return t.type=e,t.transformFlags=1,t}function Ye(e,t){var r=N(188);return r.operator=e,r.type=g().parenthesizeMemberOfElementType(t),r.transformFlags=1,r}function Xe(e,t){var r=N(189);return r.objectType=g().parenthesizeMemberOfElementType(e),r.indexType=t,r.transformFlags=1,r}function Qe(e,t,r,n,i){var a=N(190);return a.readonlyToken=e,a.typeParameter=t,a.nameType=r,a.questionToken=n,a.type=i,a.transformFlags=1,a}function $e(e){var t=N(191);return t.literal=e,t.transformFlags=1,t}function Ze(e){var t=N(196);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),8192&t.transformFlags&&(t.transformFlags|=16416),t}function et(e){var t=N(197);return t.elements=F(e),t.transformFlags|=131328|d(t.elements),t}function tt(t,r,n,i){var a=J(198,void 0,void 0,n,i);return a.propertyName=ti(r),a.dotDotDotToken=t,a.transformFlags|=256|l(a.dotDotDotToken),a.propertyName&&(a.transformFlags|=e.isIdentifier(a.propertyName)?u(a.propertyName):l(a.propertyName)),t&&(a.transformFlags|=8192),a}function rt(e){return N(e)}function nt(e,t){var r=rt(199);return r.elements=g().parenthesizeExpressionsOfCommaDelimitedList(F(e)),r.multiLine=t,r.transformFlags|=d(r.elements),r}function it(e,t){var r=rt(200);return r.properties=F(e),r.multiLine=t,r.transformFlags|=d(r.properties),r}function at(t,r){var n=rt(201);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.name=ti(r),n.transformFlags=l(n.expression)|(e.isIdentifier(n.name)?u(n.name):l(n.name)),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ot(t,r,n){var i=rt(201);return i.flags|=32,i.expression=g().parenthesizeLeftSideOfAccess(t),i.questionDotToken=r,i.name=ti(n),i.transformFlags|=8|l(i.expression)|l(i.questionDotToken)|(e.isIdentifier(i.name)?u(i.name):l(i.name)),i}function st(t,r,n,i){return e.Debug.assert(!!(32&t.flags),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),t.expression!==r||t.questionDotToken!==n||t.name!==i?f(ot(r,n,i),t):t}function ct(t,r){var n=rt(202);return n.expression=g().parenthesizeLeftSideOfAccess(t),n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.argumentExpression),e.isSuperKeyword(t)&&(n.transformFlags|=96),n}function ut(e,t,r){var n=rt(202);return n.flags|=32,n.expression=g().parenthesizeLeftSideOfAccess(e),n.questionDotToken=t,n.argumentExpression=ri(r),n.transformFlags|=l(n.expression)|l(n.questionDotToken)|l(n.argumentExpression)|8,n}function lt(t,r,n,i){return e.Debug.assert(!!(32&t.flags),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),t.expression!==r||t.questionDotToken!==n||t.argumentExpression!==i?f(ut(r,n,i),t):t}function dt(t,r,n){var i=rt(203);return i.expression=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(n)),i.transformFlags|=l(i.expression)|d(i.typeArguments)|d(i.arguments),i.typeArguments&&(i.transformFlags|=1),e.isImportKeyword(i.expression)?i.transformFlags|=2097152:e.isSuperProperty(i.expression)&&(i.transformFlags|=4096),i}function _t(t,r,n,i){var a=rt(203);return a.flags|=32,a.expression=g().parenthesizeLeftSideOfAccess(t),a.questionDotToken=r,a.typeArguments=ei(n),a.arguments=g().parenthesizeExpressionsOfCommaDelimitedList(F(i)),a.transformFlags|=l(a.expression)|l(a.questionDotToken)|d(a.typeArguments)|d(a.arguments)|8,a.typeArguments&&(a.transformFlags|=1),e.isSuperProperty(a.expression)&&(a.transformFlags|=4096),a}function pt(t,r,n,i,a){return e.Debug.assert(!!(32&t.flags),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),t.expression!==r||t.questionDotToken!==n||t.typeArguments!==i||t.arguments!==a?f(_t(r,n,i,a),t):t}function ft(e,t,r){var n=rt(204);return n.expression=g().parenthesizeExpressionOfNew(e),n.typeArguments=ei(t),n.arguments=r?g().parenthesizeExpressionsOfCommaDelimitedList(r):void 0,n.transformFlags|=l(n.expression)|d(n.typeArguments)|d(n.arguments)|8,n.typeArguments&&(n.transformFlags|=1),n}function gt(t,r,n){var i=rt(205);return i.tag=g().parenthesizeLeftSideOfAccess(t),i.typeArguments=ei(r),i.template=n,i.transformFlags|=l(i.tag)|d(i.typeArguments)|l(i.template)|256,i.typeArguments&&(i.transformFlags|=1),e.hasInvalidEscape(i.template)&&(i.transformFlags|=32),i}function mt(e,t){var r=rt(206);return r.expression=g().parenthesizeOperandOfPrefixUnary(t),r.type=e,r.transformFlags|=l(r.expression)|l(r.type)|1,r}function yt(e,t,r){return e.type!==t||e.expression!==r?f(mt(t,r),e):e}function vt(e){var t=rt(207);return t.expression=e,t.transformFlags=l(t.expression),t}function ht(e,t){return e.expression!==t?f(vt(t),e):e}function Dt(t,r,n,i,a,o,s){var c=L(208,void 0,t,n,i,a,o,s);return c.asteriskToken=r,c.transformFlags|=l(c.asteriskToken),c.typeParameters&&(c.transformFlags|=1),256&e.modifiersToFlags(c.modifiers)?c.asteriskToken?c.transformFlags|=32:c.transformFlags|=64:c.asteriskToken&&(c.transformFlags|=512),c}function xt(e,t,r,n,i,a,o,s){return e.name!==n||e.modifiers!==t||e.asteriskToken!==r||e.typeParameters!==i||e.parameters!==a||e.type!==o||e.body!==s?R(Dt(t,r,n,i,a,o,s),e):e}function bt(t,r,n,i,a,o){var s=L(209,void 0,t,void 0,r,n,i,g().parenthesizeConciseBodyOfArrowFunction(o));return s.equalsGreaterThanToken=null!=a?a:ee(38),s.transformFlags|=256|l(s.equalsGreaterThanToken),256&e.modifiersToFlags(s.modifiers)&&(s.transformFlags|=64),s}function St(e,t,r,n,i,a,o){return e.modifiers!==t||e.typeParameters!==r||e.parameters!==n||e.type!==i||e.equalsGreaterThanToken!==a||e.body!==o?R(bt(t,r,n,i,a,o),e):e}function Et(e){var t=rt(210);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Ct(e){var t=rt(211);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function Tt(e){var t=rt(212);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=l(t.expression),t}function kt(e){var t=rt(213);return t.expression=g().parenthesizeOperandOfPrefixUnary(e),t.transformFlags|=524384|l(t.expression),t}function At(e,t){var r=rt(214);return r.operator=e,r.operand=g().parenthesizeOperandOfPrefixUnary(t),r.transformFlags|=l(r.operand),r}function Ft(e,t){var r=rt(215);return r.operator=t,r.operand=g().parenthesizeOperandOfPostfixUnary(e),r.transformFlags=l(r.operand),r}function Nt(t,r,n){var i,a=rt(216),o="number"==typeof(i=r)?ee(i):i,s=o.kind;return a.left=g().parenthesizeLeftSideOfBinary(s,t),a.operatorToken=o,a.right=g().parenthesizeRightSideOfBinary(s,a.left,n),a.transformFlags|=l(a.left)|l(a.operatorToken)|l(a.right),60===s?a.transformFlags|=8:62===s?e.isObjectLiteralExpression(a.left)?a.transformFlags|=1312|Pt(a.left):e.isArrayLiteralExpression(a.left)&&(a.transformFlags|=1280|Pt(a.left)):42===s||66===s?a.transformFlags|=128:e.isLogicalOrCoalescingAssignmentOperator(s)&&(a.transformFlags|=4),a}function Pt(t){if(16384&t.transformFlags)return 16384;if(32&t.transformFlags)for(var r=0,n=e.getElementsOfBindingOrAssignmentPattern(t);r0;default:return!0}}function Wn(t,r,n,i){void 0===i&&(i=0);var a=e.getNameOfDeclaration(t);if(a&&e.isIdentifier(a)&&!e.isGeneratedIdentifier(a)){var o=e.setParent(e.setTextRange(Jn(a),a),a.parent);return i|=e.getEmitFlags(a),n||(i|=48),r||(i|=1536),i&&e.setEmitFlags(o,i),o}return $(t)}function Hn(e,t,r){return Wn(e,t,r,8192)}function Gn(t,r,n,i){var a=at(t,e.nodeIsSynthesized(r)?r:Jn(r));e.setTextRange(a,r);var o=0;return i||(o|=48),n||(o|=1536),o&&e.setEmitFlags(a,o),a}function Yn(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function Xn(){return e.startOnNewLine(Zt(W("use strict")))}function Qn(t,r,n){e.Debug.assert(0===r.length,"Prologue directives should be at the first statement in the target statements array");for(var i=!1,a=0,o=t.length;a=172&&e<=195)return-2;switch(e){case 203:case 204:case 199:return 536879104;case 256:return 546379776;case 160:return 536870912;case 209:return 547309568;case 208:case 251:return 547313664;case 250:return 537018368;case 252:case 221:return 536905728;case 166:return 547311616;case 163:return 536875008;case 165:case 167:case 168:return 538923008;case 128:case 144:case 155:case 141:case 147:case 145:case 131:case 148:case 113:case 159:case 162:case 164:case 169:case 170:case 171:case 253:case 254:return-2;case 200:return 536922112;case 287:return 536887296;case 196:case 197:return 536879104;case 206:case 224:case 336:case 207:case 105:return 536870912;case 201:case 202:default:return 536870912}}e.getTransformFlagsSubtreeExclusions=p;var f=e.createBaseNodeFactory();function g(e){return e.flags|=8,e}var m,y={createBaseSourceFileNode:function(e){return g(f.createBaseSourceFileNode(e))},createBaseIdentifierNode:function(e){return g(f.createBaseIdentifierNode(e))},createBasePrivateIdentifierNode:function(e){return g(f.createBasePrivateIdentifierNode(e))},createBaseTokenNode:function(e){return g(f.createBaseTokenNode(e))},createBaseNode:function(e){return g(f.createBaseNode(e))}};function v(t,r){if(t.original=r,r){var n=r.emitNode;n&&(t.emitNode=function(t,r){var n=t.flags,i=t.leadingComments,a=t.trailingComments,o=t.commentRange,s=t.sourceMapRange,c=t.tokenSourceMapRanges,u=t.constantValue,l=t.helpers,d=t.startsOnNewLine;r||(r={});i&&(r.leadingComments=e.addRange(i.slice(),r.leadingComments));a&&(r.trailingComments=e.addRange(a.slice(),r.trailingComments));n&&(r.flags=n);o&&(r.commentRange=o);s&&(r.sourceMapRange=s);c&&(r.tokenSourceMapRanges=function(e,t){t||(t=[]);for(var r in e)t[r]=e[r];return t}(c,r.tokenSourceMapRanges));void 0!==u&&(r.constantValue=u);if(l)for(var _=0,p=l;_0&&(o[u-c]=l)}c>0&&(o.length-=c)}},e.ignoreSourceNewlines=function(e){return t(e).flags|=134217728,e}}(u||(u={})),function(e){function t(e){for(var t=[],r=1;r=2)return n.createCallExpression(n.createPropertyAccessExpression(n.createIdentifier("Object"),"assign"),void 0,r);return t.requestEmitHelper(e.assignHelper),n.createCallExpression(i("__assign"),void 0,r)},createAwaitHelper:function(r){return t.requestEmitHelper(e.awaitHelper),n.createCallExpression(i("__await"),void 0,[r])},createAsyncGeneratorHelper:function(r,a){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncGeneratorHelper),(r.emitNode||(r.emitNode={})).flags|=786432,n.createCallExpression(i("__asyncGenerator"),void 0,[a?n.createThis():n.createVoidZero(),n.createIdentifier("arguments"),r])},createAsyncDelegatorHelper:function(r){return t.requestEmitHelper(e.awaitHelper),t.requestEmitHelper(e.asyncDelegator),n.createCallExpression(i("__asyncDelegator"),void 0,[r])},createAsyncValuesHelper:function(r){return t.requestEmitHelper(e.asyncValues),n.createCallExpression(i("__asyncValues"),void 0,[r])},createRestHelper:function(r,a,o,s){t.requestEmitHelper(e.restHelper);for(var c=[],u=0,l=0;l= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n };'},e.metadataHelper={name:"typescript:metadata",importName:"__metadata",scoped:!1,priority:3,text:'\n var __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n };'},e.paramHelper={name:"typescript:param",importName:"__param",scoped:!1,priority:4,text:"\n var __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n };"},e.assignHelper={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };"},e.awaitHelper={name:"typescript:await",importName:"__await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"},e.asyncGeneratorHelper={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume("next", value); }\n function reject(value) { resume("throw", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n };'},e.asyncDelegator={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[e.awaitHelper],text:'\n var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\n };'},e.asyncValues={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'},e.restHelper={name:"typescript:rest",importName:"__rest",scoped:!1,text:'\n var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === "function")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n };'},e.awaiterHelper={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'},e.extendsHelper={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:"\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();"},e.templateObjectHelper={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'},e.readHelper={name:"typescript:read",importName:"__read",scoped:!1,text:'\n var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === "function" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i["return"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n };'},e.spreadHelper={name:"typescript:spread",importName:"__spread",scoped:!1,dependencies:[e.readHelper],text:"\n var __spread = (this && this.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n };"},e.spreadArraysHelper={name:"typescript:spreadArrays",importName:"__spreadArrays",scoped:!1,text:"\n var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n };"},e.valuesHelper={name:"typescript:values",importName:"__values",scoped:!1,text:'\n var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === "number") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\n };'},e.generatorHelper={name:"typescript:generator",importName:"__generator",scoped:!1,priority:6,text:'\n var __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError("Generator is already executing.");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n };'},e.createBindingHelper={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:"\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));"},e.setModuleDefaultHelper={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:'\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, "default", { enumerable: true, value: v });\n }) : function(o, v) {\n o["default"] = v;\n });'},e.importStarHelper={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[e.createBindingHelper,e.setModuleDefaultHelper],priority:2,text:'\n var __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };'},e.importDefaultHelper={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:'\n var __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n };'},e.exportStarHelper={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[e.createBindingHelper],priority:2,text:'\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n };'},e.classPrivateFieldGetHelper={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:'\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError("attempted to get private field on non-instance");\n }\n return privateMap.get(receiver);\n };'},e.classPrivateFieldSetHelper={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:'\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError("attempted to set private field on non-instance");\n }\n privateMap.set(receiver, value);\n return value;\n };'},e.getAllUnscopedEmitHelpers=function(){return n||(n=e.arrayToMap([e.decorateHelper,e.metadataHelper,e.paramHelper,e.assignHelper,e.awaitHelper,e.asyncGeneratorHelper,e.asyncDelegator,e.asyncValues,e.restHelper,e.awaiterHelper,e.extendsHelper,e.templateObjectHelper,e.spreadHelper,e.spreadArraysHelper,e.valuesHelper,e.readHelper,e.generatorHelper,e.importStarHelper,e.importDefaultHelper,e.exportStarHelper,e.classPrivateFieldGetHelper,e.classPrivateFieldSetHelper,e.createBindingHelper,e.setModuleDefaultHelper],(function(e){return e.name})))},e.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:t(a(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")},e.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:t(a(["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"],["\n const "," = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n })(name => super[name], (name, value) => super[name] = value);"]),"_superIndex")}}(u||(u={})),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isIdentifier=function(e){return 78===e.kind},e.isQualifiedName=function(e){return 157===e.kind},e.isComputedPropertyName=function(e){return 158===e.kind},e.isPrivateIdentifier=function(e){return 79===e.kind},e.isSuperKeyword=function(e){return 105===e.kind},e.isImportKeyword=function(e){return 99===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isTypeParameterDeclaration=function(e){return 159===e.kind},e.isParameter=function(e){return 160===e.kind},e.isDecorator=function(e){return 161===e.kind},e.isPropertySignature=function(e){return 162===e.kind},e.isPropertyDeclaration=function(e){return 163===e.kind},e.isMethodSignature=function(e){return 164===e.kind},e.isMethodDeclaration=function(e){return 165===e.kind},e.isConstructorDeclaration=function(e){return 166===e.kind},e.isGetAccessorDeclaration=function(e){return 167===e.kind},e.isSetAccessorDeclaration=function(e){return 168===e.kind},e.isCallSignatureDeclaration=function(e){return 169===e.kind},e.isConstructSignatureDeclaration=function(e){return 170===e.kind},e.isIndexSignatureDeclaration=function(e){return 171===e.kind},e.isTypePredicateNode=function(e){return 172===e.kind},e.isTypeReferenceNode=function(e){return 173===e.kind},e.isFunctionTypeNode=function(e){return 174===e.kind},e.isConstructorTypeNode=function(e){return 175===e.kind},e.isTypeQueryNode=function(e){return 176===e.kind},e.isTypeLiteralNode=function(e){return 177===e.kind},e.isArrayTypeNode=function(e){return 178===e.kind},e.isTupleTypeNode=function(e){return 179===e.kind},e.isNamedTupleMember=function(e){return 192===e.kind},e.isOptionalTypeNode=function(e){return 180===e.kind},e.isRestTypeNode=function(e){return 181===e.kind},e.isUnionTypeNode=function(e){return 182===e.kind},e.isIntersectionTypeNode=function(e){return 183===e.kind},e.isConditionalTypeNode=function(e){return 184===e.kind},e.isInferTypeNode=function(e){return 185===e.kind},e.isParenthesizedTypeNode=function(e){return 186===e.kind},e.isThisTypeNode=function(e){return 187===e.kind},e.isTypeOperatorNode=function(e){return 188===e.kind},e.isIndexedAccessTypeNode=function(e){return 189===e.kind},e.isMappedTypeNode=function(e){return 190===e.kind},e.isLiteralTypeNode=function(e){return 191===e.kind},e.isImportTypeNode=function(e){return 195===e.kind},e.isTemplateLiteralTypeSpan=function(e){return 194===e.kind},e.isTemplateLiteralTypeNode=function(e){return 193===e.kind},e.isObjectBindingPattern=function(e){return 196===e.kind},e.isArrayBindingPattern=function(e){return 197===e.kind},e.isBindingElement=function(e){return 198===e.kind},e.isArrayLiteralExpression=function(e){return 199===e.kind},e.isObjectLiteralExpression=function(e){return 200===e.kind},e.isPropertyAccessExpression=function(e){return 201===e.kind},e.isElementAccessExpression=function(e){return 202===e.kind},e.isCallExpression=function(e){return 203===e.kind},e.isNewExpression=function(e){return 204===e.kind},e.isTaggedTemplateExpression=function(e){return 205===e.kind},e.isTypeAssertionExpression=function(e){return 206===e.kind},e.isParenthesizedExpression=function(e){return 207===e.kind},e.isFunctionExpression=function(e){return 208===e.kind},e.isArrowFunction=function(e){return 209===e.kind},e.isDeleteExpression=function(e){return 210===e.kind},e.isTypeOfExpression=function(e){return 211===e.kind},e.isVoidExpression=function(e){return 212===e.kind},e.isAwaitExpression=function(e){return 213===e.kind},e.isPrefixUnaryExpression=function(e){return 214===e.kind},e.isPostfixUnaryExpression=function(e){return 215===e.kind},e.isBinaryExpression=function(e){return 216===e.kind},e.isConditionalExpression=function(e){return 217===e.kind},e.isTemplateExpression=function(e){return 218===e.kind},e.isYieldExpression=function(e){return 219===e.kind},e.isSpreadElement=function(e){return 220===e.kind},e.isClassExpression=function(e){return 221===e.kind},e.isOmittedExpression=function(e){return 222===e.kind},e.isExpressionWithTypeArguments=function(e){return 223===e.kind},e.isAsExpression=function(e){return 224===e.kind},e.isNonNullExpression=function(e){return 225===e.kind},e.isMetaProperty=function(e){return 226===e.kind},e.isSyntheticExpression=function(e){return 227===e.kind},e.isPartiallyEmittedExpression=function(e){return 336===e.kind},e.isCommaListExpression=function(e){return 337===e.kind},e.isTemplateSpan=function(e){return 228===e.kind},e.isSemicolonClassElement=function(e){return 229===e.kind},e.isBlock=function(e){return 230===e.kind},e.isVariableStatement=function(e){return 232===e.kind},e.isEmptyStatement=function(e){return 231===e.kind},e.isExpressionStatement=function(e){return 233===e.kind},e.isIfStatement=function(e){return 234===e.kind},e.isDoStatement=function(e){return 235===e.kind},e.isWhileStatement=function(e){return 236===e.kind},e.isForStatement=function(e){return 237===e.kind},e.isForInStatement=function(e){return 238===e.kind},e.isForOfStatement=function(e){return 239===e.kind},e.isContinueStatement=function(e){return 240===e.kind},e.isBreakStatement=function(e){return 241===e.kind},e.isReturnStatement=function(e){return 242===e.kind},e.isWithStatement=function(e){return 243===e.kind},e.isSwitchStatement=function(e){return 244===e.kind},e.isLabeledStatement=function(e){return 245===e.kind},e.isThrowStatement=function(e){return 246===e.kind},e.isTryStatement=function(e){return 247===e.kind},e.isDebuggerStatement=function(e){return 248===e.kind},e.isVariableDeclaration=function(e){return 249===e.kind},e.isVariableDeclarationList=function(e){return 250===e.kind},e.isFunctionDeclaration=function(e){return 251===e.kind},e.isClassDeclaration=function(e){return 252===e.kind},e.isInterfaceDeclaration=function(e){return 253===e.kind},e.isTypeAliasDeclaration=function(e){return 254===e.kind},e.isEnumDeclaration=function(e){return 255===e.kind},e.isModuleDeclaration=function(e){return 256===e.kind},e.isModuleBlock=function(e){return 257===e.kind},e.isCaseBlock=function(e){return 258===e.kind},e.isNamespaceExportDeclaration=function(e){return 259===e.kind},e.isImportEqualsDeclaration=function(e){return 260===e.kind},e.isImportDeclaration=function(e){return 261===e.kind},e.isImportClause=function(e){return 262===e.kind},e.isNamespaceImport=function(e){return 263===e.kind},e.isNamespaceExport=function(e){return 269===e.kind},e.isNamedImports=function(e){return 264===e.kind},e.isImportSpecifier=function(e){return 265===e.kind},e.isExportAssignment=function(e){return 266===e.kind},e.isExportDeclaration=function(e){return 267===e.kind},e.isNamedExports=function(e){return 268===e.kind},e.isExportSpecifier=function(e){return 270===e.kind},e.isMissingDeclaration=function(e){return 271===e.kind},e.isNotEmittedStatement=function(e){return 335===e.kind},e.isSyntheticReference=function(e){return 340===e.kind},e.isMergeDeclarationMarker=function(e){return 338===e.kind},e.isEndOfDeclarationMarker=function(e){return 339===e.kind},e.isExternalModuleReference=function(e){return 272===e.kind},e.isJsxElement=function(e){return 273===e.kind},e.isJsxSelfClosingElement=function(e){return 274===e.kind},e.isJsxOpeningElement=function(e){return 275===e.kind},e.isJsxClosingElement=function(e){return 276===e.kind},e.isJsxFragment=function(e){return 277===e.kind},e.isJsxOpeningFragment=function(e){return 278===e.kind},e.isJsxClosingFragment=function(e){return 279===e.kind},e.isJsxAttribute=function(e){return 280===e.kind},e.isJsxAttributes=function(e){return 281===e.kind},e.isJsxSpreadAttribute=function(e){return 282===e.kind},e.isJsxExpression=function(e){return 283===e.kind},e.isCaseClause=function(e){return 284===e.kind},e.isDefaultClause=function(e){return 285===e.kind},e.isHeritageClause=function(e){return 286===e.kind},e.isCatchClause=function(e){return 287===e.kind},e.isPropertyAssignment=function(e){return 288===e.kind},e.isShorthandPropertyAssignment=function(e){return 289===e.kind},e.isSpreadAssignment=function(e){return 290===e.kind},e.isEnumMember=function(e){return 291===e.kind},e.isUnparsedPrepend=function(e){return 293===e.kind},e.isSourceFile=function(e){return 297===e.kind},e.isBundle=function(e){return 298===e.kind},e.isUnparsedSource=function(e){return 299===e.kind},e.isJSDocTypeExpression=function(e){return 301===e.kind},e.isJSDocNameReference=function(e){return 302===e.kind},e.isJSDocAllType=function(e){return 303===e.kind},e.isJSDocUnknownType=function(e){return 304===e.kind},e.isJSDocNullableType=function(e){return 305===e.kind},e.isJSDocNonNullableType=function(e){return 306===e.kind},e.isJSDocOptionalType=function(e){return 307===e.kind},e.isJSDocFunctionType=function(e){return 308===e.kind},e.isJSDocVariadicType=function(e){return 309===e.kind},e.isJSDocNamepathType=function(e){return 310===e.kind},e.isJSDoc=function(e){return 311===e.kind},e.isJSDocTypeLiteral=function(e){return 312===e.kind},e.isJSDocSignature=function(e){return 313===e.kind},e.isJSDocAugmentsTag=function(e){return 315===e.kind},e.isJSDocAuthorTag=function(e){return 317===e.kind},e.isJSDocClassTag=function(e){return 319===e.kind},e.isJSDocCallbackTag=function(e){return 324===e.kind},e.isJSDocPublicTag=function(e){return 320===e.kind},e.isJSDocPrivateTag=function(e){return 321===e.kind},e.isJSDocProtectedTag=function(e){return 322===e.kind},e.isJSDocReadonlyTag=function(e){return 323===e.kind},e.isJSDocDeprecatedTag=function(e){return 318===e.kind},e.isJSDocEnumTag=function(e){return 325===e.kind},e.isJSDocParameterTag=function(e){return 326===e.kind},e.isJSDocReturnTag=function(e){return 327===e.kind},e.isJSDocThisTag=function(e){return 328===e.kind},e.isJSDocTypeTag=function(e){return 329===e.kind},e.isJSDocTemplateTag=function(e){return 330===e.kind},e.isJSDocTypedefTag=function(e){return 331===e.kind},e.isJSDocUnknownTag=function(e){return 314===e.kind},e.isJSDocPropertyTag=function(e){return 333===e.kind},e.isJSDocImplementsTag=function(e){return 316===e.kind},e.isSyntaxList=function(e){return 334===e.kind}}(u||(u={})),function(e){function t(t,r,n,i){if(e.isComputedPropertyName(n))return e.setTextRange(t.createElementAccessExpression(r,n.expression),i);var a=e.setTextRange(e.isIdentifierOrPrivateIdentifier(n)?t.createPropertyAccessExpression(r,n):t.createElementAccessExpression(r,n),n);return e.getOrCreateEmitNode(a).flags|=64,a}function n(t,r){var n=e.parseNodeFactory.createIdentifier(t||"React");return e.setParent(n,e.getParseTreeNode(r)),n}function i(t,r,a){if(e.isQualifiedName(r)){var o=i(t,r.left,a),s=t.createIdentifier(e.idText(r.right));return s.escapedText=r.right.escapedText,t.createPropertyAccessExpression(o,s)}return n(e.idText(r),a)}function a(e,t,r,a){return t?i(e,t,a):e.createPropertyAccessExpression(n(r,a),"createElement")}function o(t,r){return e.isIdentifier(r)?t.createStringLiteralFromNode(r):e.isComputedPropertyName(r)?e.setParent(e.setTextRange(t.cloneNode(r.expression),r.expression),r.expression.parent):e.setParent(e.setTextRange(t.cloneNode(r),r),r.parent)}function s(t){return e.isStringLiteral(t.expression)&&"use strict"===t.expression.text}function c(e,t){switch(void 0===t&&(t=15),e.kind){case 207:return 0!=(1&t);case 206:case 224:return 0!=(2&t);case 225:return 0!=(4&t);case 336:return 0!=(8&t)}return!1}function u(e,t){for(void 0===t&&(t=15);c(e,t);)e=e.expression;return e}function l(t){return e.setStartsOnNewLine(t,!0)}function d(t){var r=e.getOriginalNode(t,e.isSourceFile),n=r&&r.emitNode;return n&&n.externalHelpersModuleName}function _(t,r,n,i,a){if(n.importHelpers&&e.isEffectiveExternalModule(r,n)){var o=d(r);if(o)return o;var s=e.getEmitModuleKind(n),c=(i||n.esModuleInterop&&a)&&s!==e.ModuleKind.System&&s0)if(i||s.push(t.createNull()),a.length>1)for(var c=0,u=a;c0)if(c.length>1)for(var p=0,f=c;p=e.ModuleKind.ES2015&&u<=e.ModuleKind.ESNext){var l=e.getEmitHelpers(n);if(l){for(var d=[],p=0,f=l;pt.checkJsDirective.pos)&&(t.checkJsDirective={enabled:"ts-check"===i,end:e.range.end,pos:e.range.pos})}));break;case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:e.Debug.fail("Unhandled pragma kind")}}))}!function(e){e[e.None=0]="None",e[e.Yield=1]="Yield",e[e.Await=2]="Await",e[e.Type=4]="Type",e[e.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",e[e.JSDoc=32]="JSDoc"}(t||(t={})),function(e){e[e.TryParse=0]="TryParse",e[e.Lookahead=1]="Lookahead",e[e.Reparse=2]="Reparse"}(r||(r={})),e.parseBaseNodeFactory={createBaseSourceFileNode:function(t){return new(s||(s=e.objectAllocator.getSourceFileConstructor()))(t,-1,-1)},createBaseIdentifierNode:function(t){return new(a||(a=e.objectAllocator.getIdentifierConstructor()))(t,-1,-1)},createBasePrivateIdentifierNode:function(t){return new(o||(o=e.objectAllocator.getPrivateIdentifierConstructor()))(t,-1,-1)},createBaseTokenNode:function(t){return new(i||(i=e.objectAllocator.getTokenConstructor()))(t,-1,-1)},createBaseNode:function(t){return new(n||(n=e.objectAllocator.getNodeConstructor()))(t,-1,-1)}},e.parseNodeFactory=e.createNodeFactory(1,e.parseBaseNodeFactory),e.isJSDocLikeText=_,e.forEachChild=p,e.forEachChildRecursively=function(t,r,n){for(var i=[t];i.length;){var a=i.pop(),o=c(a,s(a));if(o)return o}return;function s(e){var t=[];return p(e,r,r),t;function r(e){t.unshift(e)}}function c(t,a){for(var o=0,s=a;o=0;u--){var l=c[u];if(d=r(l,t)){if("skip"===d)continue;return d}i.push(l)}}else{var d;if(i.push(c),d=r(c,t)){if("skip"===d)continue;return d}}}}},e.createSourceFile=function(t,r,n,i,a){void 0===i&&(i=!1);var o,s=["parse","createSourceFile",{path:t}];return e.tracing.begin.apply(e.tracing,s),e.performance.mark("beforeParse"),e.perfLogger.logStartParseSourceFile(t),o=100===n?c.parseSourceFile(t,r,n,void 0,i,6):c.parseSourceFile(t,r,n,void 0,i,a),e.perfLogger.logStopParseSourceFile(),e.performance.mark("afterParse"),e.performance.measure("Parse","beforeParse","afterParse"),e.tracing.end.apply(e.tracing,s),o},e.parseIsolatedEntityName=function(e,t){return c.parseIsolatedEntityName(e,t)},e.parseJsonText=function(e,t){return c.parseJsonText(e,t)},e.isExternalModule=f,e.updateSourceFile=function(e,t,r,n){void 0===n&&(n=!1);var i=u.updateSourceFile(e,t,r,n);return i.flags|=3145728&e.flags,i},e.parseIsolatedJSDocComment=function(e,t,r){var n=c.JSDocParser.parseIsolatedJSDocComment(e,t,r);return n&&n.jsDoc&&c.fixupParentReferences(n.jsDoc),n},e.parseJSDocTypeExpressionForTests=function(e,t,r){return c.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)},function(t){var r,n,i,a,o,s=e.createScanner(99,!0),c=20480;function l(e){return A++,e}var d,v,h,D,x,b,S,C,T,k,A,F,N,P,w,I,O,M={createBaseSourceFileNode:function(e){return l(new o(e,0,0))},createBaseIdentifierNode:function(e){return l(new i(e,0,0))},createBasePrivateIdentifierNode:function(e){return l(new a(e,0,0))},createBaseTokenNode:function(e){return l(new n(e,0,0))},createBaseNode:function(e){return l(new r(e,0,0))}},L=e.createNodeFactory(11,M),R=!0,B=!1;function j(t,r,n,i,a){void 0===n&&(n=2),void 0===a&&(a=!1),J(t,r,n,i,6),v=O,xe();var o,s,c=me();if(1===ve())o=ze([],c,c),s=je();else{var u=void 0;switch(ve()){case 22:u=Sn();break;case 109:case 94:case 103:u=je();break;case 40:u=Fe((function(){return 8===xe()&&58!==xe()}))?Qr():Cn();break;case 8:case 10:if(Fe((function(){return 58!==xe()}))){u=It();break}default:u=Cn()}var l=L.createExpressionStatement(u);Ue(l,c),o=ze([l],c),s=Be(1,e.Diagnostics.Unexpected_token)}var d=X(t,2,6,!1,o,s,v);a&&Y(d),d.nodeCount=A,d.identifierCount=P,d.identifiers=F,d.parseDiagnostics=e.attachFileToDiagnostics(S,d),C&&(d.jsDocDiagnostics=e.attachFileToDiagnostics(C,d));var _=d;return K(),_}function J(t,c,u,l,_){switch(r=e.objectAllocator.getNodeConstructor(),n=e.objectAllocator.getTokenConstructor(),i=e.objectAllocator.getIdentifierConstructor(),a=e.objectAllocator.getPrivateIdentifierConstructor(),o=e.objectAllocator.getSourceFileConstructor(),d=e.normalizePath(t),h=c,D=u,T=l,x=_,b=e.getLanguageVariant(_),S=[],w=0,F=new e.Map,N=new e.Map,P=0,A=0,v=0,R=!0,x){case 1:case 2:O=131072;break;case 6:O=33685504;break;default:O=0}B=!1,s.setText(h),s.setOnError(ge),s.setScriptTarget(D),s.setLanguageVariant(b)}function K(){s.clearCommentDirectives(),s.setText(""),s.setOnError(void 0),h=void 0,D=void 0,T=void 0,x=void 0,b=void 0,v=0,S=void 0,C=void 0,w=0,F=void 0,I=void 0,R=!0}function z(t,r,n){var i=g(d);i&&(O|=8388608),v=O,xe();var a=mt(0,Un);e.Debug.assert(1===ve());var o=G(je()),c=X(d,t,n,i,a,o,v);return m(c,h),y(c,(function(t,r,n){S.push(e.createDetachedDiagnostic(d,t,r,n))})),c.commentDirectives=s.getCommentDirectives(),c.nodeCount=A,c.identifierCount=P,c.identifiers=F,c.parseDiagnostics=e.attachFileToDiagnostics(S,c),C&&(c.jsDocDiagnostics=e.attachFileToDiagnostics(C,c)),r&&Y(c),c}function U(e,t){return t?G(e):e}t.parseSourceFile=function(t,r,n,i,a,o){if(void 0===a&&(a=!1),6===(o=e.ensureScriptKind(t,o))){var s=j(t,r,n,i,a);return e.convertToObjectWorker(s,s.parseDiagnostics,!1,void 0,void 0),s.referencedFiles=e.emptyArray,s.typeReferenceDirectives=e.emptyArray,s.libReferenceDirectives=e.emptyArray,s.amdDependencies=e.emptyArray,s.hasNoDefaultLib=!1,s.pragmas=e.emptyMap,s}J(t,r,n,i,o);var c=z(n,a,o);return K(),c},t.parseIsolatedEntityName=function(e,t){J("",e,t,void 0,1),xe();var r=Ct(!0),n=1===ve()&&!S.length;return K(),n?r:void 0},t.parseJsonText=j;var V,q,W,H=!1;function G(t){e.Debug.assert(!t.jsDoc);var r=e.mapDefined(e.getJSDocCommentRanges(t,h),(function(e){return W.parseJSDocComment(t,e.pos,e.end-e.pos)}));return r.length&&(t.jsDoc=r),H&&(H=!1,t.flags|=134217728),t}function Y(t){e.setParentRecursive(t,!0)}function X(t,r,n,i,a,o,c){var l=L.createSourceFile(a,o,c);return e.setTextRangePosWidth(l,0,h.length),function(t){t.externalModuleIndicator=e.forEach(t.statements,Li)||function(e){return 2097152&e.flags?Ri(e):void 0}(t)}(l),!i&&f(l)&&8388608&l.transformFlags&&(l=function(t){var r=T,n=u.createSyntaxCursor(t);T={currentNode:function(e){var t=n.currentNode(e);return R&&t&&p(t)&&(t.intersectsChange=!0),t}};var i=[],a=S;S=[];for(var o=0,c=f(t.statements,0),l=function(){var r=t.statements[o],n=t.statements[c];e.addRange(i,t.statements,o,c),o=g(t.statements,c);var u=e.findIndex(a,(function(e){return e.start>=r.pos})),l=u>=0?e.findIndex(a,(function(e){return e.start>=n.pos}),u):-1;u>=0&&e.addRange(S,a,u,l>=0?l:void 0),Ae((function(){var e=O;for(O|=32768,s.setTextPos(n.pos),xe();1!==ve();){var r=s.getStartPos(),a=yt(0,Un);if(i.push(a),r===s.getStartPos()&&xe(),o>=0){var c=t.statements[o];if(a.end===c.pos)break;a.end>c.pos&&(o=g(t.statements,o+1))}}O=e}),2),c=o>=0?f(t.statements,o):-1};-1!==c;)l();if(o>=0){var d=t.statements[o];e.addRange(i,t.statements,o);var _=e.findIndex(a,(function(e){return e.start>=d.pos}));_>=0&&e.addRange(S,a,_)}return T=r,L.updateSourceFile(t,e.setTextRange(L.createNodeArray(i),t.statements));function p(e){return!(32768&e.flags||!(8388608&e.transformFlags))}function f(e,t){for(var r=t;r115}function we(){return 78===ve()||(124!==ve()||!se())&&((130!==ve()||!le())&&ve()>115)}function Ie(t,r,n){return void 0===n&&(n=!0),ve()===t?(n&&xe(),!0):(r?de(r):de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Oe(t){return ve()===t?(be(),!0):(de(e.Diagnostics._0_expected,e.tokenToString(t)),!1)}function Me(e){return ve()===e&&(xe(),!0)}function Le(e){if(ve()===e)return je()}function Re(e){if(ve()===e)return t=me(),r=ve(),be(),Ue(L.createToken(r),t);var t,r}function Be(t,r,n){return Le(t)||Ve(t,!1,r||e.Diagnostics._0_expected,n||e.tokenToString(t))}function je(){var e=me(),t=ve();return xe(),Ue(L.createToken(t),e)}function Je(){return 26===ve()||(19===ve()||1===ve()||s.hasPrecedingLineBreak())}function Ke(){return Je()?(26===ve()&&xe(),!0):Ie(26)}function ze(t,r,n,i){var a=L.createNodeArray(t,i);return e.setTextRangePosEnd(a,r,null!=n?n:s.getStartPos()),a}function Ue(t,r,n){return e.setTextRangePosEnd(t,r,null!=n?n:s.getStartPos()),O&&(t.flags|=O),B&&(B=!1,t.flags|=65536),t}function Ve(t,r,n,i){r?_e(s.getStartPos(),0,n,i):n&&de(n,i);var a=me();return Ue(78===t?L.createIdentifier("",void 0,void 0):e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,"","",void 0):8===t?L.createNumericLiteral("",void 0):10===t?L.createStringLiteral("",void 0):271===t?L.createMissingDeclaration():L.createToken(t),a)}function qe(e){var t=F.get(e);return void 0===t&&F.set(e,t=e),t}function We(t,r,n){if(P++,t){var i=me(),a=ve(),o=qe(s.getTokenValue());return he(),Ue(L.createIdentifier(o,void 0,a),i)}if(79===ve())return de(n||e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),We(!0);var c=1===ve(),u=s.isReservedWord(),l=s.getTokenText(),d=u?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:e.Diagnostics.Identifier_expected;return Ve(78,c,r||d,l)}function He(e){return We(Pe(),void 0,e)}function Ge(e,t){return We(we(),e,t)}function Ye(t){return We(e.tokenIsIdentifierOrKeyword(ve()),t)}function Xe(){return e.tokenIsIdentifierOrKeyword(ve())||10===ve()||8===ve()}function Qe(e){if(10===ve()||8===ve()){var t=It();return t.text=qe(t.text),t}return e&&22===ve()?function(){var e=me();Ie(22);var t=ie(Br);return Ie(23),Ue(L.createComputedPropertyName(t),e)}():79===ve()?Ze():Ye()}function $e(){return Qe(!0)}function Ze(){var e,t,r=me(),n=L.createPrivateIdentifier((e=s.getTokenText(),void 0===(t=N.get(e))&&N.set(e,t=e),t));return xe(),Ue(n,r)}function et(e){return ve()===e&&Ne(rt)}function tt(){return xe(),!s.hasPrecedingLineBreak()&&at()}function rt(){switch(ve()){case 84:return 91===xe();case 92:return xe(),87===ve()?Fe(ot):149===ve()?Fe(it):nt();case 87:return ot();case 123:case 134:case 146:return xe(),at();default:return tt()}}function nt(){return 41!==ve()&&126!==ve()&&18!==ve()&&at()}function it(){return xe(),nt()}function at(){return 22===ve()||18===ve()||41===ve()||25===ve()||Xe()}function ot(){return xe(),83===ve()||97===ve()||117===ve()||125===ve()&&Fe(Ln)||129===ve()&&Fe(Rn)}function st(t,r){if(vt(t))return!0;switch(t){case 0:case 1:case 3:return!(26===ve()&&r)&&Kn();case 2:return 81===ve()||87===ve();case 4:return Fe(nr);case 5:return Fe(li)||26===ve()&&!r;case 6:return 22===ve()||Xe();case 12:switch(ve()){case 22:case 41:case 25:case 24:return!0;default:return Xe()}case 18:return Xe();case 9:return 22===ve()||25===ve()||Xe();case 7:return 18===ve()?Fe(ct):r?we()&&!_t():Lr()&&!_t();case 8:return Qn();case 10:return 27===ve()||25===ve()||Qn();case 19:return we();case 15:switch(ve()){case 27:case 24:return!0}case 11:return 25===ve()||Rr();case 16:return qt(!1);case 17:return qt(!0);case 20:case 21:return 27===ve()||br();case 22:return Ei();case 23:return e.tokenIsIdentifierOrKeyword(ve());case 13:return e.tokenIsIdentifierOrKeyword(ve())||18===ve();case 14:return!0}return e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function ct(){if(e.Debug.assert(18===ve()),19===xe()){var t=xe();return 27===t||18===t||93===t||116===t}return!0}function ut(){return xe(),we()}function lt(){return xe(),e.tokenIsIdentifierOrKeyword(ve())}function dt(){return xe(),e.tokenIsIdentifierOrKeywordOrGreaterThan(ve())}function _t(){return(116===ve()||93===ve())&&Fe(pt)}function pt(){return xe(),Rr()}function ft(){return xe(),br()}function gt(e){if(1===ve())return!0;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:return 19===ve();case 3:return 19===ve()||81===ve()||87===ve();case 7:return 18===ve()||93===ve()||116===ve();case 8:return function(){if(Je())return!0;if(Gr(ve()))return!0;if(38===ve())return!0;return!1}();case 19:return 31===ve()||20===ve()||18===ve()||93===ve()||116===ve();case 11:return 21===ve()||26===ve();case 15:case 21:case 10:return 23===ve();case 17:case 16:case 18:return 21===ve()||23===ve();case 20:return 27!==ve();case 22:return 18===ve()||19===ve();case 13:return 31===ve()||43===ve();case 14:return 29===ve()&&Fe(Ni);default:return!1}}function mt(e,t){var r=w;w|=1<=0)}function bt(t){return 6===t?e.Diagnostics.An_enum_member_name_must_be_followed_by_a_or:void 0}function St(){var e=ze([],me());return e.isMissingList=!0,e}function Et(e,t,r,n){if(Ie(r)){var i=xt(e,t);return Ie(n),i}return St()}function Ct(e,t){for(var r=me(),n=e?Ye(t):Ge(t),i=me();Me(24);){if(29===ve()){n.jsdocDotPos=i;break}i=me(),n=Ue(L.createQualifiedName(n,kt(e,!1)),r)}return n}function Tt(e,t){return Ue(L.createQualifiedName(e,t),e.pos)}function kt(t,r){if(s.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(ve())&&Fe(Mn))return Ve(78,!0,e.Diagnostics.Identifier_expected);if(79===ve()){var n=Ze();return r?n:Ve(78,!0,e.Diagnostics.Identifier_expected)}return t?Ye():Ge()}function At(e){var t=me();return Ue(L.createTemplateExpression(Ot(e),function(e){var t,r=me(),n=[];do{t=wt(e),n.push(t)}while(16===t.literal.kind);return ze(n,r)}(e)),t)}function Ft(){var e=me();return Ue(L.createTemplateLiteralType(Ot(!1),function(){var e,t=me(),r=[];do{e=Nt(),r.push(e)}while(16===e.literal.kind);return ze(r,t)}()),e)}function Nt(){var e=me();return Ue(L.createTemplateLiteralTypeSpan(Ir(),Pt(!1)),e)}function Pt(t){return 19===ve()?(function(e){k=s.reScanTemplateToken(e)}(t),r=Mt(ve()),e.Debug.assert(16===r.kind||17===r.kind,"Template fragment has wrong token kind"),r):Be(17,e.Diagnostics._0_expected,e.tokenToString(19));var r}function wt(e){var t=me();return Ue(L.createTemplateSpan(ie(Br),Pt(e)),t)}function It(){return Mt(ve())}function Ot(t){t&&Ee();var r=Mt(ve());return e.Debug.assert(15===r.kind,"Template head has wrong token kind"),r}function Mt(t){var r=me(),n=e.isTemplateLiteralKind(t)?L.createTemplateLiteralLikeNode(t,s.getTokenValue(),function(e){var t=14===e||17===e,r=s.getTokenText();return r.substring(1,r.length-(s.isUnterminated()?0:t?1:2))}(t),2048&s.getTokenFlags()):8===t?L.createNumericLiteral(s.getTokenValue(),s.getNumericLiteralFlags()):10===t?L.createStringLiteral(s.getTokenValue(),void 0,s.hasExtendedUnicodeEscape()):e.isLiteralKind(t)?L.createLiteralLikeNode(t,s.getTokenValue()):e.Debug.fail();return s.hasExtendedUnicodeEscape()&&(n.hasExtendedUnicodeEscape=!0),s.isUnterminated()&&(n.isUnterminated=!0),xe(),Ue(n,r)}function Lt(){return Ct(!0,e.Diagnostics.Type_expected)}function Rt(){if(!s.hasPrecedingLineBreak()&&29===Ce())return Et(20,Ir,29,31)}function Bt(){var e=me();return Ue(L.createTypeReferenceNode(Lt(),Rt()),e)}function jt(t){switch(t.kind){case 173:return e.nodeIsMissing(t.typeName);case 174:case 175:var r=t,n=r.parameters,i=r.type;return!!n.isMissingList||jt(i);case 186:return jt(t.type);default:return!1}}function Jt(){var e=me();return xe(),Ue(L.createThisTypeNode(),e)}function Kt(){var e,t=me();return 107!==ve()&&102!==ve()||(e=Ye(),Ie(58)),Ue(L.createParameterDeclaration(void 0,void 0,void 0,e,void 0,zt(),void 0),t)}function zt(){s.setInJSDocType(!0);var e=me();if(Me(139)){var t=L.createJSDocNamepathType(void 0);e:for(;;)switch(ve()){case 19:case 1:case 27:case 5:break e;default:be()}return s.setInJSDocType(!1),Ue(t,e)}var r=Me(25),n=Pr();return s.setInJSDocType(!1),r&&(n=Ue(L.createJSDocVariadicType(n),e)),62===ve()?(xe(),Ue(L.createJSDocOptionalType(n),e)):n}function Ut(){var e,t,r=me(),n=Ge();Me(93)&&(br()||!Rr()?e=Ir():t=$r());var i=Me(62)?Ir():void 0,a=L.createTypeParameterDeclaration(n,e,i);return a.expression=t,Ue(a,r)}function Vt(){if(29===ve())return Et(19,Ut,29,31)}function qt(t){return 25===ve()||Qn()||e.isModifierKind(ve())||59===ve()||br(!t)}function Wt(){return Gt(!0)}function Ht(){return Gt(!1)}function Gt(t){var r=me(),n=ye();if(107===ve())return U(Ue(L.createParameterDeclaration(void 0,void 0,void 0,We(!0),void 0,Mr(),void 0),r),n);var i=t?ae(pi):pi(),a=R;R=!1;var o=gi(),s=U(Ue(L.createParameterDeclaration(i,o,Le(25),function(t){var r=$n(e.Diagnostics.Private_identifiers_cannot_be_used_as_parameters);return 0===e.getFullWidth(r)&&!e.some(t)&&e.isModifierKind(ve())&&xe(),r}(o),Le(57),Mr(),jr()),r),n);return R=a,s}function Yt(t,r){if(function(t,r){if(38===t)return Ie(t),!0;if(Me(58))return!0;if(r&&38===ve())return de(e.Diagnostics._0_expected,e.tokenToString(58)),xe(),!0;return!1}(t,r))return Pr()}function Xt(e){var t=se(),r=le();Z(!!(1&e)),te(!!(2&e));var n=32&e?xt(17,Kt):xt(16,r?Wt:Ht);return Z(t),te(r),n}function Qt(e){if(!Ie(20))return St();var t=Xt(e);return Ie(21),t}function $t(){Me(27)||Ke()}function Zt(e){var t=me(),r=ye();170===e&&Ie(102);var n=Vt(),i=Qt(4),a=Yt(58,!0);return $t(),U(Ue(169===e?L.createCallSignature(n,i,a):L.createConstructSignature(n,i,a),t),r)}function er(){return 22===ve()&&Fe(tr)}function tr(){if(xe(),25===ve()||23===ve())return!0;if(e.isModifierKind(ve())){if(xe(),we())return!0}else{if(!we())return!1;xe()}return 58===ve()||27===ve()||57===ve()&&(xe(),58===ve()||27===ve()||23===ve())}function rr(e,t,r,n){var i=Et(16,Ht,22,23),a=Mr();return $t(),U(Ue(L.createIndexSignature(r,n,i,a),e),t)}function nr(){if(20===ve()||29===ve())return!0;for(var t=!1;e.isModifierKind(ve());)t=!0,xe();return 22===ve()||(Xe()&&(t=!0,xe()),!!t&&(20===ve()||29===ve()||57===ve()||58===ve()||27===ve()||Je()))}function ir(){if(20===ve()||29===ve())return Zt(169);if(102===ve()&&Fe(ar))return Zt(170);var e=me(),t=ye(),r=gi();return er()?rr(e,t,void 0,r):function(e,t,r){var n,i=$e(),a=Le(57);if(20===ve()||29===ve()){var o=Vt(),s=Qt(4),c=Yt(58,!0);n=L.createMethodSignature(r,i,a,o,s,c)}else c=Mr(),n=L.createPropertySignature(r,i,a,c),62===ve()&&(n.initializer=jr());return $t(),U(Ue(n,e),t)}(e,t,r)}function ar(){return xe(),20===ve()||29===ve()}function or(){return 24===xe()}function sr(){switch(xe()){case 20:case 29:case 24:return!0}return!1}function cr(){var e;return Ie(18)?(e=mt(4,ir),Ie(19)):e=St(),e}function ur(){return xe(),39===ve()||40===ve()?142===xe():(142===ve()&&xe(),22===ve()&&ut()&&100===xe())}function lr(){var e,t=me();Ie(18),142!==ve()&&39!==ve()&&40!==ve()||142!==(e=je()).kind&&Ie(142),Ie(22);var r,n=function(){var e=me(),t=Ye();Ie(100);var r=Ir();return Ue(L.createTypeParameterDeclaration(t,r,void 0),e)}(),i=Me(126)?Ir():void 0;Ie(23),57!==ve()&&39!==ve()&&40!==ve()||57!==(r=je()).kind&&Ie(57);var a=Mr();return Ke(),Ie(19),Ue(L.createMappedTypeNode(e,n,i,r,a),t)}function dr(){var t=me();if(Me(25))return Ue(L.createRestTypeNode(Ir()),t);var r=Ir();if(e.isJSDocNullableType(r)&&r.pos===r.type.pos){var n=L.createOptionalTypeNode(r.type);return e.setTextRange(n,r),n.flags=r.flags,n}return r}function _r(){return 58===xe()||57===ve()&&58===xe()}function pr(){return 25===ve()?e.tokenIsIdentifierOrKeyword(xe())&&_r():e.tokenIsIdentifierOrKeyword(ve())&&_r()}function fr(){if(Fe(pr)){var e=me(),t=ye(),r=Le(25),n=Ye(),i=Le(57);Ie(58);var a=dr();return U(Ue(L.createNamedTupleMember(r,n,i,a),e),t)}return dr()}function gr(){var e=me(),t=ye(),r=Me(102),n=Vt(),i=Qt(4),a=Yt(38,!1);return U(Ue(r?L.createConstructorTypeNode(n,i,a):L.createFunctionTypeNode(n,i,a),e),t)}function mr(){var e=je();return 24===ve()?void 0:e}function yr(e){var t=me();e&&xe();var r=109===ve()||94===ve()||103===ve()?je():Mt(ve());return e&&(r=Ue(L.createPrefixUnaryExpression(40,r),t)),Ue(L.createLiteralTypeNode(r),t)}function vr(){return xe(),99===ve()}function hr(){v|=1048576;var e=me(),t=Me(111);Ie(99),Ie(20);var r=Ir();Ie(21);var n=Me(24)?Lt():void 0,i=Rt();return Ue(L.createImportTypeNode(r,n,i,t),e)}function Dr(){return xe(),8===ve()||9===ve()}function xr(){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 148:case 131:case 150:case 141:case 145:return Ne(mr)||Bt();case 65:s.reScanAsteriskEqualsToken();case 41:return r=me(),xe(),Ue(L.createJSDocAllType(),r);case 60:s.reScanQuestionToken();case 57:return function(){var e=me();return xe(),27===ve()||19===ve()||21===ve()||31===ve()||62===ve()||51===ve()?Ue(L.createJSDocUnknownType(),e):Ue(L.createJSDocNullableType(Ir()),e)}();case 97:return function(){var e=me(),t=ye();if(Fe(Fi)){xe();var r=Qt(36),n=Yt(58,!1);return U(Ue(L.createJSDocFunctionType(r,n),e),t)}return Ue(L.createTypeReferenceNode(Ye(),void 0),e)}();case 53:return function(){var e=me();return xe(),Ue(L.createJSDocNonNullableType(xr()),e)}();case 14:case 10:case 8:case 9:case 109:case 94:case 103:return yr();case 40:return Fe(Dr)?yr(!0):Bt();case 113:return je();case 107:var e=Jt();return 137!==ve()||s.hasPrecedingLineBreak()?e:(t=e,xe(),Ue(L.createTypePredicateNode(void 0,t,Ir()),t.pos));case 111:return Fe(vr)?hr():function(){var e=me();return Ie(111),Ue(L.createTypeQueryNode(Ct(!0)),e)}();case 18:return Fe(ur)?lr():function(){var e=me();return Ue(L.createTypeLiteralNode(cr()),e)}();case 22:return function(){var e=me();return Ue(L.createTupleTypeNode(Et(21,fr,22,23)),e)}();case 20:return function(){var e=me();Ie(20);var t=Ir();return Ie(21),Ue(L.createParenthesizedType(t),e)}();case 99:return hr();case 127:return Fe(Mn)?function(){var e=me(),t=Be(127),r=107===ve()?Jt():Ge(),n=Me(137)?Ir():void 0;return Ue(L.createTypePredicateNode(t,r,n),e)}():Bt();case 15:return Ft();default:return Bt()}var t,r}function br(e){switch(ve()){case 128:case 152:case 147:case 144:case 155:case 131:case 142:case 148:case 151:case 113:case 150:case 103:case 107:case 111:case 141:case 18:case 22:case 29:case 51:case 50:case 102:case 10:case 8:case 9:case 109:case 94:case 145:case 41:case 57:case 53:case 25:case 135:case 99:case 127:case 14:case 15:return!0;case 97:return!e;case 40:return!e&&Fe(Dr);case 20:return!e&&Fe(Sr);default:return we()}}function Sr(){return xe(),21===ve()||qt(!1)||br()}function Er(){var e=me();return Ie(135),Ue(L.createInferTypeNode(function(){var e=me();return Ue(L.createTypeParameterDeclaration(Ge(),void 0,void 0),e)}()),e)}function Cr(){var e=ve();switch(e){case 138:case 151:case 142:return function(e){var t=me();return Ie(e),Ue(L.createTypeOperatorNode(e,Cr()),t)}(e);case 135:return Er()}return function(){for(var e=me(),t=xr();!s.hasPrecedingLineBreak();)switch(ve()){case 53:xe(),t=Ue(L.createJSDocNonNullableType(t),e);break;case 57:if(Fe(ft))return t;xe(),t=Ue(L.createJSDocNullableType(t),e);break;case 22:if(Ie(22),br()){var r=Ir();Ie(23),t=Ue(L.createIndexedAccessTypeNode(t,r),e)}else Ie(23),t=Ue(L.createArrayTypeNode(t),e);break;default:return t}return t}()}function Tr(t){if(Fr()){var r=gr();return fe(r,e.isFunctionTypeNode(r)?t?e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t?e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:e.Diagnostics.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type),r}}function kr(e,t,r){var n=me(),i=51===e,a=Me(e),o=a&&Tr(i)||t();if(ve()===e||a){for(var s=[o];Me(e);)s.push(Tr(i)||t());o=Ue(r(ze(s,n)),n)}return o}function Ar(){return kr(50,Cr,L.createIntersectionTypeNode)}function Fr(){return 29===ve()||(!(20!==ve()||!Fe(Nr))||102===ve())}function Nr(){if(xe(),21===ve()||25===ve())return!0;if(function(){if(e.isModifierKind(ve())&&gi(),we()||107===ve())return xe(),!0;if(22===ve()||18===ve()){var t=S.length;return $n(),t===S.length}return!1}()){if(58===ve()||27===ve()||57===ve()||62===ve())return!0;if(21===ve()&&(xe(),38===ve()))return!0}return!1}function Pr(){var e=me(),t=we()&&Ne(wr),r=Ir();return t?Ue(L.createTypePredicateNode(void 0,t,r),e):r}function wr(){var e=Ge();if(137===ve()&&!s.hasPrecedingLineBreak())return xe(),e}function Ir(){return re(40960,Or)}function Or(e){if(Fr())return gr();var t=me(),r=kr(51,Ar,L.createUnionTypeNode);if(!e&&!s.hasPrecedingLineBreak()&&Me(93)){var n=Or(!0);Ie(57);var i=Or();Ie(58);var a=Or();return Ue(L.createConditionalTypeNode(r,n,i,a),t)}return r}function Mr(){return Me(58)?Ir():void 0}function Lr(){switch(ve()){case 107:case 105:case 103:case 109:case 94:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 97:case 83:case 102:case 43:case 67:case 78:return!0;case 99:return Fe(sr);default:return we()}}function Rr(){if(Lr())return!0;switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 45:case 46:case 29:case 130:case 124:case 79:return!0;default:return!!function(){if(ce()&&100===ve())return!1;return e.getBinaryOperatorPrecedence(ve())>0}()||we()}}function Br(){var e=ue();e&&ee(!1);for(var t,r=me(),n=Jr();t=Le(27);)n=Xr(n,t,Jr(),r);return e&&ee(!0),n}function jr(){return Me(62)?Jr():void 0}function Jr(){if(function(){if(124===ve())return!!se()||Fe(Bn);return!1}())return function(){var e=me();return xe(),s.hasPrecedingLineBreak()||41!==ve()&&!Rr()?Ue(L.createYieldExpression(void 0,void 0),e):Ue(L.createYieldExpression(Le(41),Jr()),e)}();var t=function(){var e=function(){if(20===ve()||29===ve()||129===ve())return Fe(zr);if(38===ve())return 1;return 0}();if(0===e)return;return 1===e?qr(!0):Ne(Ur)}()||function(){if(129===ve()&&1===Fe(Vr)){var e=me(),t=mi();return Kr(e,Hr(0),t)}return}();if(t)return t;var r=me(),n=Hr(0);return 78===n.kind&&38===ve()?Kr(r,n,void 0):e.isLeftHandSideExpression(n)&&e.isAssignmentOperator(Se())?Xr(n,je(),Jr(),r):function(t,r){var n,i=Le(57);if(!i)return t;return Ue(L.createConditionalExpression(t,i,re(c,Jr),n=Be(58),e.nodeIsPresent(n)?Jr():Ve(78,!1,e.Diagnostics._0_expected,e.tokenToString(58))),r)}(n,r)}function Kr(t,r,n){e.Debug.assert(38===ve(),"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var i=L.createParameterDeclaration(void 0,void 0,void 0,r,void 0,void 0,void 0);Ue(i,r.pos);var a=ze([i],i.pos,i.end),o=Be(38),s=Wr(!!n);return G(Ue(L.createArrowFunction(n,void 0,a,void 0,o,s),t))}function zr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak())return 0;if(20!==ve()&&29!==ve())return 0}var t=ve(),r=xe();if(20===t){if(21===r)switch(xe()){case 38:case 58:case 18:return 1;default:return 0}if(22===r||18===r)return 2;if(25===r)return 1;if(e.isModifierKind(r)&&129!==r&&Fe(ut))return 1;if(!we()&&107!==r)return 0;switch(xe()){case 58:return 1;case 57:return xe(),58===ve()||27===ve()||62===ve()||21===ve()?1:0;case 27:case 62:case 21:return 2}return 0}return e.Debug.assert(29===t),we()?1===b?Fe((function(){var e=xe();if(93===e)switch(xe()){case 62:case 31:return!1;default:return!0}else if(27===e)return!0;return!1}))?1:0:2:0}function Ur(){var t=s.getTokenPos();if(!(null==I?void 0:I.has(t))){var r=qr(!1);return r||(I||(I=new e.Set)).add(t),r}}function Vr(){if(129===ve()){if(xe(),s.hasPrecedingLineBreak()||38===ve())return 0;var e=Hr(0);if(!s.hasPrecedingLineBreak()&&78===e.kind&&38===ve())return 1}return 0}function qr(t){var r,n=me(),i=ye(),a=mi(),o=e.some(a,e.isAsyncModifier)?2:0,s=Vt();if(Ie(20)){if(r=Xt(o),!Ie(21)&&!t)return}else{if(!t)return;r=St()}var c=Yt(58,!1);if(!c||t||!jt(c)){var u=c&&e.isJSDocFunctionType(c);if(t||38===ve()||!u&&18===ve()){var l=ve(),d=Be(38),_=38===l||18===l?Wr(e.some(a,e.isAsyncModifier)):Ge();return U(Ue(L.createArrowFunction(a,s,r,c,d,_),n),i)}}}function Wr(e){if(18===ve())return Fn(e?2:0);if(26!==ve()&&97!==ve()&&83!==ve()&&Kn()&&(18===ve()||97===ve()||83===ve()||59===ve()||!Rr()))return Fn(16|(e?2:0));var t=R;R=!1;var r=e?ae(Jr):re(32768,Jr);return R=t,r}function Hr(e){var t=me();return Yr(e,$r(),t)}function Gr(e){return 100===e||156===e}function Yr(t,r,n){for(;;){Se();var i=e.getBinaryOperatorPrecedence(ve());if(!(42===ve()?i>=t:i>t))break;if(100===ve()&&ce())break;if(126===ve()){if(s.hasPrecedingLineBreak())break;xe(),a=r,o=Ir(),r=Ue(L.createAsExpression(a,o),a.pos)}else r=Xr(r,je(),Hr(i),n)}var a,o;return r}function Xr(e,t,r,n){return Ue(L.createBinaryExpression(e,t,r),n)}function Qr(){var e=me();return Ue(L.createPrefixUnaryExpression(ve(),De(Zr)),e)}function $r(){if(function(){switch(ve()){case 39:case 40:case 54:case 53:case 88:case 111:case 113:case 130:return!1;case 29:if(1!==b)return!1;default:return!0}}()){var t=me(),r=en();return 42===ve()?Yr(e.getBinaryOperatorPrecedence(ve()),r,t):r}var n=ve(),i=Zr();if(42===ve()){t=e.skipTrivia(h,i.pos);var a=i.end;206===i.kind?pe(t,a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):pe(t,a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(n))}return i}function Zr(){switch(ve()){case 39:case 40:case 54:case 53:return Qr();case 88:return e=me(),Ue(L.createDeleteExpression(De(Zr)),e);case 111:return function(){var e=me();return Ue(L.createTypeOfExpression(De(Zr)),e)}();case 113:return function(){var e=me();return Ue(L.createVoidExpression(De(Zr)),e)}();case 29:return function(){var e=me();Ie(29);var t=Ir();Ie(31);var r=Zr();return Ue(L.createTypeAssertion(t,r),e)}();case 130:if(130===ve()&&(le()||Fe(Bn)))return function(){var e=me();return Ue(L.createAwaitExpression(De(Zr)),e)}();default:return en()}var e}function en(){if(45===ve()||46===ve()){var t=me();return Ue(L.createPrefixUnaryExpression(ve(),De(tn)),t)}if(1===b&&29===ve()&&Fe(dt))return nn(!0);var r=tn();if(e.Debug.assert(e.isLeftHandSideExpression(r)),(45===ve()||46===ve())&&!s.hasPrecedingLineBreak()){var n=ve();return xe(),Ue(L.createPostfixUnaryExpression(r,n),r.pos)}return r}function tn(){var t,r=me();return 99===ve()?Fe(ar)?(v|=1048576,t=je()):Fe(or)?(xe(),xe(),t=Ue(L.createMetaProperty(99,Ye()),r),v|=2097152):t=rn():t=105===ve()?function(){var t=me(),r=je();if(29===ve()){var n=me();void 0!==Ne(hn)&&pe(n,me(),e.Diagnostics.super_may_not_use_type_arguments)}if(20===ve()||24===ve()||22===ve())return r;return Be(24,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access),Ue(L.createPropertyAccessExpression(r,kt(!0,!0)),t)}():rn(),yn(r,t)}function rn(){return fn(me(),Dn(),!0)}function nn(t,r){var n,i=me(),a=function(e){var t=me();if(Ie(29),31===ve())return ke(),Ue(L.createJsxOpeningFragment(),t);var r,n=sn(),i=Si(),a=function(){var e=me();return Ue(L.createJsxAttributes(mt(13,un)),e)}();31===ve()?(ke(),r=L.createJsxOpeningElement(n,i,a)):(Ie(43),e?Ie(31):(Ie(31,void 0,!1),ke()),r=L.createJsxSelfClosingElement(n,i,a));return Ue(r,t)}(t);if(275===a.kind){var o=on(a),s=function(e){var t=me();Ie(30);var r=sn();e?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxClosingElement(r),t)}(t);E(a.tagName,s.tagName)||fe(s,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(h,a.tagName)),n=Ue(L.createJsxElement(a,o,s),i)}else 278===a.kind?n=Ue(L.createJsxFragment(a,on(a),function(t){var r=me();Ie(30),e.tokenIsIdentifierOrKeyword(ve())&&fe(sn(),e.Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);t?Ie(31):(Ie(31,void 0,!1),ke());return Ue(L.createJsxJsxClosingFragment(),r)}(t)),i):(e.Debug.assert(274===a.kind),n=a);if(t&&29===ve()){var c=void 0===r?n.pos:r,u=Ne((function(){return nn(!0,c)}));if(u){var l=Ve(27,!1);return e.setTextRangePosWidth(l,u.pos,0),pe(e.skipTrivia(h,c),u.end,e.Diagnostics.JSX_expressions_must_have_one_parent_element),Ue(L.createBinaryExpression(n,l,u),i)}}return n}function an(t,r){switch(r){case 1:if(e.isJsxOpeningFragment(t))fe(t,e.Diagnostics.JSX_fragment_has_no_corresponding_closing_tag);else{var n=t.tagName;pe(e.skipTrivia(h,n.pos),n.end,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(h,t.tagName))}return;case 30:case 7:return;case 11:case 12:return function(){var e=me(),t=L.createJsxText(s.getTokenValue(),12===k);return k=s.scanJsxToken(),Ue(t,e)}();case 18:return cn(!1);case 29:return nn(!1);default:return e.Debug.assertNever(r)}}function on(e){var t=[],r=me(),n=w;for(w|=16384;;){var i=an(e,k=s.reScanJsxToken());if(!i)break;t.push(i)}return w=n,ze(t,r)}function sn(){var e=me();Te();for(var t=107===ve()?je():Ye();Me(24);)t=Ue(L.createPropertyAccessExpression(t,kt(!0,!1)),e);return t}function cn(e){var t,r,n=me();if(Ie(18))return 19!==ve()&&(t=Le(25),r=Br()),e?Ie(19):Ie(19,void 0,!1)&&ke(),Ue(L.createJsxExpression(t,r),n)}function un(){if(18===ve())return function(){var e=me();Ie(18),Ie(25);var t=Br();return Ie(19),Ue(L.createJsxSpreadAttribute(t),e)}();Te();var e=me();return Ue(L.createJsxAttribute(Ye(),62!==ve()?void 0:10===(k=s.scanJsxAttributeValue())?It():cn(!0)),e)}function ln(){return xe(),e.tokenIsIdentifierOrKeyword(ve())||22===ve()||gn()}function dn(t){if(32&t.flags)return!0;if(e.isNonNullExpression(t)){for(var r=t.expression;e.isNonNullExpression(r)&&!(32&r.flags);)r=r.expression;if(32&r.flags){for(;e.isNonNullExpression(t);)t.flags|=32,t=t.expression;return!0}}return!1}function _n(t,r,n){var i=kt(!0,!0),a=n||dn(r),o=a?L.createPropertyAccessChain(r,n,i):L.createPropertyAccessExpression(r,i);return a&&e.isPrivateIdentifier(o.name)&&fe(o.name,e.Diagnostics.An_optional_chain_cannot_contain_private_identifiers),Ue(o,t)}function pn(t,r,n){var i;if(23===ve())i=Ve(78,!0,e.Diagnostics.An_element_access_expression_should_take_an_argument);else{var a=ie(Br);e.isStringOrNumericLiteralLike(a)&&(a.text=qe(a.text)),i=a}return Ie(23),Ue(n||dn(r)?L.createElementAccessChain(r,n,i):L.createElementAccessExpression(r,i),t)}function fn(t,r,n){for(;;){var i=void 0,a=!1;if(n&&28===ve()&&Fe(ln)?(i=Be(28),a=e.tokenIsIdentifierOrKeyword(ve())):a=Me(24),a)r=_n(t,r,i);else if(i||53!==ve()||s.hasPrecedingLineBreak())if(!i&&ue()||!Me(22)){if(!gn())return r;r=mn(t,r,i,void 0)}else r=pn(t,r,i);else xe(),r=Ue(L.createNonNullExpression(r),t)}}function gn(){return 14===ve()||15===ve()}function mn(e,t,r,n){var i=L.createTaggedTemplateExpression(t,n,14===ve()?(Ee(),It()):At(!0));return(r||32&t.flags)&&(i.flags|=32),i.questionDotToken=r,Ue(i,e)}function yn(t,r){for(;;){r=fn(t,r,!0);var n=Le(28);if(29===ve()||47===ve()){var i=Ne(hn);if(i){if(gn()){r=mn(t,r,n,i);continue}var a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,i,a):L.createCallExpression(r,i,a),t);continue}}else if(20===ve()){a=vn();r=Ue(n||dn(r)?L.createCallChain(r,n,void 0,a):L.createCallExpression(r,void 0,a),t);continue}if(n){var o=Ve(78,!1,e.Diagnostics.Identifier_expected);r=Ue(L.createPropertyAccessChain(r,n,o),t)}break}return r}function vn(){Ie(20);var e=xt(11,bn);return Ie(21),e}function hn(){if(29===Ce()){xe();var e=xt(20,Ir);if(Ie(31))return e&&function(){switch(ve()){case 20:case 14:case 15:case 24:case 21:case 23:case 58:case 26:case 57:case 34:case 36:case 35:case 37:case 55:case 56:case 60:case 52:case 50:case 51:case 19:case 1:return!0;case 27:case 18:default:return!1}}()?e:void 0}}function Dn(){switch(ve()){case 8:case 9:case 10:case 14:return It();case 107:case 105:case 103:case 109:case 94:return je();case 20:return function(){var e=me(),t=ye();Ie(20);var r=ie(Br);return Ie(21),U(Ue(L.createParenthesizedExpression(r),e),t)}();case 22:return Sn();case 18:return Cn();case 129:if(!Fe(Rn))break;return Tn();case 83:return hi(me(),ye(),void 0,void 0,221);case 97:return Tn();case 102:return function(){var t=me();if(Ie(102),Me(24)){var r=Ye();return Ue(L.createMetaProperty(102,r),t)}var n,i,a=me(),o=Dn();for(;;){o=fn(a,o,!1),n=Ne(hn),gn()&&(e.Debug.assert(!!n,"Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'"),o=mn(a,o,void 0,n),n=void 0);break}20===ve()?i=vn():n&&pe(t,s.getStartPos(),e.Diagnostics.A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list);return Ue(L.createNewExpression(o,n,i),t)}();case 43:case 67:if(13===(k=s.reScanSlashToken()))return It();break;case 15:return At(!1)}return Ge(e.Diagnostics.Expression_expected)}function xn(){return 25===ve()?function(){var e=me();Ie(25);var t=Jr();return Ue(L.createSpreadElement(t),e)}():27===ve()?Ue(L.createOmittedExpression(),me()):Jr()}function bn(){return re(c,xn)}function Sn(){var e=me();Ie(22);var t=s.hasPrecedingLineBreak(),r=xt(15,xn);return Ie(23),Ue(L.createArrayLiteralExpression(r,t),e)}function En(){var e=me(),t=ye();if(Le(25)){var r=Jr();return U(Ue(L.createSpreadAssignment(r),e),t)}var n=pi(),i=gi();if(et(134))return ui(e,t,n,i,167);if(et(146))return ui(e,t,n,i,168);var a,o=Le(41),s=we(),c=$e(),u=Le(57),l=Le(53);if(o||20===ve()||29===ve())return oi(e,t,n,i,o,c,u,l);if(s&&58!==ve()){var d=Le(62),_=d?ie(Jr):void 0;(a=L.createShorthandPropertyAssignment(c,_)).equalsToken=d}else{Ie(58);var p=ie(Jr);a=L.createPropertyAssignment(c,p)}return a.decorators=n,a.modifiers=i,a.questionToken=u,a.exclamationToken=l,U(Ue(a,e),t)}function Cn(){var t=me(),r=s.getTokenPos();Ie(18);var n=s.hasPrecedingLineBreak(),i=xt(12,En,!0);if(!Ie(19)){var a=e.lastOrUndefined(S);a&&a.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(a,e.createDetachedDiagnostic(d,r,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createObjectLiteralExpression(i,n),t)}function Tn(){var t=ue();t&&ee(!1);var r=me(),n=ye(),i=gi();Ie(97);var a=Le(41),o=a?1:0,s=e.some(i,e.isAsyncModifier)?2:0,c=o&&s?ne(40960,kn):o?function(e){return ne(8192,e)}(kn):s?ae(kn):kn(),u=Vt(),l=Qt(o|s),d=Yt(58,!1),_=Fn(o|s);return t&&ee(!0),U(Ue(L.createFunctionExpression(i,a,c,u,l,d,_),r),n)}function kn(){return Pe()?He():void 0}function An(t,r){var n=me(),i=s.getTokenPos();if(Ie(18,r)||t){var a=s.hasPrecedingLineBreak(),o=mt(1,Un);if(!Ie(19)){var c=e.lastOrUndefined(S);c&&c.code===e.Diagnostics._0_expected.code&&e.addRelatedInfo(c,e.createDetachedDiagnostic(d,i,1,e.Diagnostics.The_parser_expected_to_find_a_to_match_the_token_here))}return Ue(L.createBlock(o,a),n)}o=St();return Ue(L.createBlock(o,void 0),n)}function Fn(e,t){var r=se();Z(!!(1&e));var n=le();te(!!(2&e));var i=R;R=!1;var a=ue();a&&ee(!1);var o=An(!!(16&e),t);return a&&ee(!0),R=i,Z(r),te(n),o}function Nn(){var e=me();Ie(96);var t,r,n=Le(130);if(Ie(20),26!==ve()&&(t=112===ve()||118===ve()||84===ve()?ti(!0):ne(4096,Br)),n?Ie(156):Me(156)){var i=ie(Jr);Ie(21),r=L.createForOfStatement(n,t,i,Un())}else if(Me(100)){i=ie(Br);Ie(21),r=L.createForInStatement(t,i,Un())}else{Ie(26);var a=26!==ve()&&21!==ve()?ie(Br):void 0;Ie(26);var o=21!==ve()?ie(Br):void 0;Ie(21),r=L.createForStatement(t,a,o,Un())}return Ue(r,e)}function Pn(e){var t=me();Ie(241===e?80:85);var r=Je()?void 0:Ge();return Ke(),Ue(241===e?L.createBreakStatement(r):L.createContinueStatement(r),t)}function wn(){return 81===ve()?function(){var e=me();Ie(81);var t=ie(Br);Ie(58);var r=mt(3,Un);return Ue(L.createCaseClause(t,r),e)}():function(){var e=me();Ie(87),Ie(58);var t=mt(3,Un);return Ue(L.createDefaultClause(t),e)}()}function In(){var e=me();Ie(106),Ie(20);var t=ie(Br);Ie(21);var r=function(){var e=me();Ie(18);var t=mt(2,wn);return Ie(19),Ue(L.createCaseBlock(t),e)}();return Ue(L.createSwitchStatement(t,r),e)}function On(){var e=me();Ie(110);var t,r=An(!1),n=82===ve()?function(){var e,t=me();Ie(82),Me(20)?(e=ei(),Ie(21)):e=void 0;var r=An(!1);return Ue(L.createCatchClause(e,r),t)}():void 0;return n&&95!==ve()||(Ie(95),t=An(!1)),Ue(L.createTryStatement(r,n,t),e)}function Mn(){return xe(),e.tokenIsIdentifierOrKeyword(ve())&&!s.hasPrecedingLineBreak()}function Ln(){return xe(),83===ve()&&!s.hasPrecedingLineBreak()}function Rn(){return xe(),97===ve()&&!s.hasPrecedingLineBreak()}function Bn(){return xe(),(e.tokenIsIdentifierOrKeyword(ve())||8===ve()||9===ve()||10===ve())&&!s.hasPrecedingLineBreak()}function jn(){for(;;)switch(ve()){case 112:case 118:case 84:case 97:case 83:case 91:return!0;case 117:case 149:return xe(),!s.hasPrecedingLineBreak()&&we();case 139:case 140:return Hn();case 125:case 129:case 133:case 120:case 121:case 122:case 142:if(xe(),s.hasPrecedingLineBreak())return!1;continue;case 154:return xe(),18===ve()||78===ve()||92===ve();case 99:return xe(),10===ve()||41===ve()||18===ve()||e.tokenIsIdentifierOrKeyword(ve());case 92:var t=xe();if(149===t&&(t=Fe(xe)),62===t||41===t||18===t||87===t||126===t)return!0;continue;case 123:xe();continue;default:return!1}}function Jn(){return Fe(jn)}function Kn(){switch(ve()){case 59:case 26:case 18:case 112:case 118:case 97:case 83:case 91:case 98:case 89:case 114:case 96:case 85:case 80:case 104:case 115:case 106:case 108:case 110:case 86:case 82:case 95:return!0;case 99:return Jn()||Fe(sr);case 84:case 92:return Jn();case 129:case 133:case 117:case 139:case 140:case 149:case 154:return!0;case 122:case 120:case 121:case 123:case 142:return Jn()||!Fe(Mn);default:return Rr()}}function zn(){return xe(),we()||18===ve()||22===ve()}function Un(){switch(ve()){case 26:return t=me(),Ie(26),Ue(L.createEmptyStatement(),t);case 18:return An(!1);case 112:return ni(me(),ye(),void 0,void 0);case 118:if(Fe(zn))return ni(me(),ye(),void 0,void 0);break;case 97:return ii(me(),ye(),void 0,void 0);case 83:return vi(me(),ye(),void 0,void 0);case 98:return function(){var e=me();Ie(98),Ie(20);var t=ie(Br);Ie(21);var r=Un(),n=Me(90)?Un():void 0;return Ue(L.createIfStatement(t,r,n),e)}();case 89:return function(){var e=me();Ie(89);var t=Un();Ie(114),Ie(20);var r=ie(Br);return Ie(21),Me(26),Ue(L.createDoStatement(t,r),e)}();case 114:return function(){var e=me();Ie(114),Ie(20);var t=ie(Br);Ie(21);var r=Un();return Ue(L.createWhileStatement(t,r),e)}();case 96:return Nn();case 85:return Pn(240);case 80:return Pn(241);case 104:return function(){var e=me();Ie(104);var t=Je()?void 0:ie(Br);return Ke(),Ue(L.createReturnStatement(t),e)}();case 115:return function(){var e=me();Ie(115),Ie(20);var t=ie(Br);Ie(21);var r=ne(16777216,Un);return Ue(L.createWithStatement(t,r),e)}();case 106:return In();case 108:return function(){var e=me();Ie(108);var t=s.hasPrecedingLineBreak()?void 0:ie(Br);return void 0===t&&(P++,t=Ue(L.createIdentifier(""),me())),Ke(),Ue(L.createThrowStatement(t),e)}();case 110:case 82:case 95:return On();case 86:return function(){var e=me();return Ie(86),Ke(),Ue(L.createDebuggerStatement(),e)}();case 59:return qn();case 129:case 117:case 149:case 139:case 140:case 133:case 84:case 91:case 92:case 99:case 120:case 121:case 122:case 125:case 123:case 142:case 154:if(Jn())return qn()}var t;return function(){var t,r=me(),n=ye(),i=20===ve(),a=ie(Br);return e.isIdentifier(a)&&Me(58)?t=L.createLabeledStatement(a,Un()):(Ke(),t=L.createExpressionStatement(a),i&&(n=!1)),U(Ue(t,r),n)}()}function Vn(e){return 133===e.kind}function qn(){var t=e.some(Fe((function(){return pi(),gi()})),Vn);if(t){var r=ne(8388608,(function(){var e=vt(w);if(e)return ht(e)}));if(r)return r}var n=me(),i=ye(),a=pi(),o=gi();if(t){for(var s=0,c=o;s=0),e.Debug.assert(t<=o),e.Debug.assert(o<=a.length),_(a,t)){var c,u,l,p=[];return s.scanRange(t+3,i-5,(function(){var e,r,n,i=1,d=t-(a.lastIndexOf("\n",t)+1)+4;function _(t){e||(e=d),p.push(t),d+=t.length}for(be();J(5););J(4)&&(i=0,d=0);e:for(;;){switch(ve()){case 59:0===i||1===i?(g(p),E(D(d)),i=0,e=void 0):_(s.getTokenText());break;case 4:p.push(s.getTokenText()),i=0,d=0;break;case 41:var m=s.getTokenText();1===i||2===i?(i=2,_(m)):(i=1,d+=m.length);break;case 5:var y=s.getTokenText();2===i?p.push(y):void 0!==e&&d+y.length>e&&p.push(y.slice(e-d)),d+=y.length;break;case 1:break e;default:i=2,_(s.getTokenText())}be()}return f(p),g(p),r=p.length?p.join(""):void 0,n=c&&ze(c,u,l),Ue(L.createJSDocComment(r,n),t,o)}))}function f(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function g(e){for(;e.length&&""===e[e.length-1].trim();)e.pop()}function m(){for(;;){if(be(),1===ve())return!0;if(5!==ve()&&4!==ve())return!1}}function y(){if(5!==ve()&&4!==ve()||!Fe(m))for(;5===ve()||4===ve();)be()}function v(){if((5===ve()||4===ve())&&Fe(m))return"";for(var e=s.hasPrecedingLineBreak(),t=!1,r="";e&&41===ve()||5===ve()||4===ve();)r+=s.getTokenText(),4===ve()?(e=!0,t=!0,r=""):41===ve()&&(e=!1),be();return t?r:""}function D(t){e.Debug.assert(59===ve());var i=s.getTokenPos();be();var a,o=K(void 0),u=v();switch(o.escapedText){case"author":a=function(e,t,r,n){var i=Ne((function(){return function(){var e=[],t=!1,r=!1,n=s.getToken();e:for(;;){switch(n){case 78:case 5:case 24:case 59:e.push(s.getTokenText());break;case 29:if(t||r)return;t=!0,e.push(s.getTokenText());break;case 31:if(!t||r)return;r=!0,e.push(s.getTokenText()),s.setTextPos(s.getTokenPos()+1);break e;case 4:case 1:break e}n=be()}if(t&&r)return 0===e.length?void 0:e.join("")}()}));if(!i){var a=me();return Ue(L.createJSDocAuthorTag(t,x(e,a,r,n)),e,a)}var o=i;if(Fe((function(){return 4!==xe()}))){var c=b(r);c&&(o+=c)}return Ue(L.createJSDocAuthorTag(t,o),e)}(i,o,t,u);break;case"implements":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocImplementsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case"augments":case"extends":a=function(e,t,r,n){var i=N(),a=me();return Ue(L.createJSDocAugmentsTag(t,i,x(e,a,r,n)),e,a)}(i,o,t,u);break;case"class":case"constructor":a=w(i,L.createJSDocClassTag,o,t,u);break;case"public":a=w(i,L.createJSDocPublicTag,o,t,u);break;case"private":a=w(i,L.createJSDocPrivateTag,o,t,u);break;case"protected":a=w(i,L.createJSDocProtectedTag,o,t,u);break;case"readonly":a=w(i,L.createJSDocReadonlyTag,o,t,u);break;case"deprecated":H=!0,a=w(i,L.createJSDocDeprecatedTag,o,t,u);break;case"this":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocThisTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case"enum":a=function(e,t,n,i){var a=r(!0);y();var o=me();return Ue(L.createJSDocEnumTag(t,a,x(e,o,n,i)),e,o)}(i,o,t,u);break;case"arg":case"argument":case"param":return A(i,o,2,t);case"return":case"returns":a=function(t,r,n,i){e.some(c,e.isJSDocReturnTag)&&pe(r.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,r.escapedText);var a=C(),o=me();return Ue(L.createJSDocReturnTag(r,a,x(t,o,n,i)),t,o)}(i,o,t,u);break;case"template":a=function(e,t,n,i){var a=18===ve()?r():void 0,o=function(){var e=me(),t=[];do{y(),t.push(j()),v()}while(J(27));return ze(t,e)}(),s=me();return Ue(L.createJSDocTemplateTag(t,a,o,x(e,s,n,i)),e,s)}(i,o,t,u);break;case"type":a=F(i,o,t,u);break;case"typedef":a=function(t,r,n,i){var a,o=C();v();var s=I();y();var c,u=b(n);if(!o||k(o.type)){for(var l=void 0,_=void 0,p=void 0,f=!1;l=Ne((function(){return M(n)}));)if(f=!0,329===l.kind){if(_){de(e.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=e.lastOrUndefined(S);g&&e.addRelatedInfo(g,e.createDetachedDiagnostic(d,0,0,e.Diagnostics.The_tag_was_first_specified_here));break}_=l}else p=e.append(p,l);if(f){var m=o&&178===o.type.kind,h=L.createJSDocTypeLiteral(p,m);c=(o=_&&_.typeExpression&&!k(_.typeExpression.type)?_.typeExpression:Ue(h,t)).end}}c=c||void 0!==u?me():(null!==(a=null!=s?s:o)&&void 0!==a?a:r).end,u||(u=x(t,c,n,i));return Ue(L.createJSDocTypedefTag(r,o,s,u),t,c)}(i,o,t,u);break;case"callback":a=function(t,r,n,i){var a=I();y();var o=b(n),s=function(t){var r,n,i=me();for(;r=Ne((function(){return R(4,t)}));)n=e.append(n,r);return ze(n||[],i)}(n),c=Ne((function(){if(J(59)){var e=D(n);if(e&&327===e.kind)return e}})),u=Ue(L.createJSDocSignature(void 0,s,c),t),l=me();o||(o=x(t,l,n,i));return Ue(L.createJSDocCallbackTag(r,u,a,o),t,l)}(i,o,t,u);break;case"see":a=function(e,t,r,i){var a=n(),o=me(),s=void 0!==r&&void 0!==i?x(e,o,r,i):void 0;return Ue(L.createJSDocSeeTag(t,a,s),e,o)}(i,o,t,u);break;default:a=function(e,t,r,n){var i=me();return Ue(L.createJSDocUnknownTag(t,x(e,i,r,n)),e,i)}(i,o,t,u)}return a}function x(e,t,r,n){return n||(r+=t-e),b(r,n.slice(r))}function b(t,r){var n,i=[],a=0;function o(e){n||(n=t),i.push(e),t+=e.length}void 0!==r&&(""!==r&&o(r),a=1);var c=ve();e:for(;;){switch(c){case 4:a=0,i.push(s.getTokenText()),t=0;break;case 59:if(3===a){i.push(s.getTokenText());break}s.setTextPos(s.getTextPos()-1);case 1:break e;case 5:if(2===a||3===a)o(s.getTokenText());else{var u=s.getTokenText();void 0!==n&&t+u.length>n&&i.push(u.slice(n-t)),t+=u.length}break;case 18:a=2,Fe((function(){return 59===be()&&e.tokenIsIdentifierOrKeyword(be())&&"link"===s.getTokenText()}))&&(o(s.getTokenText()),be(),o(s.getTokenText()),be()),o(s.getTokenText());break;case 61:a=3===a?2:3,o(s.getTokenText());break;case 41:if(0===a){a=1,t+=1;break}default:3!==a&&(a=2),o(s.getTokenText())}c=be()}return f(i),g(i),0===i.length?void 0:i.join("")}function E(e){e&&(c?c.push(e):(c=[e],u=e.pos),l=e.end)}function C(){return v(),18===ve()?r():void 0}function T(){var t=J(22);t&&y();var r=J(61),n=function(){var e=K();Me(22)&&Ie(23);for(;Me(24);){var t=K();Me(22)&&Ie(23),e=Tt(e,t)}return e}();return r&&function(t){Re(t)||Ve(t,!1,e.Diagnostics._0_expected,e.tokenToString(t))}(61),t&&(y(),Le(62)&&Br(),Ie(23)),{name:n,isBracketed:t}}function k(t){switch(t.kind){case 145:return!0;case 178:return k(t.elementType);default:return e.isTypeReferenceNode(t)&&e.isIdentifier(t.typeName)&&"Object"===t.typeName.escapedText&&!t.typeArguments}}function A(t,r,n,i){var a=C(),o=!a;v();var c=T(),u=c.name,l=c.isBracketed;y(),o&&(a=C());var d=b(i+s.getStartPos()-t),_=4!==n&&function(t,r,n,i){if(t&&k(t.type)){for(var a=me(),o=void 0,s=void 0;o=Ne((function(){return R(n,i,r)}));)326!==o.kind&&333!==o.kind||(s=e.append(s,o));if(s){var c=Ue(L.createJSDocTypeLiteral(s,178===t.type.kind),a);return Ue(L.createJSDocTypeExpression(c),a)}}}(a,u,n,i);return _&&(a=_,o=!0),Ue(1===n?L.createJSDocPropertyTag(r,u,l,a,o,d):L.createJSDocParameterTag(r,u,l,a,o,d),t)}function F(t,n,i,a){e.some(c,e.isJSDocTypeTag)&&pe(n.pos,s.getTokenPos(),e.Diagnostics._0_tag_already_specified,n.escapedText);var o=r(!0),u=me(),l=void 0!==i&&void 0!==a?x(t,u,i,a):void 0;return Ue(L.createJSDocTypeTag(n,o,l),t,u)}function N(){var e=Me(18),t=me(),r=function(){var e=me(),t=K();for(;Me(24);){var r=K();t=Ue(L.createPropertyAccessExpression(t,r),e)}return t}(),n=Si(),i=Ue(L.createExpressionWithTypeArguments(r,n),t);return e&&Ie(19),i}function w(e,t,r,n,i){var a=me();return Ue(t(r,x(e,a,n,i)),e,a)}function I(t){var r=s.getTokenPos();if(e.tokenIsIdentifierOrKeyword(ve())){var n=K();if(Me(24)){var i=I(!0);return Ue(L.createModuleDeclaration(void 0,void 0,n,i,t?4:void 0),r)}return t&&(n.isInJSDocNamespace=!0),n}}function O(t,r){for(;!e.isIdentifier(t)||!e.isIdentifier(r);){if(e.isIdentifier(t)||e.isIdentifier(r)||t.right.escapedText!==r.right.escapedText)return!1;t=t.left,r=r.left}return t.escapedText===r.escapedText}function M(e){return R(1,e)}function R(t,r,n){for(var i=!0,a=!1;;)switch(be()){case 59:if(i){var o=B(t,r);return!(o&&(326===o.kind||333===o.kind)&&4!==t&&n&&(e.isIdentifier(o.name)||!O(n,o.name.left)))&&o}a=!1;break;case 4:i=!0,a=!1;break;case 41:a&&(i=!1),a=!0;break;case 78:i=!1;break;case 1:return!1}}function B(t,r){e.Debug.assert(59===ve());var n=s.getStartPos();be();var i,a=K();switch(y(),a.escapedText){case"type":return 1===t&&F(n,a);case"prop":case"property":i=1;break;case"arg":case"argument":case"param":i=6;break;default:return!1}return!!(t&i)&&A(n,a,t,r)}function j(){var t=me(),r=K(e.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces);return Ue(L.createTypeParameterDeclaration(r,void 0,void 0),t)}function J(e){return ve()===e&&(be(),!0)}function K(t){if(!e.tokenIsIdentifierOrKeyword(ve()))return Ve(78,!t,t||e.Diagnostics.Identifier_expected);P++;var r=s.getTokenPos(),n=s.getTextPos(),i=ve(),a=qe(s.getTokenValue()),o=Ue(L.createIdentifier(a,void 0,i),r,n);return be(),o}}t.parseJSDocTypeExpressionForTests=function(t,n,i){J("file.js",t,99,void 0,1),s.setText(t,n,i),k=s.scan();var a=r(),o=X("file.js",99,1,!1,[],L.createToken(1),0),c=e.attachFileToDiagnostics(S,o);return C&&(o.jsDocDiagnostics=e.attachFileToDiagnostics(C,o)),K(),a?{jsDocTypeExpression:a,diagnostics:c}:void 0},t.parseJSDocTypeExpression=r,t.parseJSDocNameReference=n,t.parseIsolatedJSDocComment=function(t,r,n){J("",t,99,void 0,1);var i=ne(4194304,(function(){return o(r,n)})),a={languageVariant:0,text:t},s=e.attachFileToDiagnostics(S,a);return K(),i?{jsDoc:i,diagnostics:s}:void 0},t.parseJSDocComment=function(t,r,n){var i=k,a=S.length,s=B,c=ne(4194304,(function(){return o(r,n)}));return e.setParent(c,t),131072&O&&(C||(C=[]),C.push.apply(C,S)),k=i,S.length=a,B=s,c},function(e){e[e.BeginningOfLine=0]="BeginningOfLine",e[e.SawAsterisk=1]="SawAsterisk",e[e.SavingComments=2]="SavingComments",e[e.SavingBackticks=3]="SavingBackticks"}(i||(i={})),function(e){e[e.Property=1]="Property",e[e.Parameter=2]="Parameter",e[e.CallbackParameter=4]="CallbackParameter"}(a||(a={}))}(W=t.JSDocParser||(t.JSDocParser={}))}(c||(c={})),function(t){function r(t,r,i,o,s,c){return void(r?l(t):u(t));function u(t){var r="";if(c&&n(t)&&(r=o.substring(t.pos,t.end)),t._children&&(t._children=void 0),e.setTextRangePosEnd(t,t.pos+i,t.end+i),c&&n(t)&&e.Debug.assert(r===s.substring(t.pos,t.end)),p(t,u,l),e.hasJSDocNodes(t))for(var d=0,_=t.jsDoc;d<_.length;d++){u(_[d])}a(t,c)}function l(t){t._children=void 0,e.setTextRangePosEnd(t,t.pos+i,t.end+i);for(var r=0,n=t;r=r,"Adjusting an element that was entirely before the change range"),e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range"),e.Debug.assert(t.pos<=t.end);var o=Math.min(t.pos,i),s=t.end>=n?t.end+a:Math.min(t.end,i);e.Debug.assert(o<=s),t.parent&&(e.Debug.assertGreaterThanOrEqual(o,t.parent.pos),e.Debug.assertLessThanOrEqual(s,t.parent.end)),e.setTextRangePosEnd(t,o,s)}function a(t,r){if(r){var n=t.pos,i=function(t){e.Debug.assert(t.pos>=n),n=t.end};if(e.hasJSDocNodes(t))for(var a=0,o=t.jsDoc;ar),!0;if(a.pos>=i.pos&&(i=a),ri.pos&&(i=a)}return i}function s(t,r,n,i){var a=t.text;if(n&&(e.Debug.assert(a.length-n.span.length+n.newLength===r.length),i||e.Debug.shouldAssert(3))){var o=a.substr(0,n.span.start),s=r.substr(0,n.span.start);e.Debug.assert(o===s);var c=a.substring(e.textSpanEnd(n.span),a.length),u=r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)),r.length);e.Debug.assert(c===u)}}function u(t){var r=t.statements,n=0;e.Debug.assert(n=t.pos&&e=t.pos&&e0&&a<=n;a++){var s=o(t,i);e.Debug.assert(s.pos<=i);var c=s.pos;i=Math.max(0,c-1)}var u=e.createTextSpanFromBounds(i,e.textSpanEnd(r.span)),l=r.newLength+(r.span.start-i);return e.createTextChangeRange(u,l)}(t,l);s(t,n,m,d),e.Debug.assert(m.span.start<=l.span.start),e.Debug.assert(e.textSpanEnd(m.span)===e.textSpanEnd(l.span)),e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(m))===e.textSpanEnd(e.textChangeRangeNewSpan(l)));var y=e.textChangeRangeNewSpan(m).length-m.span.length;!function(t,n,o,s,c,u,l,d){return void _(t);function _(t){if(e.Debug.assert(t.pos<=t.end),t.pos>o)r(t,!1,c,u,l,d);else{var g=t.end;if(g>=n){if(t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c),p(t,_,f),e.hasJSDocNodes(t))for(var m=0,y=t.jsDoc;mo)r(t,!0,c,u,l,d);else{var a=t.end;if(a>=n){t.intersectsChange=!0,t._children=void 0,i(t,n,o,s,c);for(var p=0,f=t;pi){y();var m={range:{pos:f.pos+a,end:f.end+a},type:g};u=e.append(u,m),c&&e.Debug.assert(o.substring(f.pos,f.end)===s.substring(m.range.pos,m.range.end))}}return y(),u;function y(){l||(l=!0,u?r&&u.push.apply(u,r):u=r)}}(t.commentDirectives,v.commentDirectives,m.span.start,e.textSpanEnd(m.span),y,f,n,d),v},t.createSyntaxCursor=u,function(e){e[e.Value=-1]="Value"}(l||(l={}))}(u||(u={})),e.isDeclarationFileName=g,e.processCommentPragmas=m,e.processPragmasIntoFields=y;var v=new e.Map;function h(e){if(v.has(e))return v.get(e);var t=new RegExp("(\\s"+e+"\\s*=\\s*)('|\")(.+?)\\2","im");return v.set(e,t),t}var D=/^\/\/\/\s*<(\S+)\s.*?\/>/im,x=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function b(t,r,n){var i=2===r.kind&&D.exec(n);if(i){var a=i[1].toLowerCase(),o=e.commentPragmas[a];if(!(o&&1&o.kind))return;if(o.args){for(var s={},c=0,u=o.args;c=r.length)break;var o=a;if(34===r.charCodeAt(o)){for(a++;a32;)a++;i.push(r.substring(o,a))}}c(i)}else s.push(r)}}function y(t,r,n,i,a,o){if(i.isTSConfigOnly)"null"===(s=t[r])?(a[i.name]=void 0,r++):"boolean"===i.type?"false"===s?(a[i.name]=!1,r++):("true"===s&&r++,o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line,i.name))):(o.push(e.createCompilerDiagnostic(e.Diagnostics.Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line,i.name)),s&&!e.startsWith(s,"-")&&r++);else if(t[r]||"boolean"===i.type||o.push(e.createCompilerDiagnostic(n.optionTypeMismatchDiagnostic,i.name,B(i))),"null"!==t[r])switch(i.type){case"number":a[i.name]=parseInt(t[r]),r++;break;case"boolean":var s=t[r];a[i.name]="false"!==s,"false"!==s&&"true"!==s||r++;break;case"string":a[i.name]=t[r]||"",r++;break;case"list":var c=p(i,t[r],o);a[i.name]=c||[],c&&r++;break;default:a[i.name]=_(i,t[r],o),r++}else a[i.name]=void 0,r++;return r}function v(e,t){return h(c,e,t)}function h(e,t,r){void 0===r&&(r=!1),t=t.toLowerCase();var n=e(),i=n.optionsNameMap,a=n.shortOptionNames;if(r){var o=a.get(t);void 0!==o&&(t=o)}return i.get(t)}e.libs=o.map((function(e){return e[0]})),e.libMap=new e.Map(o),e.optionsForWatch=[{name:"watchFile",type:new e.Map(e.getEntries({fixedpollinginterval:e.WatchFileKind.FixedPollingInterval,prioritypollinginterval:e.WatchFileKind.PriorityPollingInterval,dynamicprioritypolling:e.WatchFileKind.DynamicPriorityPolling,usefsevents:e.WatchFileKind.UseFsEvents,usefseventsonparentdirectory:e.WatchFileKind.UseFsEventsOnParentDirectory})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory},{name:"watchDirectory",type:new e.Map(e.getEntries({usefsevents:e.WatchDirectoryKind.UseFsEvents,fixedpollinginterval:e.WatchDirectoryKind.FixedPollingInterval,dynamicprioritypolling:e.WatchDirectoryKind.DynamicPriorityPolling})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling},{name:"fallbackPolling",type:new e.Map(e.getEntries({fixedinterval:e.PollingWatchKind.FixedInterval,priorityinterval:e.PollingWatchKind.PriorityInterval,dynamicpriority:e.PollingWatchKind.DynamicPriority})),category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority},{name:"synchronousWatchDirectory",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively}],e.commonOptionsWithBuild=[{name:"help",shortName:"h",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_this_message},{name:"help",shortName:"?",type:"boolean"},{name:"watch",shortName:"w",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Watch_input_files},{name:"preserveWatchOutput",type:"boolean",showInSimplifiedHelpView:!1,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen},{name:"listFiles",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_files_part_of_the_compilation},{name:"listEmittedFiles",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Print_names_of_generated_files_part_of_the_compilation},{name:"pretty",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental},{name:"traceResolution",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:"diagnostics",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_diagnostic_information},{name:"extendedDiagnostics",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Show_verbose_diagnostic_information},{name:"generateCpuProfile",type:"string",isFilePath:!0,paramType:e.Diagnostics.FILE_OR_DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_a_CPU_profile},{name:"generateTrace",type:"string",isFilePath:!0,isCommandLineOnly:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Generates_an_event_trace_and_a_list_of_types},{name:"incremental",shortName:"i",type:"boolean",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_incremental_compilation,transpileOptionValue:void 0},{name:"assumeChangesOnlyAffectDirectDependencies",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it},{name:"locale",type:"string",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_locale_used_when_displaying_messages_to_the_user_e_g_en_us}],e.optionDeclarations=r(e.commonOptionsWithBuild,[{name:"all",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_all_compiler_options},{name:"version",shortName:"v",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Print_the_compiler_s_version},{name:"init",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:"project",shortName:"p",type:"string",isFilePath:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,paramType:e.Diagnostics.FILE_OR_DIRECTORY,description:e.Diagnostics.Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json},{name:"build",type:"boolean",shortName:"b",showInSimplifiedHelpView:!0,category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_one_or_more_projects_and_their_dependencies_if_out_of_date},{name:"showConfig",type:"boolean",category:e.Diagnostics.Command_line_Options,isCommandLineOnly:!0,description:e.Diagnostics.Print_the_final_configuration_instead_of_building},{name:"listFilesOnly",type:"boolean",category:e.Diagnostics.Command_line_Options,affectsSemanticDiagnostics:!0,affectsEmit:!0,isCommandLineOnly:!0,description:e.Diagnostics.Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing},{name:"target",shortName:"t",type:new e.Map(e.getEntries({es3:0,es5:1,es6:2,es2015:2,es2016:3,es2017:4,es2018:5,es2019:6,es2020:7,esnext:99})),affectsSourceFile:!0,affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.VERSION,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT},{name:"module",shortName:"m",type:new e.Map(e.getEntries({none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES2015,es2015:e.ModuleKind.ES2015,es2020:e.ModuleKind.ES2020,esnext:e.ModuleKind.ESNext})),affectsModuleResolution:!0,affectsEmit:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext},{name:"lib",type:"list",element:{name:"lib",type:e.libMap},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation,transpileOptionValue:void 0},{name:"allowJs",type:"boolean",affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:"checkJs",type:"boolean",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Report_errors_in_js_files},{name:"jsx",type:t,affectsSourceFile:!0,affectsEmit:!0,affectsModuleResolution:!0,paramType:e.Diagnostics.KIND,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_react_native_or_react},{name:"declaration",shortName:"d",type:"boolean",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_d_ts_file,transpileOptionValue:void 0},{name:"declarationMap",type:"boolean",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_a_sourcemap_for_each_corresponding_d_ts_file,transpileOptionValue:void 0},{name:"emitDeclarationOnly",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Only_emit_d_ts_declaration_files,transpileOptionValue:void 0},{name:"sourceMap",type:"boolean",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Generates_corresponding_map_file},{name:"outFile",type:"string",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:"outDir",type:"string",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Redirect_output_structure_to_the_directory},{name:"rootDir",type:"string",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:"composite",type:"boolean",affectsEmit:!0,isTSConfigOnly:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Enable_project_compilation,transpileOptionValue:void 0},{name:"tsBuildInfoFile",type:"string",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.FILE,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Specify_file_to_store_incremental_compilation_information,transpileOptionValue:void 0},{name:"removeComments",type:"boolean",affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_comments_to_output},{name:"noEmit",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Do_not_emit_outputs,transpileOptionValue:void 0},{name:"importHelpers",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Import_emit_helpers_from_tslib},{name:"importsNotUsedAsValues",type:new e.Map(e.getEntries({remove:0,preserve:1,error:2})),affectsEmit:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types},{name:"downlevelIteration",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3},{name:"isolatedModules",type:"boolean",category:e.Diagnostics.Basic_Options,description:e.Diagnostics.Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule,transpileOptionValue:!0},{name:"strict",type:"boolean",showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_all_strict_type_checking_options},{name:"noImplicitAny",type:"boolean",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:"strictNullChecks",type:"boolean",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_null_checks},{name:"strictFunctionTypes",type:"boolean",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_function_types},{name:"strictBindCallApply",type:"boolean",strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_bind_call_and_apply_methods_on_functions},{name:"strictPropertyInitialization",type:"boolean",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Enable_strict_checking_of_property_initialization_in_classes},{name:"noImplicitThis",type:"boolean",affectsSemanticDiagnostics:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:"alwaysStrict",type:"boolean",affectsSourceFile:!0,strictFlag:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Strict_Type_Checking_Options,description:e.Diagnostics.Parse_in_strict_mode_and_emit_use_strict_for_each_source_file},{name:"noUnusedLocals",type:"boolean",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_locals},{name:"noUnusedParameters",type:"boolean",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_on_unused_parameters},{name:"noImplicitReturns",type:"boolean",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:"noFallthroughCasesInSwitch",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:"noUncheckedIndexedAccess",type:"boolean",affectsSemanticDiagnostics:!0,showInSimplifiedHelpView:!1,category:e.Diagnostics.Additional_Checks,description:e.Diagnostics.Include_undefined_in_index_signature_results},{name:"moduleResolution",type:new e.Map(e.getEntries({node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic})),affectsModuleResolution:!0,paramType:e.Diagnostics.STRATEGY,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:"baseUrl",type:"string",affectsModuleResolution:!0,isFilePath:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:"paths",type:"object",affectsModuleResolution:!0,isTSConfigOnly:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl,transpileOptionValue:void 0},{name:"rootDirs",type:"list",isTSConfigOnly:!0,element:{name:"rootDirs",type:"string",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime,transpileOptionValue:void 0},{name:"typeRoots",type:"list",element:{name:"typeRoots",type:"string",isFilePath:!0},affectsModuleResolution:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.List_of_folders_to_include_type_definitions_from},{name:"types",type:"list",element:{name:"types",type:"string"},affectsModuleResolution:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation,transpileOptionValue:void 0},{name:"allowSyntheticDefaultImports",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:"esModuleInterop",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,showInSimplifiedHelpView:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports},{name:"preserveSymlinks",type:"boolean",category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Do_not_resolve_the_real_path_of_symlinks},{name:"allowUmdGlobalAccess",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Module_Resolution_Options,description:e.Diagnostics.Allow_accessing_UMD_globals_from_modules},{name:"sourceRoot",type:"string",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations},{name:"mapRoot",type:"string",affectsEmit:!0,paramType:e.Diagnostics.LOCATION,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations},{name:"inlineSourceMap",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file},{name:"inlineSources",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Source_Map_Options,description:e.Diagnostics.Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set},{name:"experimentalDecorators",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:"emitDecoratorMetadata",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Experimental_Options,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:"jsxFactory",type:"string",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h},{name:"jsxFragmentFactory",type:"string",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment},{name:"jsxImportSource",type:"string",affectsSemanticDiagnostics:!0,affectsEmit:!0,affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react},{name:"resolveJsonModule",type:"boolean",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Include_modules_imported_with_json_extension},{name:"out",type:"string",affectsEmit:!0,isFilePath:!1,category:e.Diagnostics.Advanced_Options,paramType:e.Diagnostics.FILE,description:e.Diagnostics.Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file,transpileOptionValue:void 0},{name:"reactNamespace",type:"string",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit},{name:"skipDefaultLibCheck",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files},{name:"charset",type:"string",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_character_set_of_the_input_files},{name:"emitBOM",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files},{name:"newLine",type:new e.Map(e.getEntries({crlf:0,lf:1})),affectsEmit:!0,paramType:e.Diagnostics.NEWLINE,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix},{name:"noErrorTruncation",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_truncate_error_messages},{name:"noLib",type:"boolean",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_include_the_default_library_file_lib_d_ts,transpileOptionValue:!0},{name:"noResolve",type:"boolean",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files,transpileOptionValue:!0},{name:"stripInternal",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation},{name:"disableSizeLimit",type:"boolean",affectsSourceFile:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_size_limitations_on_JavaScript_projects},{name:"disableSourceOfProjectReferenceRedirect",type:"boolean",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects},{name:"disableSolutionSearching",type:"boolean",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_solution_searching_for_this_project},{name:"disableReferencedProjectLoad",type:"boolean",isTSConfigOnly:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_loading_referenced_projects},{name:"noImplicitUseStrict",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:"noEmitHelpers",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_generate_custom_helper_functions_like_extends_in_compiled_output},{name:"noEmitOnError",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported,transpileOptionValue:void 0},{name:"preserveConstEnums",type:"boolean",affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:"declarationDir",type:"string",affectsEmit:!0,isFilePath:!0,paramType:e.Diagnostics.DIRECTORY,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Output_directory_for_generated_declaration_files,transpileOptionValue:void 0},{name:"skipLibCheck",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:"allowUnusedLabels",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:"allowUnreachableCode",type:"boolean",affectsBindDiagnostics:!0,affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:"suppressExcessPropertyErrors",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals},{name:"suppressImplicitAnyIndexErrors",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:"forceConsistentCasingInFileNames",type:"boolean",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:"maxNodeModuleJsDepth",type:"number",affectsModuleResolution:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:"noStrictGenericChecks",type:"boolean",affectsSemanticDiagnostics:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Disable_strict_checking_of_generic_signatures_in_function_types},{name:"useDefineForClassFields",type:"boolean",affectsSemanticDiagnostics:!0,affectsEmit:!0,category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Emit_class_fields_with_Define_instead_of_Set},{name:"keyofStringsOnly",type:"boolean",category:e.Diagnostics.Advanced_Options,description:e.Diagnostics.Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols},{name:"plugins",type:"list",isTSConfigOnly:!0,element:{name:"plugin",type:"object"},description:e.Diagnostics.List_of_language_service_plugins}]),e.semanticDiagnosticsOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsSemanticDiagnostics})),e.affectsEmitOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsEmit})),e.moduleResolutionOptionDeclarations=e.optionDeclarations.filter((function(e){return!!e.affectsModuleResolution})),e.sourceFileAffectingCompilerOptions=e.optionDeclarations.filter((function(e){return!!e.affectsSourceFile||!!e.affectsModuleResolution||!!e.affectsBindDiagnostics})),e.transpileOptionValueCompilerOptions=e.optionDeclarations.filter((function(t){return e.hasProperty(t,"transpileOptionValue")})),e.buildOpts=r(e.commonOptionsWithBuild,[{name:"verbose",shortName:"v",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Enable_verbose_logging,type:"boolean"},{name:"dry",shortName:"d",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Show_what_would_be_built_or_deleted_if_specified_with_clean,type:"boolean"},{name:"force",shortName:"f",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Build_all_projects_including_those_that_appear_to_be_up_to_date,type:"boolean"},{name:"clean",category:e.Diagnostics.Command_line_Options,description:e.Diagnostics.Delete_the_outputs_of_all_projects,type:"boolean"}]),e.typeAcquisitionDeclarations=[{name:"enableAutoDiscovery",type:"boolean"},{name:"enable",type:"boolean"},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},{name:"disableFilenameBasedTypeAcquisition",type:"boolean"}],e.createOptionNameMap=s,e.getOptionsNameMap=c,e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,strict:!0,esModuleInterop:!0,forceConsistentCasingInFileNames:!0,skipLibCheck:!0},e.convertEnableAutoDiscoveryToEnable=u,e.createCompilerDiagnosticForInvalidCustomType=l,e.parseCustomTypeOption=_,e.parseListTypeOption=p,e.parseCommandLineWorker=m,e.compilerOptionsDidYouMeanDiagnostics={getOptionsNameMap:c,optionDeclarations:e.optionDeclarations,unknownOptionDiagnostic:e.Diagnostics.Unknown_compiler_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_compiler_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Compiler_option_0_expects_an_argument},e.parseCommandLine=function(t,r){return m(e.compilerOptionsDidYouMeanDiagnostics,t,r)},e.getOptionFromName=v;var D={getOptionsNameMap:function(){return a||(a=s(e.buildOpts))},optionDeclarations:e.buildOpts,unknownOptionDiagnostic:e.Diagnostics.Unknown_build_option_0,unknownDidYouMeanDiagnostic:e.Diagnostics.Unknown_build_option_0_Did_you_mean_1,optionTypeMismatchDiagnostic:e.Diagnostics.Build_option_0_requires_a_value_of_type_1};function x(t,r){var n=e.parseJsonText(t,r);return{config:L(n,n.parseDiagnostics),error:n.parseDiagnostics.length?n.parseDiagnostics[0]:void 0}}function b(t,r){var n=S(t,r);return e.isString(n)?e.parseJsonText(t,n):{fileName:t,parseDiagnostics:[n]}}function S(t,r){var n;try{n=r(t)}catch(r){return e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}return void 0===n?e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0,t):n}function E(t){return e.arrayToMap(t,f)}e.parseBuildCommand=function(t){var r=m(D,t),n=r.options,i=r.watchOptions,a=r.fileNames,o=r.errors,s=n;return 0===a.length&&a.push("."),s.clean&&s.force&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","force")),s.clean&&s.verbose&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","verbose")),s.clean&&s.watch&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"clean","watch")),s.watch&&s.dry&&o.push(e.createCompilerDiagnostic(e.Diagnostics.Options_0_and_1_cannot_be_combined,"watch","dry")),{buildOptions:s,watchOptions:i,projects:a,errors:o}},e.getDiagnosticText=function(t){for(var r=[],n=1;n=0)return c.push(e.createCompilerDiagnostic(e.Diagnostics.Circularity_detected_while_resolving_configuration_Colon_0,r(s,[d]).join(" -> "))),{raw:t||L(n,c)};var _=t?function(t,r,n,i,a){e.hasProperty(t,"excludes")&&a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var o,s=ae(t.compilerOptions,n,a,i),c=se(t.typeAcquisition||t.typingOptions,n,a,i),u=function(e,t,r){return ce(O(),e,t,void 0,w,r)}(t.watchOptions,n,a);if(t.compileOnSave=function(t,r,n){if(!e.hasProperty(t,e.compileOnSaveCommandLineOption.name))return!1;var i=ue(e.compileOnSaveCommandLineOption,t.compileOnSave,r,n);return"boolean"==typeof i&&i}(t,n,a),t.extends)if(e.isString(t.extends)){var l=i?X(i,n):n;o=ne(t.extends,r,l,a,e.createCompilerDiagnostic)}else a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string"));return{raw:t,options:s,watchOptions:u,typeAcquisition:c,extendedConfigPath:o}}(t,i,a,o,c):function(t,r,n,i,a){var o,s,c,u,l=ie(i),d={onSetValidOptionKeyValueInParent:function(t,r,a){var u;switch(t){case"compilerOptions":u=l;break;case"watchOptions":u=c||(c={});break;case"typeAcquisition":u=o||(o=oe(i));break;case"typingOptions":u=s||(s=oe(i));break;default:e.Debug.fail("Unknown option")}u[r.name]=le(r,n,a)},onSetValidOptionKeyValueInRoot:function(o,s,c,l){switch(o){case"extends":var d=i?X(i,n):n;return void(u=ne(c,r,d,a,(function(r,n){return e.createDiagnosticForNodeInSourceFile(t,l,r,n)})))}},onSetUnknownOptionKeyValueInRoot:function(r,n,i,o){"excludes"===r&&a.push(e.createDiagnosticForNodeInSourceFile(t,n,e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},_=R(t,a,!0,(void 0===P&&(P={name:void 0,type:"object",elementOptions:E([{name:"compilerOptions",type:"object",elementOptions:I(),extraKeyDiagnostics:e.compilerOptionsDidYouMeanDiagnostics},{name:"watchOptions",type:"object",elementOptions:O(),extraKeyDiagnostics:w},{name:"typingOptions",type:"object",elementOptions:M(),extraKeyDiagnostics:T},{name:"typeAcquisition",type:"object",elementOptions:M(),extraKeyDiagnostics:T},{name:"extends",type:"string"},{name:"references",type:"list",element:{name:"references",type:"object"}},{name:"files",type:"list",element:{name:"files",type:"string"}},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},e.compileOnSaveCommandLineOption])}),P),d);o||(o=s?void 0!==s.enableAutoDiscovery?{enable:s.enableAutoDiscovery,include:s.include,exclude:s.exclude}:s:oe(i));return{raw:_,options:l,watchOptions:c,typeAcquisition:o,extendedConfigPath:u}}(n,i,a,o,c);if((null===(l=_.options)||void 0===l?void 0:l.paths)&&(_.options.pathsBasePath=a),_.extendedConfigPath){s=s.concat([d]);var p=function(t,r,n,i,a,o,s){var c,u,l,d,_=n.useCaseSensitiveFileNames?r:e.toFileNameLowerCase(r);if(s&&(u=s.get(_)))l=u.extendedResult,d=u.extendedConfig;else{if(!(l=b(r,(function(e){return n.readFile(e)}))).parseDiagnostics.length){var p=e.getDirectoryPath(r);if(te(d=re(void 0,l,n,p,e.getBaseFileName(r),a,o,s))){var f=e.convertToRelativePath(p,i,e.identity),g=function(t){return e.isRootedDiskPath(t)?t:e.combinePaths(f,t)},m=function(t){y[t]&&(y[t]=e.map(y[t],g))},y=d.raw;m("include"),m("exclude"),m("files")}}s&&s.set(_,{extendedResult:l,extendedConfig:d})}t&&(t.extendedSourceFiles=[l.fileName],l.extendedSourceFiles&&(c=t.extendedSourceFiles).push.apply(c,l.extendedSourceFiles));if(l.parseDiagnostics.length)return void o.push.apply(o,l.parseDiagnostics);return d}(n,_.extendedConfigPath,i,a,s,c,u);if(p&&te(p)){var f=p.raw,g=_.raw,m=function(e){var t=g[e]||f[e];t&&(g[e]=t)};m("include"),m("exclude"),m("files"),void 0===g.compileOnSave&&(g.compileOnSave=f.compileOnSave),_.options=e.assign({},p.options,_.options),_.watchOptions=_.watchOptions&&p.watchOptions?e.assign({},p.watchOptions,_.watchOptions):_.watchOptions||p.watchOptions}}return _}function ne(t,r,n,i,a){if(t=e.normalizeSlashes(t),e.isRootedDiskPath(t)||e.startsWith(t,"./")||e.startsWith(t,"../")){var o=e.getNormalizedAbsolutePath(t,n);return r.fileExists(o)||e.endsWith(o,".json")||(o+=".json",r.fileExists(o))?o:void i.push(a(e.Diagnostics.File_0_not_found,t))}var s=e.nodeModuleNameResolver(t,e.combinePaths(n,"tsconfig.json"),{moduleResolution:e.ModuleResolutionKind.NodeJs},r,void 0,void 0,!0);if(s.resolvedModule)return s.resolvedModule.resolvedFileName;i.push(a(e.Diagnostics.File_0_not_found,t))}function ie(t){return t&&"jsconfig.json"===e.getBaseFileName(t)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ae(t,r,n,i){var a=ie(i);return ce(I(),t,r,a,e.compilerOptionsDidYouMeanDiagnostics,n),i&&(a.configFilePath=e.normalizeSlashes(i)),a}function oe(t){return{enable:!!t&&"jsconfig.json"===e.getBaseFileName(t),include:[],exclude:[]}}function se(e,t,r,n){var i=oe(n),a=u(e);return ce(M(),a,t,i,T,r),i}function ce(t,r,n,i,a,o){if(r){for(var s in r){var c=t.get(s);c?(i||(i={}))[c.name]=ue(c,r[s],n,o):o.push(g(s,a,e.createCompilerDiagnostic))}return i}}function ue(t,r,n,i){if(j(t,r)){var a=t.type;return"list"===a&&e.isArray(r)?function(t,r,n,i){return e.filter(e.map(r,(function(e){return ue(t.element,e,n,i)})),(function(e){return!!e}))}(t,r,n,i):e.isString(a)?de(t,n,r):_e(t,r,i)}i.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,B(t)))}function le(t,r,n){if(!Y(n)){if("list"===t.type){var i=t;return i.element.isFilePath||!e.isString(i.element.type)?e.filter(e.map(n,(function(e){return le(i.element,r,e)})),(function(e){return!!e})):n}return e.isString(t.type)?de(t,r,n):t.type.get(e.isString(n)?n.toLowerCase():n)}}function de(t,r,n){return t.isFilePath&&""===(n=e.getNormalizedAbsolutePath(n,r))&&(n="."),n}function _e(e,t,r){if(!Y(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return i;r.push(l(e))}}function pe(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}e.convertToObject=L,e.convertToObjectWorker=R,e.convertToTSConfig=function(t,r,i){var a=e.createGetCanonicalFileName(i.useCaseSensitiveFileNames),o=e.map(e.filter(t.fileNames,t.configFileSpecs&&t.configFileSpecs.validatedIncludeSpecs?function(t,r,n,i){if(!r)return function(e){return!0};var a=e.getFileMatcherPatterns(t,n,r,i.useCaseSensitiveFileNames,i.getCurrentDirectory()),o=a.excludePattern&&e.getRegexFromPattern(a.excludePattern,i.useCaseSensitiveFileNames),s=a.includeFilePattern&&e.getRegexFromPattern(a.includeFilePattern,i.useCaseSensitiveFileNames);if(s)return o?function(e){return!(s.test(e)&&!o.test(e))}:function(e){return!s.test(e)};if(o)return function(e){return o.test(e)};return function(e){return!0}}(r,t.configFileSpecs.validatedIncludeSpecs,t.configFileSpecs.validatedExcludeSpecs,i):function(e){return!0}),(function(t){return e.getRelativePathFromFile(e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),e.getNormalizedAbsolutePath(t,i.getCurrentDirectory()),a)})),s=V(t.options,{configFilePath:e.getNormalizedAbsolutePath(r,i.getCurrentDirectory()),useCaseSensitiveFileNames:i.useCaseSensitiveFileNames}),c=t.watchOptions&&function(e){return q(e,k())}(t.watchOptions);return n(n({compilerOptions:n(n({},J(s)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:c&&J(c),references:e.map(t.projectReferences,(function(e){return n(n({},e),{path:e.originalPath?e.originalPath:"",originalPath:void 0})})),files:e.length(o)?o:void 0},t.configFileSpecs?{include:K(t.configFileSpecs.validatedIncludeSpecs),exclude:t.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!t.compileOnSave||void 0})},e.generateTSConfig=function(t,r,n){var i=V(e.extend(t,e.defaultInitCompilerOptions));return function(){for(var t=e.createMultiMap(),c=0,u=e.optionDeclarations;c0)for(var x=function(t){if(e.fileExtensionIs(t,".json")){if(!o){var n=_.filter((function(t){return e.endsWith(t,".json")})),a=e.map(e.getRegularExpressionsForWildcards(n,r,"files"),(function(e){return"^"+e+"$"}));o=a?a.map((function(t){return e.getRegexFromPattern(t,i.useCaseSensitiveFileNames)})):e.emptyArray}if(-1!==e.findIndex(o,(function(e){return e.test(t)}))){var d=s(t);c.has(d)||l.has(d)||l.set(d,t)}return"continue"}if(function(t,r,n,i,a){for(var o=e.getExtensionPriority(t,i),s=e.adjustExtensionPriority(o,i),c=0;cs&&(s=l),1===s)return s}return s}break;case 257:var d=0;return e.forEachChild(t,(function(t){var n=a(t,r);switch(n){case 0:return;case 2:return void(d=2);case 1:return d=1,!0;default:e.Debug.assertNever(n)}})),d;case 256:return i(t,r);case 78:if(t.isInJSDocNamespace)return 0}return 1}(t,r);return r.set(n,s),s}function o(t,r){for(var n=t.propertyName||t.name,i=t.parent;i;){if(e.isBlock(i)||e.isModuleBlock(i)||e.isSourceFile(i)){for(var o=void 0,s=0,c=i.statements;so)&&(o=l),1===o)return o}}if(void 0!==o)return o}i=i.parent}return 1}function s(t){return e.Debug.attachFlowNodeDebugInfo(t),t}!function(e){e[e.NonInstantiated=0]="NonInstantiated",e[e.Instantiated=1]="Instantiated",e[e.ConstEnumOnly=2]="ConstEnumOnly"}(e.ModuleInstanceState||(e.ModuleInstanceState={})),e.getModuleInstanceState=i,function(e){e[e.None=0]="None",e[e.IsContainer=1]="IsContainer",e[e.IsBlockScopedContainer=2]="IsBlockScopedContainer",e[e.IsControlFlowContainer=4]="IsControlFlowContainer",e[e.IsFunctionLike=8]="IsFunctionLike",e[e.IsFunctionExpression=16]="IsFunctionExpression",e[e.HasLocals=32]="HasLocals",e[e.IsInterface=64]="IsInterface",e[e.IsObjectLiteralOrClassExpressionMethod=128]="IsObjectLiteralOrClassExpressionMethod"}(t||(t={}));var c=function(){var t,a,o,c,_,p,f,g,m,y,v,h,D,x,b,S,E,C,T,k,A,F,N,P,w=!1,I=0,O={flags:1},M={flags:1};function L(r,n,i,a,o){return e.createDiagnosticForNodeInSourceFile(e.getSourceFileOfNode(r)||t,r,n,i,a,o)}return function(r,n){t=r,a=n,o=e.getEmitScriptTarget(a),F=function(t,r){return!(!e.getStrictOptionValue(r,"alwaysStrict")||t.isDeclarationFile)||!!t.externalModuleIndicator}(t,n),P=new e.Set,I=0,N=e.objectAllocator.getSymbolConstructor(),e.Debug.attachFlowNodeDebugInfo(O),e.Debug.attachFlowNodeDebugInfo(M),t.locals||(Re(t),t.symbolCount=I,t.classifiableNames=P,function(){if(m){for(var r=_,n=g,i=f,a=c,o=v,u=0,d=m;u=232&&t.kind<=248&&!a.allowUnreachableCode&&(t.flowNode=v),t.kind){case 236:!function(e){var t=fe(e,Z()),r=$(),n=$();re(t,v),v=t,_e(e.expression,r,n),v=se(r),pe(e.statement,n,t),re(t,v),v=se(n)}(t);break;case 235:!function(e){var t=Z(),r=fe(e,$()),n=$();re(t,v),v=t,pe(e.statement,n,r),re(r,v),v=se(r),_e(e.expression,t,n),v=se(n)}(t);break;case 237:!function(e){var t=fe(e,Z()),r=$(),n=$();Re(e.initializer),re(t,v),v=t,_e(e.condition,r,n),v=se(r),pe(e.statement,n,t),Re(e.incrementor),re(t,v),v=se(n)}(t);break;case 238:case 239:!function(e){var t=fe(e,Z()),r=$();Re(e.expression),re(t,v),v=t,239===e.kind&&Re(e.awaitModifier);re(r,v),Re(e.initializer),250!==e.initializer.kind&&ve(e.initializer);pe(e.statement,r,t),re(t,v),v=se(r)}(t);break;case 234:!function(e){var t=$(),r=$(),n=$();_e(e.expression,t,r),v=se(t),Re(e.thenStatement),re(n,v),v=se(r),Re(e.elseStatement),re(n,v),v=se(n)}(t);break;case 242:case 246:!function(e){Re(e.expression),242===e.kind&&(k=!0,x&&re(x,v));v=O}(t);break;case 241:case 240:!function(e){if(Re(e.label),e.label){var t=function(e){for(var t=T;t;t=t.next)if(t.name===e)return t;return}(e.label.escapedText);t&&(t.referenced=!0,ge(e,t.breakTarget,t.continueTarget))}else ge(e,h,D)}(t);break;case 247:!function(t){var r=x,n=E,i=$(),a=$(),o=$();t.finallyBlock&&(x=a);re(o,v),E=o,Re(t.tryBlock),re(i,v),t.catchClause&&(v=se(o),re(o=$(),v),E=o,Re(t.catchClause),re(i,v));if(x=r,E=n,t.finallyBlock){var s=$();s.antecedents=e.concatenate(e.concatenate(i.antecedents,o.antecedents),a.antecedents),v=s,Re(t.finallyBlock),1&v.flags?v=O:(x&&a.antecedents&&re(x,ee(s,a.antecedents,v)),E&&o.antecedents&&re(E,ee(s,o.antecedents,v)),v=i.antecedents?ee(s,i.antecedents,v):O)}else v=se(i)}(t);break;case 244:!function(t){var r=$();Re(t.expression);var n=h,i=C;h=r,C=v,Re(t.caseBlock),re(r,v);var a=e.forEach(t.caseBlock.clauses,(function(e){return 285===e.kind}));t.possiblyExhaustive=!a&&!r.antecedents,a||re(r,ie(C,t,0,0));h=n,C=i,v=se(r)}(t);break;case 258:!function(e){for(var t=e.clauses,r=H(e.parent.expression),n=O,i=0;i=0;)switch(t=r.expr[n],r.state[n]){case 0:e.setParent(t,c);var i=F;Ke(t);var a=c;c=t,u(1,i,a);break;case 1:if(55===(s=t.operatorToken.kind)||56===s||60===s||e.isLogicalOrCoalescingAssignmentOperator(s)){if(le(t)){var o=$();he(t,o,o),v=se(o)}else he(t,b,S);l()}else u(2),d(t.left);break;case 2:27===t.operatorToken.kind&&me(t.left),u(3),d(t.operatorToken);break;case 3:u(4),d(t.right);break;case 4:var s=t.operatorToken.kind;if(e.isAssignmentOperator(s)&&!e.isAssignmentTarget(t))if(ve(t.left),62===s&&202===t.left.kind)Q(t.left.expression)&&(v=ae(256,v,t));l();break;default:return e.Debug.fail("Invalid state "+r.state[n]+" for bindBinaryExpressionFlow")}function u(e,t,i){r.state[n]=e,void 0!==t&&(r.inStrictMode[n]=t),void 0!==i&&(r.parent[n]=i)}function l(){void 0!==r.inStrictMode[n]&&(F=r.inStrictMode[n],c=r.parent[n]),n--}function d(t){t&&e.isBinaryExpression(t)&&!e.isDestructuringAssignment(t)?(n++,r.expr[n]=t,r.state[n]=0,r.inStrictMode[n]=void 0,r.parent[n]=void 0):Re(t)}}(t);break;case 210:!function(e){q(e),201===e.expression.kind&&ve(e.expression)}(t);break;case 217:!function(e){var t=$(),r=$(),n=$();_e(e.condition,t,r),v=se(t),Re(e.questionToken),Re(e.whenTrue),re(n,v),v=se(r),Re(e.colonToken),Re(e.whenFalse),re(n,v),v=se(n)}(t);break;case 249:!function(t){q(t),(t.initializer||e.isForInOrOfStatement(t.parent.parent))&&De(t)}(t);break;case 201:case 202:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 203:!function(t){if(e.isOptionalChain(t))Se(t);else{var r=e.skipParentheses(t.expression);208===r.kind||209===r.kind?(V(t.typeArguments),V(t.arguments),Re(t.expression)):(q(t),105===t.expression.kind&&(v=oe(v,t)))}if(201===t.expression.kind){var n=t.expression;e.isIdentifier(n.name)&&Q(n.expression)&&e.isPushOrUnshiftIdentifier(n.name)&&(v=ae(256,v,t))}}(t);break;case 225:!function(t){e.isOptionalChain(t)?Se(t):q(t)}(t);break;case 331:case 324:case 325:!function(t){e.setParent(t.tagName,t),325!==t.kind&&t.fullName&&(e.setParent(t.fullName,t),e.setParentRecursive(t.fullName,!1))}(t);break;case 297:U(t.statements),Re(t.endOfFileToken);break;case 230:case 257:U(t.statements);break;case 198:!function(t){e.isBindingPattern(t.name)?(V(t.decorators),V(t.modifiers),Re(t.dotDotDotToken),Re(t.propertyName),Re(t.initializer),Re(t.name)):q(t)}(t);break;case 200:case 199:case 288:case 220:w=r;default:q(t)}Be(t),w=r}function H(t){switch(t.kind){case 78:case 79:case 107:case 201:case 202:return Y(t);case 203:return function(e){if(e.arguments)for(var t=0,r=e.arguments;t=116&&r.originalKeywordKind<=124?t.bindDiagnostics.push(L(r,function(r){if(e.getContainingClass(r))return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}(r),e.declarationNameToString(r))):130===r.originalKeywordKind?e.isExternalModule(t)&&e.isInTopLevelContext(r)?t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module,e.declarationNameToString(r))):32768&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))):124===r.originalKeywordKind&&8192&r.flags&&t.bindDiagnostics.push(L(r,e.Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here,e.declarationNameToString(r))))}function we(r,n){if(n&&78===n.kind){var i=n;if(function(t){return e.isIdentifier(t)&&("eval"===t.escapedText||"arguments"===t.escapedText)}(i)){var a=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,function(r){if(e.getContainingClass(r))return e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode;if(t.externalModuleIndicator)return e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;return e.Diagnostics.Invalid_use_of_0_in_strict_mode}(r),e.idText(i)))}}}function Ie(e){F&&we(e,e.name)}function Oe(r){if(o<2&&297!==f.kind&&256!==f.kind&&!e.isFunctionLike(f)){var n=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,function(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}(r)))}}function Me(r,n,i,a,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,i,a,o))}function Le(r,i,a,o){!function(r,i,a){var o=e.createFileDiagnostic(t,i.pos,i.end-i.pos,a);r?t.bindDiagnostics.push(o):t.bindSuggestionDiagnostics=e.append(t.bindSuggestionDiagnostics,n(n({},o),{category:e.DiagnosticCategory.Suggestion}))}(r,{pos:e.getTokenPosOfNode(i,t),end:a.end},o)}function Re(t){if(t){e.setParent(t,c);var r=F;if(Ke(t),t.kind>156){var n=c;c=t;var i=Ee(t);0===i?W(t):function(t,r){var n=_,i=p,a=f;if(1&r?(209!==t.kind&&(p=_),_=f=t,32&r&&(_.locals=e.createSymbolTable()),Ce(_)):2&r&&((f=t).locals=void 0),4&r){var o=v,c=h,u=D,l=x,d=E,g=T,m=k,b=16&r&&!e.hasSyntacticModifier(t,256)&&!t.asteriskToken&&!!e.getImmediatelyInvokedFunctionExpression(t);b||(v=s({flags:2}),144&r&&(v.node=t)),x=b||166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind)?$():void 0,E=void 0,h=void 0,D=void 0,T=void 0,k=!1,W(t),t.flags&=-2817,!(1&v.flags)&&8&r&&e.nodeIsPresent(t.body)&&(t.flags|=256,k&&(t.flags|=512),t.endFlowNode=v),297===t.kind&&(t.flags|=A),x&&(re(x,v),v=se(x),(166===t.kind||e.isInJSFile&&(251===t.kind||208===t.kind))&&(t.returnFlowNode=v)),b||(v=o),h=c,D=u,x=l,E=d,T=g,k=m}else 64&r?(y=!1,W(t),t.flags=y?128|t.flags:-129&t.flags):W(t);_=n,p=i,f=a}(t,i),c=n}else{n=c;1===t.kind&&(c=t),Be(t),c=n}F=r}}function Be(t){if(e.hasJSDocNodes(t))if(e.isInJSFile(t))for(var r=0,n=t.jsDoc;r=2&&(e.isDeclarationStatement(t.statement)||e.isVariableStatement(t.statement))&&Me(t.label,e.Diagnostics.A_label_is_not_allowed_here)}(r);case 187:return void(y=!0);case 172:break;case 159:return function(t){if(e.isJSDocTemplateTag(t.parent)){var r=e.find(t.parent.parent.tags,e.isJSDocTypeAlias)||e.getHostSignatureFromJSDoc(t.parent);r?(r.locals||(r.locals=e.createSymbolTable()),K(r.locals,void 0,t,262144,526824)):Te(t,262144,526824)}else if(185===t.parent.kind){var n=function(t){var r=e.findAncestor(t,(function(t){return t.parent&&e.isConditionalTypeNode(t.parent)&&t.parent.extendsType===t}));return r&&r.parent}(t.parent);n?(n.locals||(n.locals=e.createSymbolTable()),K(n.locals,void 0,t,262144,526824)):Fe(t,262144,j(t))}else Te(t,262144,526824)}(r);case 160:return it(r);case 249:return nt(r);case 198:return r.flowNode=v,nt(r);case 163:case 162:return function(e){return at(e,4|(e.questionToken?16777216:0),0)}(r);case 288:case 289:return at(r,4,0);case 291:return at(r,8,900095);case 169:case 170:case 171:return Te(r,131072,0);case 165:case 164:return at(r,8192|(r.questionToken?16777216:0),e.isObjectLiteralMethod(r)?0:103359);case 251:return function(r){t.isDeclarationFile||8388608&r.flags||e.isAsyncFunction(r)&&(A|=2048);Ie(r),F?(Oe(r),Ne(r,16,110991)):Te(r,16,110991)}(r);case 166:return Te(r,16384,0);case 167:return at(r,32768,46015);case 168:return at(r,65536,78783);case 174:case 308:case 313:case 175:return function(t){var r=R(131072,j(t));B(r,t,131072);var n=R(2048,"__type");B(n,t,2048),n.members=e.createSymbolTable(),n.members.set(r.escapedName,r)}(r);case 177:case 312:case 190:return function(e){return Fe(e,2048,"__type")}(r);case 319:return function(t){q(t);var r=e.getHostSignatureFromJSDoc(t);r&&165!==r.kind&&B(r.symbol,r,32)}(r);case 200:return function(r){var n;if(function(e){e[e.Property=1]="Property",e[e.Accessor=2]="Accessor"}(n||(n={})),F&&!e.isAssignmentTarget(r))for(var i=new e.Map,a=0,o=r.properties;a1&&2097152&v.flags&&(t=e.createSymbolTable()).set("export=",v);return O(t),T(l);function D(e){return!!e&&78===e.kind}function x(t){return e.isVariableStatement(t)?e.filter(e.map(t.declarationList.declarations,e.getNameOfDeclaration),D):e.filter([e.getNameOfDeclaration(t)],D)}function b(t){var n=e.find(t,e.isExportAssignment),i=e.findIndex(t,e.isModuleDeclaration),a=-1!==i?t[i]:void 0;if(a&&n&&n.isExportEquals&&e.isIdentifier(n.expression)&&e.isIdentifier(a.name)&&e.idText(a.name)===e.idText(n.expression)&&a.body&&e.isModuleBlock(a.body)){var o=e.filter(t,(function(t){return!!(1&e.getEffectiveModifierFlags(t))})),s=a.name,c=a.body;if(e.length(o)&&(a=e.factory.updateModuleDeclaration(a,a.decorators,a.modifiers,a.name,c=e.factory.updateModuleBlock(c,e.factory.createNodeArray(r(a.body.statements,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.map(e.flatMap(o,(function(e){return x(e)})),(function(t){return e.factory.createExportSpecifier(void 0,t)}))),void 0)])))),t=r(t.slice(0,i),[a],t.slice(i+1))),!e.find(t,(function(t){return t!==a&&e.nodeHasName(t,s)}))){l=[];var u=!e.some(c.statements,(function(t){return e.hasSyntacticModifier(t,1)||e.isExportAssignment(t)||e.isExportDeclaration(t)}));e.forEach(c.statements,(function(e){K(e,u?1:0)})),t=r(e.filter(t,(function(e){return e!==a&&e!==n})),l)}}return t}function E(t){var n=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(n)>1){var i=e.filter(t,(function(t){return!e.isExportDeclaration(t)||!!t.moduleSpecifier||!t.exportClause}));t=r(i,[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),void 0)])}var a=e.filter(t,(function(t){return e.isExportDeclaration(t)&&!!t.moduleSpecifier&&!!t.exportClause&&e.isNamedExports(t.exportClause)}));if(e.length(a)>1){var o=e.group(a,(function(t){return e.isStringLiteral(t.moduleSpecifier)?">"+t.moduleSpecifier.text:">"}));if(o.length!==a.length)for(var s=function(n){n.length>1&&(t=r(e.filter(t,(function(e){return-1===n.indexOf(e)})),[e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports(e.flatMap(n,(function(t){return e.cast(t.exportClause,e.isNamedExports).elements}))),n[0].moduleSpecifier)]))},c=0,u=o;c=0){var n=t[r],i=e.mapDefined(n.exportClause.elements,(function(r){if(!r.propertyName){var n=e.indicesOf(t),i=e.filter(n,(function(n){return e.nodeHasName(t[n],r.name)}));if(e.length(i)&&e.every(i,(function(e){return F(t[e])}))){for(var a=0,o=i;a0&&e.isSingleOrDoubleQuote(a.charCodeAt(0))?e.stripQuotes(a):a}return"default"===r?r="_default":"export="===r&&(r="_exports"),r=e.isIdentifierText(r,q)&&!e.isStringANonContextualKeyword(r)?r:"_"+r.replace(/[^a-zA-Z0-9]/g,"_")}function pe(e,t){var r=M(e);return i.remappedSymbolNames.has(r)?i.remappedSymbolNames.get(r):(t=_e(e,t),i.remappedSymbolNames.set(r,t),t)}}(t,i,u)}))}};function i(r,n,i,a){var o,s;e.Debug.assert(void 0===r||0==(8&r.flags));var c={enclosingDeclaration:r,flags:n||0,tracker:i&&i.trackSymbol?i:{trackSymbol:e.noop,moduleResolverHost:134217728&n?{getCommonSourceDirectory:t.getCommonSourceDirectory?function(){return t.getCommonSourceDirectory()}:function(){return""},getSourceFiles:function(){return t.getSourceFiles()},getCurrentDirectory:function(){return t.getCurrentDirectory()},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),useCaseSensitiveFileNames:e.maybeBind(t,t.useCaseSensitiveFileNames),redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)},fileExists:function(e){return t.fileExists(e)}}:void 0},encounteredError:!1,visitedTypes:void 0,symbolDepth:void 0,inferTypeParameters:void 0,approximateLength:0},u=a(c);return c.truncating&&1&c.flags&&(null===(s=null===(o=c.tracker)||void 0===o?void 0:o.reportTruncationError)||void 0===s||s.call(o)),c.encounteredError?void 0:u}function o(t){return t.truncating?t.truncating:t.truncating=t.approximateLength>(1&t.flags?e.noTruncationMaximumTruncationLength:e.defaultMaximumTruncationLength)}function s(t,r){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var n=8388608&r.flags;if(r.flags&=-8388609,!t)return 262144&r.flags?(r.approximateLength+=3,e.factory.createKeywordTypeNode(128)):void(r.encounteredError=!0);if(536870912&r.flags||(t=oc(t)),1&t.flags)return r.approximateLength+=3,e.factory.createKeywordTypeNode(t===Fe?136:128);if(2&t.flags)return e.factory.createKeywordTypeNode(152);if(4&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(147);if(8&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(144);if(64&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(155);if(16&t.flags)return r.approximateLength+=7,e.factory.createKeywordTypeNode(131);if(1024&t.flags&&!(1048576&t.flags)){var i=Ai(t.symbol),c=E(i,r,788968);if(Jo(i)===t)return c;var g=e.symbolName(t.symbol);return e.isIdentifierText(g,0)?V(c,e.factory.createTypeReferenceNode(g,void 0)):e.isImportTypeNode(c)?(c.isTypeOf=!0,e.factory.createIndexedAccessTypeNode(c,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g)))):e.isTypeReferenceNode(c)?e.factory.createIndexedAccessTypeNode(e.factory.createTypeQueryNode(c.typeName),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(g))):e.Debug.fail("Unhandled type node kind returned from `symbolToTypeNode`.")}if(1056&t.flags)return E(t.symbol,r,788968);if(128&t.flags)return r.approximateLength+=t.value.length+2,e.factory.createLiteralTypeNode(e.setEmitFlags(e.factory.createStringLiteral(t.value,!!(268435456&r.flags)),16777216));if(256&t.flags){var m=t.value;return r.approximateLength+=(""+m).length,e.factory.createLiteralTypeNode(m<0?e.factory.createPrefixUnaryExpression(40,e.factory.createNumericLiteral(-m)):e.factory.createNumericLiteral(m))}if(2048&t.flags)return r.approximateLength+=e.pseudoBigIntToString(t.value).length+1,e.factory.createLiteralTypeNode(e.factory.createBigIntLiteral(t.value));if(512&t.flags)return r.approximateLength+=t.intrinsicName.length,e.factory.createLiteralTypeNode("true"===t.intrinsicName?e.factory.createTrue():e.factory.createFalse());if(8192&t.flags){if(!(1048576&r.flags)){if(Xi(t.symbol,r.enclosingDeclaration))return r.approximateLength+=6,E(t.symbol,r,111551);r.tracker.reportInaccessibleUniqueSymbolError&&r.tracker.reportInaccessibleUniqueSymbolError()}return r.approximateLength+=13,e.factory.createTypeOperatorNode(151,e.factory.createKeywordTypeNode(148))}if(16384&t.flags)return r.approximateLength+=4,e.factory.createKeywordTypeNode(113);if(32768&t.flags)return r.approximateLength+=9,e.factory.createKeywordTypeNode(150);if(65536&t.flags)return r.approximateLength+=4,e.factory.createLiteralTypeNode(e.factory.createNull());if(131072&t.flags)return r.approximateLength+=5,e.factory.createKeywordTypeNode(141);if(4096&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(148);if(67108864&t.flags)return r.approximateLength+=6,e.factory.createKeywordTypeNode(145);if(kl(t))return 4194304&r.flags&&(r.encounteredError||32768&r.flags||(r.encounteredError=!0),r.tracker.reportInaccessibleThisError&&r.tracker.reportInaccessibleThisError()),r.approximateLength+=4,e.factory.createThisTypeNode();if(!n&&t.aliasSymbol&&(16384&r.flags||Yi(t.aliasSymbol,r.enclosingDeclaration))){var y=d(t.aliasTypeArguments,r);return!Ki(t.aliasSymbol.escapedName)||32&t.aliasSymbol.flags?E(t.aliasSymbol,r,788968,y):e.factory.createTypeReferenceNode(e.factory.createIdentifier(""),y)}var v=e.getObjectFlags(t);if(4&v)return e.Debug.assert(!!(524288&t.flags)),t.node?K(t,U):U(t);if(262144&t.flags||3&v){if(262144&t.flags&&e.contains(r.inferTypeParameters,t))return r.approximateLength+=e.symbolName(t.symbol).length+6,e.factory.createInferTypeNode(f(t,r,void 0));if(4&r.flags&&262144&t.flags&&!Yi(t.symbol,r.enclosingDeclaration)){var h=T(t,r);return r.approximateLength+=e.idText(h).length,e.factory.createTypeReferenceNode(e.factory.createIdentifier(e.idText(h)),void 0)}return t.symbol?E(t.symbol,r,788968):e.factory.createTypeReferenceNode(e.factory.createIdentifier("?"),void 0)}if(3145728&t.flags){var D=1048576&t.flags?function(e){for(var t=[],r=0,n=0;n0?1048576&t.flags?e.factory.createUnionTypeNode(x):e.factory.createIntersectionTypeNode(x):void(r.encounteredError||262144&r.flags||(r.encounteredError=!0))}if(48&v)return e.Debug.assert(!!(524288&t.flags)),J(t);if(4194304&t.flags){var b=t.type;r.approximateLength+=6;var S=s(b,r);return e.factory.createTypeOperatorNode(138,S)}if(134217728&t.flags){var C=t.texts,k=t.types,A=e.factory.createTemplateHead(C[0]),F=e.factory.createNodeArray(e.map(k,(function(t,n){return e.factory.createTemplateLiteralTypeSpan(s(t,r),(n10)return u(r);r.symbolDepth.set(s,i+1)}r.visitedTypes.add(a);var c=n(t);return r.visitedTypes.delete(a),s&&r.symbolDepth.set(s,i),c}function z(t){if(Ls(t)||t.containsError)return function(t){e.Debug.assert(!!(524288&t.flags));var n,i=t.declaration.readonlyToken?e.factory.createToken(t.declaration.readonlyToken.kind):void 0,a=t.declaration.questionToken?e.factory.createToken(t.declaration.questionToken.kind):void 0;n=Ps(t)?e.factory.createTypeOperatorNode(138,s(ws(t),r)):s(ks(t),r);var o=f(Ts(t),r,n),c=t.declaration.nameType?s(As(t),r):void 0,u=s(Fs(t),r),l=e.factory.createMappedTypeNode(i,o,c,a,u);return r.approximateLength+=10,e.setEmitFlags(l,1)}(t);var n=Rs(t);if(!n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(!n.callSignatures.length&&!n.constructSignatures.length)return r.approximateLength+=2,e.setEmitFlags(e.factory.createTypeLiteralNode(void 0),1);if(1===n.callSignatures.length&&!n.constructSignatures.length)return p(n.callSignatures[0],174,r);if(1===n.constructSignatures.length&&!n.callSignatures.length)return p(n.constructSignatures[0],175,r)}var i=r.flags;r.flags|=4194304;var a=function(t){if(o(r))return[e.factory.createPropertySignature(void 0,"...",void 0,void 0)];for(var n=[],i=0,a=t.callSignatures;i0){var v=(t.target.typeParameters||e.emptyArray).length;y=d(n.slice(b,v),r)}S=r.flags;r.flags|=16;var h=E(t.symbol,r,788968,y);return r.flags=S,u?V(u,h):h}if(n.length>0){var D=au(t),x=d(n.slice(0,D),r);if(x){if(t.target.labeledElementDeclarations)for(var b=0;b2)return[s(t[0],r),e.factory.createTypeReferenceNode("... "+(t.length-2)+" more ...",void 0),s(t[t.length-1],r)]}for(var i=!(64&r.flags)?e.createUnderscoreEscapedMultiMap():void 0,a=[],c=0,u=0,l=t;u0)),a}function D(t,r){var n;return 524384&qx(t).flags&&(n=e.factory.createNodeArray(e.map(Do(t),(function(e){return g(e,r)})))),n}function x(t,r,n){var i;e.Debug.assert(t&&0<=r&&r1?m(a,a.length-1,1):void 0,c=i||x(a,0,r),u=S(a[0],r);!(67108864&r.flags)&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&u.indexOf("/node_modules/")>=0&&(r.encounteredError=!0,r.tracker.reportLikelyUnsafeImportRequiredError&&r.tracker.reportLikelyUnsafeImportRequiredError(u));var l=e.factory.createLiteralTypeNode(e.factory.createStringLiteral(u));if(r.tracker.trackExternalModuleSymbolOfImportTypeNode&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(a[0]),r.approximateLength+=u.length+10,!s||e.isEntityName(s)){if(s)(f=e.isIdentifier(s)?s:s.right).typeArguments=void 0;return e.factory.createImportTypeNode(l,s,c,o)}var d=b(s),_=d.objectType.typeName;return e.factory.createIndexedAccessTypeNode(e.factory.createImportTypeNode(l,_,c,o),d.indexType)}var p=m(a,a.length-1,0);if(e.isIndexedAccessTypeNode(p))return p;if(o)return e.factory.createTypeQueryNode(p);var f,g=(f=e.isIdentifier(p)?p:p.right).typeArguments;return f.typeArguments=void 0,e.factory.createTypeReferenceNode(p,g);function m(t,n,a){var o,s=n===t.length-1?i:x(t,n,r),c=t[n],u=t[n-1];if(0===n)r.flags|=16777216,o=ha(c,r),r.approximateLength+=(o?o.length:0)+1,r.flags^=16777216;else if(u&&bi(u)){var l=bi(u);e.forEachEntry(l,(function(t,r){if(wi(t,c)&&!$o(r)&&"export="!==r)return o=e.unescapeLeadingUnderscores(r),!0}))}if(o||(o=ha(c,r)),r.approximateLength+=o.length+1,!(16&r.flags)&&u&&is(u)&&is(u).get(c.escapedName)&&wi(is(u).get(c.escapedName),c)){var d=m(t,n-1,a);return e.isIndexedAccessTypeNode(d)?e.factory.createIndexedAccessTypeNode(d,e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o))):e.factory.createIndexedAccessTypeNode(e.factory.createTypeReferenceNode(d,s),e.factory.createLiteralTypeNode(e.factory.createStringLiteral(o)))}var _=e.setEmitFlags(e.factory.createIdentifier(o,s),16777216);if(_.symbol=c,n>a){d=m(t,n-1,a);return e.isEntityName(d)?e.factory.createQualifiedName(d,_):e.Debug.fail("Impossible construct - an export of an indexed access cannot be reachable")}return _}}function C(e,t,r){var n=Pn(t.enclosingDeclaration,e,788968,void 0,e,!1);return!!n&&!(262144&n.flags&&n===r.symbol)}function T(t,r){var n;if(4&r.flags&&r.typeParameterNames){var i=r.typeParameterNames.get(Wu(t));if(i)return i}var a=k(t.symbol,r,788968,!0);if(!(78&a.kind))return e.factory.createIdentifier("(Missing type parameter)");if(4&r.flags){for(var o=a.escapedText,s=0,c=o;(null===(n=r.typeParameterNamesByText)||void 0===n?void 0:n.has(c))||C(c,r,t);)c=o+"_"+ ++s;c!==o&&(a=e.factory.createIdentifier(c,a.typeArguments)),(r.typeParameterNames||(r.typeParameterNames=new e.Map)).set(Wu(t),a),(r.typeParameterNamesByText||(r.typeParameterNamesByText=new e.Set)).add(a.escapedText)}return a}function k(t,r,n,i){var a=v(t,r,n);return!i||1===a.length||r.encounteredError||65536&r.flags||(r.encounteredError=!0),function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return c.symbol=o,i>0?e.factory.createQualifiedName(t(n,i-1),c):c}(a,a.length-1)}function A(t,r,n){var i=v(t,r,n);return function t(n,i){var a=x(n,i,r),o=n[i];0===i&&(r.flags|=16777216);var s=ha(o,r);0===i&&(r.flags^=16777216);var c=s.charCodeAt(0);if(e.isSingleOrDoubleQuote(c)&&e.some(o.declarations,na))return e.factory.createStringLiteral(S(o,r));var u=35===c?s.length>1&&e.isIdentifierStart(s.charCodeAt(1),q):e.isIdentifierStart(c,q);if(0===i||u){var l=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216);return l.symbol=o,i>0?e.factory.createPropertyAccessExpression(t(n,i-1),l):l}91===c&&(s=s.substring(1,s.length-1),c=s.charCodeAt(0));var d=void 0;return e.isSingleOrDoubleQuote(c)?d=e.factory.createStringLiteral(s.substring(1,s.length-1).replace(/\\./g,(function(e){return e.substring(1)})),39===c):""+ +s===s&&(d=e.factory.createNumericLiteral(+s)),d||((d=e.setEmitFlags(e.factory.createIdentifier(s,a),16777216)).symbol=o),e.factory.createElementAccessExpression(t(n,i-1),d)}(i,i.length-1)}function F(t){var r=e.getNameOfDeclaration(t);return!!r&&e.isStringLiteral(r)}function N(t){var r=e.getNameOfDeclaration(t);return!!(r&&e.isStringLiteral(r)&&(r.singleQuote||!e.nodeIsSynthesized(r)&&e.startsWith(e.getTextOfNode(r,!1),"'")))}function P(t,r){var n=!!e.length(t.declarations)&&e.every(t.declarations,N),i=function(t,r,n){var i=Cn(t).nameType;if(i){if(384&i.flags){var a=""+i.value;return e.isIdentifierText(a,V.target)||xm(a)?xm(a)&&e.startsWith(a,"-")?e.factory.createComputedPropertyName(e.factory.createNumericLiteral(+a)):w(a):e.factory.createStringLiteral(a,!!n)}if(8192&i.flags)return e.factory.createComputedPropertyName(A(i.symbol,r,111551))}}(t,r,n);return i||(e.isKnownSymbol(t)?e.factory.createComputedPropertyName(e.factory.createPropertyAccessExpression(e.factory.createIdentifier("Symbol"),t.escapedName.substr(3))):w(e.unescapeLeadingUnderscores(t.escapedName),!!e.length(t.declarations)&&e.every(t.declarations,F),n))}function w(t,r,n){return e.isIdentifierText(t,V.target)?e.factory.createIdentifier(t):!r&&xm(t)&&+t>=0?e.factory.createNumericLiteral(+t):e.factory.createStringLiteral(t,!!n)}function I(t,r){return t.declarations&&e.find(t.declarations,(function(t){return!(!e.getEffectiveTypeAnnotationNode(t)||r&&!e.findAncestor(t,(function(e){return e===r})))}))}function L(t,r){return!(4&e.getObjectFlags(r))||!e.isTypeReferenceNode(t)||e.length(t.typeArguments)>=Tc(r.target.typeParameters)}function R(t,r,n,i,a,o){if(r!==ke&&i){var c=I(n,i);if(c&&!e.isFunctionLikeDeclaration(c)){var u=e.getEffectiveTypeAnnotationNode(c);if(ld(u)===r&&L(u,r)){var l=B(t,u,a,o);if(l)return l}}}var d=t.flags;8192&r.flags&&r.symbol===n&&(!t.enclosingDeclaration||e.some(n.declarations,(function(r){return e.getSourceFileOfNode(r)===e.getSourceFileOfNode(t.enclosingDeclaration)})))&&(t.flags|=1048576);var _=s(r,t);return t.flags=d,_}function B(r,n,i,o){a&&a.throwIfCancellationRequested&&a.throwIfCancellationRequested();var c=!1,u=e.getSourceFileOfNode(n),l=e.visitNode(n,(function n(a){var l,d;if(e.isJSDocAllType(a)||310===a.kind)return e.factory.createKeywordTypeNode(128);if(e.isJSDocUnknownType(a))return e.factory.createKeywordTypeNode(152);if(e.isJSDocNullableType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createLiteralTypeNode(e.factory.createNull())]);if(e.isJSDocOptionalType(a))return e.factory.createUnionTypeNode([e.visitNode(a.type,n),e.factory.createKeywordTypeNode(150)]);if(e.isJSDocNonNullableType(a))return e.visitNode(a.type,n);if(e.isJSDocVariadicType(a))return e.factory.createArrayTypeNode(e.visitNode(a.type,n));if(e.isJSDocTypeLiteral(a))return e.factory.createTypeLiteralNode(e.map(a.jsDocPropertyTags,(function(t){var i=e.isIdentifier(t.name)?t.name:t.name.right,o=ka(ld(a),i.escapedText),c=o&&t.typeExpression&&ld(t.typeExpression.type)!==o?s(o,r):void 0;return e.factory.createPropertySignature(void 0,i,t.typeExpression&&e.isJSDocOptionalType(t.typeExpression.type)?e.factory.createToken(57):void 0,c||t.typeExpression&&e.visitNode(t.typeExpression.type,n)||e.factory.createKeywordTypeNode(128))})));if(e.isTypeReferenceNode(a)&&e.isIdentifier(a.typeName)&&""===a.typeName.escapedText)return e.setOriginalNode(e.factory.createKeywordTypeNode(128),a);if((e.isExpressionWithTypeArguments(a)||e.isTypeReferenceNode(a))&&e.isJSDocIndexSignature(a))return e.factory.createTypeLiteralNode([e.factory.createIndexSignature(void 0,void 0,[e.factory.createParameterDeclaration(void 0,void 0,void 0,"x",void 0,e.visitNode(a.typeArguments[0],n))],e.visitNode(a.typeArguments[1],n))]);if(e.isJSDocFunctionType(a)){var _;return e.isJSDocConstructSignature(a)?e.factory.createConstructorTypeNode(e.visitNodes(a.typeParameters,n),e.mapDefined(a.parameters,(function(t,r){return t.name&&e.isIdentifier(t.name)&&"new"===t.name.escapedText?void(_=t.type):e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(_||a.type,n)||e.factory.createKeywordTypeNode(128)):e.factory.createFunctionTypeNode(e.visitNodes(a.typeParameters,n),e.map(a.parameters,(function(t,r){return e.factory.createParameterDeclaration(void 0,void 0,m(t),y(t,r),t.questionToken,e.visitNode(t.type,n),void 0)})),e.visitNode(a.type,n)||e.factory.createKeywordTypeNode(128))}if(e.isTypeReferenceNode(a)&&e.isInJSDoc(a)&&(!L(a,ld(a))||yu(a)||be===uu(cu(a),788968,!0)))return e.setOriginalNode(s(ld(a),r),a);if(e.isLiteralImportTypeNode(a))return e.factory.updateImportTypeNode(a,e.factory.updateLiteralTypeNode(a.argument,function(n,i){if(o){if(r.tracker&&r.tracker.moduleResolverHost){var a=_S(n);if(a){var s={getCanonicalFileName:e.createGetCanonicalFileName(!!t.useCaseSensitiveFileNames),getCurrentDirectory:function(){return r.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return r.tracker.moduleResolverHost.getCommonSourceDirectory()}},c=e.getResolvedExternalModuleName(s,a);return e.factory.createStringLiteral(c)}}}else if(r.tracker&&r.tracker.trackExternalModuleSymbolOfImportTypeNode){var u=fi(i,i,void 0);u&&r.tracker.trackExternalModuleSymbolOfImportTypeNode(u)}return i}(a,a.argument.literal)),a.qualifier,e.visitNodes(a.typeArguments,n,e.isTypeNode),a.isTypeOf);if(e.isEntityName(a)||e.isEntityNameExpression(a)){var p=e.getFirstIdentifier(a);if(e.isInJSFile(a)&&(e.isExportsIdentifier(p)||e.isModuleExportsAccessExpression(p.parent)||e.isQualifiedName(p.parent)&&e.isModuleIdentifier(p.parent.left)&&e.isExportsIdentifier(p.parent.right)))return c=!0,a;var f=di(p,67108863,!0,!0);if(f&&(0!==Zi(f,r.enclosingDeclaration,67108863,!1).accessibility?c=!0:(null===(d=null===(l=r.tracker)||void 0===l?void 0:l.trackSymbol)||void 0===d||d.call(l,f,r.enclosingDeclaration,67108863),null==i||i(f)),e.isIdentifier(a))){var g=262144&f.flags?T(Jo(f),r):e.factory.cloneNode(a);return g.symbol=f,e.setEmitFlags(e.setOriginalNode(g,a),16777216)}}u&&e.isTupleTypeNode(a)&&e.getLineAndCharacterOfPosition(u,a.pos).line===e.getLineAndCharacterOfPosition(u,a.end).line&&e.setEmitFlags(a,1);return e.visitEachChild(a,n,e.nullTransformationContext);function m(t){return t.dotDotDotToken||(t.type&&e.isJSDocVariadicType(t.type)?e.factory.createToken(25):void 0)}function y(t,r){return t.name&&e.isIdentifier(t.name)&&"this"===t.name.escapedText?"this":m(t)?"args":"arg"+r}}));if(!c)return l===n?e.setTextRange(e.factory.cloneNode(n),n):l}}(),ie=e.createSymbolTable(),ae=mn(4,"undefined");ae.declarations=[];var oe=mn(1536,"globalThis",8);oe.exports=ie,oe.declarations=[],ie.set(oe.escapedName,oe);var se,ce=mn(4,"arguments"),ue=mn(4,"require"),le={getNodeCount:function(){return e.sum(t.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return e.sum(t.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return e.sum(t.getSourceFiles(),"symbolCount")+h},getTypeCatalog:function(){return k},getTypeCount:function(){return v},getInstantiationCount:function(){return x},getRelationCacheSizes:function(){return{assignable:an.size,identity:sn.size,subtype:rn.size,strictSubtype:nn.size}},isUndefinedSymbol:function(e){return e===ae},isArgumentsSymbol:function(e){return e===ce},isUnknownSymbol:function(e){return e===be},getMergedSymbol:Ti,getDiagnostics:yb,getGlobalDiagnostics:function(){return vb(),$r.getGlobalDiagnostics()},getRecursionIdentity:B_,getTypeOfSymbolAtLocation:function(t,r){var n=e.getParseTreeNode(r);return n?function(t,r){if(t=t.exportSymbol||t,78===r.kind&&(e.isRightSideOfQualifiedNameOrPropertyAccess(r)&&(r=r.parent),e.isExpressionNode(r)&&!e.isAssignmentTarget(r))){var n=qh(r);if(Ii(Tn(r).resolvedSymbol)===t)return n}return po(t)}(t,n):ke},getSymbolsOfParameterPropertyDeclaration:function(t,r){var n=e.getParseTreeNode(t,e.isParameter);return void 0===n?e.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):function(t,r){var n=t.parent,i=t.parent.parent,a=An(n.locals,r,111551),o=An(is(i.symbol),r,111551);if(a&&o)return[a,o];return e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(n,e.escapeLeadingUnderscores(r))},getDeclaredTypeOfSymbol:Jo,getPropertiesOfType:Ks,getPropertyOfType:function(t,r){return dc(t,e.escapeLeadingUnderscores(r))},getPrivateIdentifierPropertyOfType:function(t,r,n){var i=e.getParseTreeNode(n);if(i){var a=ly(e.escapeLeadingUnderscores(r),i);return a?dy(t,a):void 0}},getTypeOfPropertyOfType:function(t,r){return ka(t,e.escapeLeadingUnderscores(r))},getIndexInfoOfType:mc,getSignaturesOfType:pc,getIndexTypeOfType:yc,getBaseTypes:Ao,getBaseTypeOfLiteralType:ep,getWidenedType:Ip,getTypeFromTypeNode:function(t){var r=e.getParseTreeNode(t,e.isTypeNode);return r?ld(r):ke},getParameterType:Bv,getPromisedTypeOfPromise:mD,getAwaitedType:function(e){return vD(e)},getReturnTypeOfSignature:Mc,isNullableType:ey,getNullableType:yp,getNonNullableType:hp,getNonOptionalType:bp,getTypeArguments:iu,typeToTypeNode:ne.typeToTypeNode,indexInfoToIndexSignatureDeclaration:ne.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:ne.signatureToSignatureDeclaration,symbolToEntityName:ne.symbolToEntityName,symbolToExpression:ne.symbolToExpression,symbolToTypeParameterDeclarations:ne.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:ne.symbolToParameterDeclaration,typeParameterToDeclaration:ne.typeParameterToDeclaration,getSymbolsInScope:function(t,r){var n=e.getParseTreeNode(t);return n?function(t,r){if(16777216&t.flags)return[];var n=e.createSymbolTable(),i=!1;return a(),n.delete("this"),Dc(n);function a(){for(;t;){switch(t.locals&&!kn(t)&&s(t.locals,r),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;case 256:s(ki(t).exports,2623475&r);break;case 255:s(ki(t).exports,8&r);break;case 221:t.name&&o(t.symbol,r);case 252:case 253:i||s(is(ki(t)),788968&r);break;case 208:t.name&&o(t.symbol,r)}e.introducesArgumentsExoticObject(t)&&o(ce,r),i=e.hasSyntacticModifier(t,32),t=t.parent}s(ie,r)}function o(t,r){if(e.getCombinedLocalAndExportSymbolFlags(t)&r){var i=t.escapedName;n.has(i)||n.set(i,t)}}function s(e,t){t&&e.forEach((function(e){o(e,t)}))}}(n,r):[]},getSymbolAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Cb(r,!0):void 0},getShorthandAssignmentValueSymbol:function(t){var r=e.getParseTreeNode(t);return r?function(e){if(e&&289===e.kind)return di(e.name,2208703);return}(r):void 0},getExportSpecifierLocalTargetSymbol:function(t){var r=e.getParseTreeNode(t,e.isExportSpecifier);return r?function(t){return e.isExportSpecifier(t)?t.parent.parent.moduleSpecifier?Xn(t.parent.parent,t):di(t.propertyName||t.name,2998271):di(t,2998271)}(r):void 0},getExportSymbolOfSymbol:function(e){return Ti(e.exportSymbol||e)},getTypeAtLocation:function(t){var r=e.getParseTreeNode(t);return r?Tb(r):ke},getTypeOfAssignmentPattern:function(t){var r=e.getParseTreeNode(t,e.isAssignmentPattern);return r&&kb(r)||ke},getPropertySymbolOfDestructuringAssignment:function(t){var r=e.getParseTreeNode(t,e.isIdentifier);return r?function(t){var r=kb(e.cast(t.parent.parent,e.isAssignmentPattern));return r&&dc(r,t.escapedText)}(r):void 0},signatureToString:function(t,r,n,i){return sa(t,e.getParseTreeNode(r),n,i)},typeToString:function(t,r,n){return ca(t,e.getParseTreeNode(r),n)},symbolToString:function(t,r,n,i){return oa(t,e.getParseTreeNode(r),n,i)},typePredicateToString:function(t,r,n){return fa(t,e.getParseTreeNode(r),n)},writeSignature:function(t,r,n,i,a){return sa(t,e.getParseTreeNode(r),n,i,a)},writeType:function(t,r,n,i){return ca(t,e.getParseTreeNode(r),n,i)},writeSymbol:function(t,r,n,i,a){return oa(t,e.getParseTreeNode(r),n,i,a)},writeTypePredicate:function(t,r,n,i){return fa(t,e.getParseTreeNode(r),n,i)},getAugmentedPropertiesOfType:Pb,getRootSymbols:function t(r){var n=function(t){if(6&e.getCheckFlags(t))return e.mapDefined(Cn(t).containingType.types,(function(e){return dc(e,t.escapedName)}));if(33554432&t.flags){var r=t,n=r.leftSpread,i=r.rightSpread,a=r.syntheticOrigin;return n?[n,i]:a?[a]:e.singleElementArray(function(e){var t,r=e;for(;r=Cn(r).target;)t=r;return t}(t))}return}(r);return n?e.flatMap(n,t):[r]},getSymbolOfExpando:xv,getContextualType:function(t,r){var n=e.getParseTreeNode(t,e.isExpression);if(n){var i=e.findAncestor(n,e.isCallLikeExpression),a=i&&Tn(i).resolvedSignature;if(4&r&&i){var o=n;do{Tn(o).skipDirectInference=!0,o=o.parent}while(o&&o!==i);Tn(i).resolvedSignature=void 0}var s=cm(n,r);if(4&r&&i){o=n;do{Tn(o).skipDirectInference=void 0,o=o.parent}while(o&&o!==i);Tn(i).resolvedSignature=a}return s}},getContextualTypeForObjectLiteralElement:function(t){var r=e.getParseTreeNode(t,e.isObjectLiteralElementLike);return r?em(r):void 0},getContextualTypeForArgumentAtIndex:function(t,r){var n=e.getParseTreeNode(t,e.isCallLikeExpression);return n&&Gg(n,r)},getContextualTypeForJsxAttribute:function(t){var r=e.getParseTreeNode(t,e.isJsxAttributeLike);return r&&nm(r)},isContextSensitive:jd,getFullyQualifiedName:li,getResolvedSignature:function(e,t,r){return de(e,t,r,0)},getResolvedSignatureForSignatureHelp:function(e,t,r){return de(e,t,r,16)},getExpandedParameters:_s,hasEffectiveRestParameter:Uv,getConstantValue:function(t){var r=e.getParseTreeNode(t,$b);return r?Zb(r):void 0},isValidPropertyAccess:function(t,r){var n=e.getParseTreeNode(t,e.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!n&&function(e,t){switch(e.kind){case 201:return Ey(e,105===e.expression.kind,t,Ip(Gh(e.expression)));case 157:return Ey(e,!1,t,Ip(Gh(e.left)));case 195:return Ey(e,!1,t,ld(e))}}(n,e.escapeLeadingUnderscores(r))},isValidPropertyAccessForCompletions:function(t,r,n){var i=e.getParseTreeNode(t,e.isPropertyAccessExpression);return!!i&&function(e,t,r){return Ey(e,201===e.kind&&105===e.expression.kind,r.escapedName,t)}(i,r,n)},getSignatureFromDeclaration:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?Ac(r):void 0},isImplementationOfOverload:function(t){var r=e.getParseTreeNode(t,e.isFunctionLike);return r?qb(r):void 0},getImmediateAliasedSymbol:Em,getAliasedSymbol:ni,getEmitResolver:function(e,t){return yb(e,t),re},getExportsOfModule:Di,getExportsAndPropertiesOfModule:function(t){var r=Di(t),n=yi(t);n!==t&&e.addRange(r,Ks(po(n)));return r},getSymbolWalker:e.createGetSymbolWalker((function(e){return Bc(e)||Ee}),Oc,Mc,Ao,Rs,po,vf,gc,Us,e.getFirstIdentifier,iu),getAmbientModules:function(){mt||(mt=[],ie.forEach((function(e,t){c.test(t)&&mt.push(e)})));return mt},getJsxIntrinsicTagNamesAt:function(t){var r=Im(N.IntrinsicElements,t);return r?Ks(r):e.emptyArray},isOptionalParameter:function(t){var r=e.getParseTreeNode(t,e.isParameter);return!!r&&Sc(r)},tryGetMemberInModuleExports:function(t,r){return xi(e.escapeLeadingUnderscores(t),r)},tryGetMemberInModuleExportsAndProperties:function(t,r){return function(t,r){var n=xi(t,r);if(n)return n;var i=yi(r);if(i===r)return;var a=po(i);return 131068&a.flags||1&e.getObjectFlags(a)||X_(a)?void 0:dc(a,t)}(e.escapeLeadingUnderscores(t),r)},tryFindAmbientModuleWithoutAugmentations:function(e){return bc(e,!1)},getApparentType:tc,getUnionType:$u,isTypeAssignableTo:Yd,createAnonymousType:Vi,createSignature:cs,createSymbol:mn,createIndexInfo:Gc,getAnyType:function(){return Ee},getStringType:function(){return Le},getNumberType:function(){return Re},createPromiseType:Qv,createArrayType:Iu,getElementTypeOfArrayType:W_,getBooleanType:function(){return Ue},getFalseType:function(e){return e?je:Je},getTrueType:function(e){return e?Ke:ze},getVoidType:function(){return qe},getUndefinedType:function(){return Pe},getNullType:function(){return Oe},getESSymbolType:function(){return Ve},getNeverType:function(){return We},getOptionalType:function(){return Ie},isSymbolAccessible:Zi,isArrayType:U_,isTupleType:ap,isArrayLikeType:H_,isTypeInvalidDueToUnionDiscriminant:function(e,t){return t.properties.some((function(t){var r=t.name&&ul(t.name),n=r&&Xo(r)?ts(r):void 0,i=void 0===n?void 0:ka(e,n);return!!i&&Z_(i)&&!Yd(Tb(t),i)}))},getAllPossiblePropertiesOfTypes:function(t){var r=$u(t);if(!(1048576&r.flags))return Pb(r);for(var n=e.createSymbolTable(),i=0,a=t;i>",0,Ee),lr=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),dr=cs(void 0,void 0,void 0,e.emptyArray,ke,void 0,0,0),_r=cs(void 0,void 0,void 0,e.emptyArray,Ee,void 0,0,0),pr=cs(void 0,void 0,void 0,e.emptyArray,He,void 0,0,0),fr=Gc(Le,!0),gr=new e.Map,mr={get yieldType(){return e.Debug.fail("Not supported")},get returnType(){return e.Debug.fail("Not supported")},get nextType(){return e.Debug.fail("Not supported")}},yr=_x(Ee,Ee,Ee),vr=_x(Ee,Ee,Ne),hr=_x(We,Ee,Pe),Dr={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:function(e){return Gt||(Gt=Eu("AsyncIterator",3,e))||ct},getGlobalIterableType:function(e){return Ht||(Ht=Eu("AsyncIterable",1,e))||ct},getGlobalIterableIteratorType:function(e){return Yt||(Yt=Eu("AsyncIterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return Xt||(Xt=Eu("AsyncGenerator",3,e))||ct},resolveIterationType:vD,mustHaveANextMethodDiagnostic:e.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},xr={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:function(e){return zt||(zt=Eu("Iterator",3,e))||ct},getGlobalIterableType:Fu,getGlobalIterableIteratorType:function(e){return Ut||(Ut=Eu("IterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return Vt||(Vt=Eu("Generator",3,e))||ct},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:e.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:e.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:e.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},br=new e.Map,Sr=!1,Er=new e.Map,Cr=0,Tr=0,kr=0,Ar=!1,Fr=0,Nr=ad(""),Pr=ad(0),wr=ad({negative:!1,base10Value:"0"}),Ir=[],Or=[],Mr=[],Lr=0,Rr=[],Br=[],jr=[],Jr=[],Kr=[],zr=[],Ur=[],Vr=[],qr=[],Wr=[],Hr=[],Gr=[],Yr=[],Xr=[],Qr=[],$r=e.createDiagnosticCollection(),Zr=e.createDiagnosticCollection(),en=new e.Map(e.getEntries({string:Le,number:Re,bigint:Be,boolean:Ue,symbol:Ve,undefined:Pe})),tn=$u(e.arrayFrom(S.keys(),ad)),rn=new e.Map,nn=new e.Map,an=new e.Map,on=new e.Map,sn=new e.Map,cn=new e.Map,un=e.createSymbolTable();return un.set(ae.escapedName,ae),function(){for(var r=0,n=t.getSourceFiles();r=5||e.some(o.relatedInformation,(function(t){return 0===e.compareDiagnostics(t,s)||0===e.compareDiagnostics(t,i)})))return"continue";e.addRelatedInfo(o,e.length(o.relatedInformation)?s:i)},c=0,u=i||e.emptyArray;c1)}function Cn(e){if(33554432&e.flags)return e;var t=M(e);return Br[t]||(Br[t]=new w)}function Tn(e){var t=O(e);return jr[t]||(jr[t]=new I)}function kn(t){return 297===t.kind&&!e.isExternalOrCommonJsModule(t)}function An(t,r,n){if(n){var i=Ti(t.get(r));if(i){if(e.Debug.assert(0==(1&e.getCheckFlags(i)),"Should never get an instantiated symbol here."),i.flags&n)return i;if(2097152&i.flags){var a=ni(i);if(a===be||a.flags&n)return i}}}}function Fn(r,n){var i=e.getSourceFileOfNode(r),a=e.getSourceFileOfNode(n),o=e.getEnclosingBlockScopeContainer(r);if(i!==a){if(W&&(i.externalModuleIndicator||a.externalModuleIndicator)||!e.outFile(V)||hf(n)||8388608&r.flags)return!0;if(u(n,r))return!0;var s=t.getSourceFiles();return s.indexOf(i)<=s.indexOf(a)}if(r.pos<=n.pos&&(!e.isPropertyDeclaration(r)||!e.isThisProperty(n.parent)||r.initializer||r.exclamationToken)){if(198===r.kind){var c=e.getAncestor(n,198);return c?e.findAncestor(c,e.isBindingElement)!==e.findAncestor(r,e.isBindingElement)||r.post.end)&&void 0===e.findAncestor(r,(function(r){if(r===t)return"quit";switch(r.kind){case 209:return!0;case 163:return!n||!(e.isPropertyDeclaration(t)&&r.parent===t.parent||e.isParameterPropertyDeclaration(t,t.parent)&&r.parent===t.parent.parent)||"quit";case 230:switch(r.parent.kind){case 167:case 165:case 168:return!0;default:return!1}default:return!1}}))}}function Nn(t,r,n){var i=e.getEmitScriptTarget(V),a=r;if(e.isParameter(n)&&a.body&&t.valueDeclaration.pos>=a.body.pos&&t.valueDeclaration.end<=a.body.end&&i>=2){var o=Tn(a);return void 0===o.declarationRequiresScopeChange&&(o.declarationRequiresScopeChange=e.forEach(a.parameters,(function(e){return s(e.name)||!!e.initializer&&s(e.initializer)}))||!1),!o.declarationRequiresScopeChange}return!1;function s(t){switch(t.kind){case 209:case 208:case 251:case 166:return!1;case 165:case 167:case 168:case 288:return s(t.name);case 163:return e.hasStaticModifier(t)?i<99||!V.useDefineForClassFields:s(t.name);default:return e.isNullishCoalesce(t)||e.isOptionalChain(t)?i<7:e.isBindingElement(t)&&t.dotDotDotToken&&e.isObjectBindingPattern(t.parent)?i<4:!e.isTypeNode(t)&&(e.forEachChild(t,s)||!1)}}}function Pn(e,t,r,n,i,a,o,s){return void 0===o&&(o=!1),wn(e,t,r,n,i,a,o,An,s)}function wn(t,r,n,i,a,o,s,c,u){var l,d,_,p,f,g,m=t,y=!1,v=t,h=!1;e:for(;t;){if(t.locals&&!kn(t)&&(l=c(t.locals,r,n))){var D=!0;if(e.isFunctionLike(t)&&d&&d!==t.body?(n&l.flags&788968&&311!==d.kind&&(D=!!(262144&l.flags)&&(d===t.type||160===d.kind||159===d.kind)),n&l.flags&3&&(Nn(l,t,d)?D=!1:1&l.flags&&(D=160===d.kind||d===t.type&&!!e.findAncestor(l.valueDeclaration,e.isParameter)))):184===t.kind&&(D=d===t.trueType),D)break e;l=void 0}switch(y=y||In(t,d),t.kind){case 297:if(!e.isExternalOrCommonJsModule(t))break;h=!0;case 256:var x=ki(t).exports||A;if(297===t.kind||e.isModuleDeclaration(t)&&8388608&t.flags&&!e.isGlobalScopeAugmentation(t)){if(l=x.get("default")){var b=e.getLocalSymbolForExportDefault(l);if(b&&l.flags&n&&b.escapedName===r)break e;l=void 0}var S=x.get(r);if(S&&2097152===S.flags&&(e.getDeclarationOfKind(S,270)||e.getDeclarationOfKind(S,269)))break}if("default"!==r&&(l=c(x,r,2623475&n))){if(!e.isSourceFile(t)||!t.commonJsModuleIndicator||l.declarations.some(e.isJSDocTypeAlias))break e;l=void 0}break;case 255:if(l=c(ki(t).exports,r,8&n))break e;break;case 163:if(!e.hasSyntacticModifier(t,32)){var E=Mi(t.parent);E&&E.locals&&c(E.locals,r,111551&n)&&(p=t)}break;case 252:case 221:case 253:if(l=c(ki(t).members||A,r,788968&n)){if(!Ln(l,t)){l=void 0;break}if(d&&e.hasSyntacticModifier(d,32))return void _n(v,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(221===t.kind&&32&n){var C=t.name;if(C&&r===C.escapedText){l=t.symbol;break e}}break;case 223:if(d===t.expression&&93===t.parent.token){var T=t.parent.parent;if(e.isClassLike(T)&&(l=c(ki(T).members,r,788968&n)))return void(i&&_n(v,e.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 158:if(g=t.parent.parent,(e.isClassLike(g)||253===g.kind)&&(l=c(ki(g).members,r,788968&n)))return void _n(v,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 209:if(V.target>=2)break;case 165:case 166:case 167:case 168:case 251:if(3&n&&"arguments"===r){l=ce;break e}break;case 208:if(3&n&&"arguments"===r){l=ce;break e}if(16&n){var k=t.name;if(k&&r===k.escapedText){l=t.symbol;break e}}break;case 161:t.parent&&160===t.parent.kind&&(t=t.parent),t.parent&&(e.isClassElement(t.parent)||252===t.parent.kind)&&(t=t.parent);break;case 331:case 324:case 325:t=e.getJSDocHost(t);break;case 160:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&(f||(f=t));break;case 198:d&&(d===t.initializer||d===t.name&&e.isBindingPattern(d))&&e.isParameterDeclaration(t)&&!f&&(f=t);break;case 185:if(262144&n){var F=t.typeParameter.name;if(F&&r===F.escapedText){l=t.typeParameter.symbol;break e}}}On(t)&&(_=t),d=t,t=t.parent}if(!o||!l||_&&l===_.symbol||(l.isReferenced|=n),!l){if(d&&(e.Debug.assert(297===d.kind),d.commonJsModuleIndicator&&"exports"===r&&n&d.symbol.flags))return d.symbol;s||(l=c(ie,r,n))}if(!l&&m&&e.isInJSFile(m)&&m.parent&&e.isRequireCall(m.parent,!1))return ue;if(l){if(i){if(p&&(99!==V.target||!V.useDefineForClassFields)){var N=p.name;return void _n(v,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(N),Mn(a))}if(v&&(2&n||(32&n||384&n)&&111551==(111551&n))){var P=Ii(l);(2&P.flags||32&P.flags||384&P.flags)&&function(t,r){if(e.Debug.assert(!!(2&t.flags||32&t.flags||384&t.flags)),67108881&t.flags&&32&t.flags)return;var n=e.find(t.declarations,(function(t){return e.isBlockOrCatchScoped(t)||e.isClassLike(t)||255===t.kind}));if(void 0===n)return e.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");if(!(8388608&n.flags||Fn(n,r))){var i=void 0,a=e.declarationNameToString(e.getNameOfDeclaration(n));2&t.flags?i=_n(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,a):32&t.flags?i=_n(r,e.Diagnostics.Class_0_used_before_its_declaration,a):256&t.flags?i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a):(e.Debug.assert(!!(128&t.flags)),V.preserveConstEnums&&(i=_n(r,e.Diagnostics.Enum_0_used_before_its_declaration,a))),i&&e.addRelatedInfo(i,e.createDiagnosticForNode(n,e.Diagnostics._0_is_declared_here,a))}}(P,v)}if(l&&h&&111551==(111551&n)&&!(4194304&m.flags)){var w=Ti(l);e.length(w.declarations)&&e.every(w.declarations,(function(t){return e.isNamespaceExportDeclaration(t)||e.isSourceFile(t)&&!!t.symbol.globalExports}))&&fn(!V.allowUmdGlobalAccess,v,e.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,e.unescapeLeadingUnderscores(r))}if(l&&f&&!y&&111551==(111551&n)){var I=Ti(as(l)),O=e.getRootDeclaration(f);I===ki(f)?_n(v,e.Diagnostics.Parameter_0_cannot_reference_itself,e.declarationNameToString(f.name)):I.valueDeclaration&&I.valueDeclaration.pos>f.pos&&O.parent.locals&&c(O.parent.locals,I.escapedName,n)===I&&_n(v,e.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,e.declarationNameToString(f.name),e.declarationNameToString(v))}l&&v&&111551&n&&2097152&l.flags&&function(t,r,n){if(!e.isValidTypeOnlyAliasUseSite(n)){var i=oi(t);if(i){var a=e.typeOnlyDeclarationIsExport(i),o=a?e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:e.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,s=a?e.Diagnostics._0_was_exported_here:e.Diagnostics._0_was_imported_here,c=e.unescapeLeadingUnderscores(r);e.addRelatedInfo(_n(n,o,c),e.createDiagnosticForNode(i,s,c))}}}(l,r,v)}return l}if(i&&!(v&&(function(t,r,n){if(!e.isIdentifier(t)||t.escapedText!==r||Db(t)||hf(t))return!1;var i=e.getThisContainer(t,!1),a=i;for(;a;){if(e.isClassLike(a.parent)){var o=ki(a.parent);if(!o)break;if(dc(po(o),r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Mn(n),oa(o)),!0;if(a===i&&!e.hasSyntacticModifier(a,32))if(dc(Jo(o).thisType,r))return _n(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Mn(n)),!0}a=a.parent}return!1}(v,r,a)||Rn(v)||function(t,r,n){var i=1920|(e.isInJSFile(t)?111551:0);if(n===i){var a=ri(Pn(t,r,788968&~i,void 0,void 0,!1)),o=t.parent;if(a){if(e.isQualifiedName(o)){e.Debug.assert(o.left===t,"Should only be resolving left side of qualified name as a namespace");var s=o.right.escapedText;if(dc(Jo(a),s))return _n(o,e.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,e.unescapeLeadingUnderscores(r),e.unescapeLeadingUnderscores(s)),!0}return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,e.unescapeLeadingUnderscores(r)),!0}}return!1}(v,r,n)||function(t,r){if(jn(r)&&270===t.parent.kind)return _n(t,e.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,r),!0;return!1}(v,r)||function(t,r,n){if(111551&n){if(jn(r))return _n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,e.unescapeLeadingUnderscores(r)),!0;var i=ri(Pn(t,r,788544,void 0,void 0,!1));if(i&&!(1024&i.flags)){var a=e.unescapeLeadingUnderscores(r);return!function(e){switch(e){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return!0}return!1}(r)?!function(t,r){var n=e.findAncestor(t.parent,(function(t){return!e.isComputedPropertyName(t)&&!e.isPropertySignature(t)&&(e.isTypeLiteralNode(t)||"quit")}));if(n&&1===n.members.length){var i=Jo(r);return!!(1048576&i.flags)&&vh(i,384,!0)}return!1}(t,i)?_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,a):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0,a,"K"===a?"P":"K"):_n(t,e.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later,a),!0}}return!1}(v,r,n)||function(t,r,n){if(111127&n){if(ri(Pn(t,r,1024,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_value,e.unescapeLeadingUnderscores(r)),!0}else if(788544&n){if(ri(Pn(t,r,1536,void 0,void 0,!1)))return _n(t,e.Diagnostics.Cannot_use_namespace_0_as_a_type,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)||function(t,r,n){if(788584&n){var i=ri(Pn(t,r,111127,void 0,void 0,!1));if(i&&!(1920&i.flags))return _n(t,e.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,e.unescapeLeadingUnderscores(r)),!0}return!1}(v,r,n)))){var M=void 0;if(u&&Lr<10&&(M=Dy(m,r,n))){var L=oa(M),R=_n(v,u,Mn(a),L);M.valueDeclaration&&e.addRelatedInfo(R,e.createDiagnosticForNode(M.valueDeclaration,e.Diagnostics._0_is_declared_here,L))}if(!M&&a){var B=function(t){for(var r=Mn(t),n=e.getScriptTargetFeatures(),i=e.getOwnKeys(n),a=0,o=i;a=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop",c=n.exports.get("export=").valueDeclaration,u=_n(t.name,e.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,oa(n),s);e.addRelatedInfo(u,e.createDiagnosticForNode(c,e.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,s))}else!function(t,r){var n,i;if(null===(n=t.exports)||void 0===n?void 0:n.has(r.symbol.escapedName))_n(r.name,e.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,oa(t),oa(r.symbol));else{var a=_n(r.name,e.Diagnostics.Module_0_has_no_default_export,oa(t)),o=null===(i=t.exports)||void 0===i?void 0:i.get("__export");if(o){var s=e.find(o.declarations,(function(t){var r,n;return!!(e.isExportDeclaration(t)&&t.moduleSpecifier&&(null===(n=null===(r=pi(t,t.moduleSpecifier))||void 0===r?void 0:r.exports)||void 0===n?void 0:n.has("default")))}));s&&e.addRelatedInfo(a,e.createDiagnosticForNode(s,e.Diagnostics.export_Asterisk_does_not_re_export_a_default))}}}(n,t);return ii(t,i,void 0,!1),i}}function Xn(t,n,i){var a;void 0===i&&(i=!1);var o=e.getExternalModuleRequireArgument(t)||t.moduleSpecifier,s=pi(t,o),c=!e.isPropertyAccessExpression(n)&&n.propertyName||n.name;if(e.isIdentifier(c)){var u=vi(s,o,i,"default"===c.escapedText&&!(!V.allowSyntheticDefaultImports&&!V.esModuleInterop));if(u&&c.escapedText){if(e.isShorthandAmbientModuleSymbol(s))return s;var l=void 0;l=s&&s.exports&&s.exports.get("export=")?dc(po(u),c.escapedText):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return ri(dc(ld(r),t))}}(u,c.escapedText),l=ri(l,i);var d=function(e,t,r,n){if(1536&e.flags){var i=bi(e).get(t.escapedText),a=ri(i,n);return ii(r,i,a,!1),a}}(u,c,n,i);if(void 0===d&&"default"===c.escapedText)Gn(e.find(s.declarations,e.isSourceFile),s,i)&&(d=yi(s,i)||ri(s,i));var _=d&&l&&d!==l?function(t,r){if(t===be&&r===be)return be;if(790504&t.flags)return t;var n=mn(t.flags|r.flags,t.escapedName);return n.declarations=e.deduplicate(e.concatenate(t.declarations,r.declarations),e.equateValues),n.parent=t.parent||r.parent,t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration),r.members&&(n.members=new e.Map(r.members)),t.exports&&(n.exports=new e.Map(t.exports)),n}(l,d):d||l;if(!_){var p=li(s,t),f=e.declarationNameToString(c),g=xy(c,u);if(void 0!==g){var m=oa(g),y=_n(c,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,p,f,m);g.valueDeclaration&&e.addRelatedInfo(y,e.createDiagnosticForNode(g.valueDeclaration,e.Diagnostics._0_is_declared_here,m))}else(null===(a=s.exports)||void 0===a?void 0:a.has("default"))?_n(c,e.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,p,f):function(t,n,i,a,o){var s,c=null===(s=a.valueDeclaration.locals)||void 0===s?void 0:s.get(n.escapedText),u=a.exports;if(c){var l=null==u?void 0:u.get("export=");if(l)wi(l,c)?function(t,r,n,i){if(W>=e.ModuleKind.ES2015){_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n)}else{if(e.isInJSFile(t))_n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n);else _n(r,V.esModuleInterop?e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:e.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,n,n,i)}}(t,n,i,o):_n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i);else{var d=u?e.find(Dc(u),(function(e){return!!wi(e,c)})):void 0,_=d?_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,o,i,oa(d)):_n(n,e.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,o,i);e.addRelatedInfo.apply(void 0,r([_],e.map(c.declarations,(function(t,r){return e.createDiagnosticForNode(t,0===r?e.Diagnostics._0_is_declared_here:e.Diagnostics.and_here,i)}))))}}else _n(n,e.Diagnostics.Module_0_has_no_exported_member_1,o,i)}(t,c,f,s,p)}return _}}}function Qn(t){if(e.isVariableDeclaration(t)&&t.initializer&&e.isPropertyAccessExpression(t.initializer))return t.initializer}function $n(e,t,r){var n=e.parent.parent.moduleSpecifier?Xn(e.parent.parent,e,r):di(e.propertyName||e.name,t,!1,r);return ii(e,void 0,n,!1),n}function Zn(t,r){if(e.isClassExpression(t))return Nh(t).symbol;if(e.isEntityName(t)||e.isEntityNameExpression(t)){var n=di(t,901119,!0,r);return n||(Nh(t),Tn(t).resolvedSymbol)}}function ei(t,r){switch(void 0===r&&(r=!1),t.kind){case 260:case 249:return qn(t,r);case 262:return Yn(t,r);case 263:return function(e,t){var r=e.parent.parent.moduleSpecifier,n=pi(e,r),i=vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 269:return function(e,t){var r=e.parent.moduleSpecifier,n=r&&pi(e,r),i=r&&vi(n,r,t,!1);return ii(e,n,i,!1),i}(t,r);case 265:case 198:return function(t,r){var n=e.isBindingElement(t)?e.getRootDeclaration(t):t.parent.parent.parent,i=Qn(n),a=Xn(n,i||t,r),o=t.propertyName||t.name;return i&&a&&e.isIdentifier(o)?dc(po(a),o.escapedText):(ii(t,void 0,a,!1),a)}(t,r);case 270:return $n(t,901119,r);case 266:case 216:return function(t,r){var n=Zn(e.isExportAssignment(t)?t.expression:t.right,r);return ii(t,void 0,n,!1),n}(t,r);case 259:return function(e,t){var r=yi(e.parent.symbol,t);return ii(e,void 0,r,!1),r}(t,r);case 289:return di(t.name,901119,!0,r);case 288:return function(e,t){return Zn(e.initializer,t)}(t,r);case 202:case 201:return function(t,r){if(e.isBinaryExpression(t.parent)&&t.parent.left===t&&62===t.parent.operatorToken.kind)return Zn(t.parent.right,r)}(t,r);default:return e.Debug.fail()}}function ti(e,t){return void 0===t&&(t=901119),!!e&&(2097152==(e.flags&(2097152|t))||!!(2097152&e.flags&&67108864&e.flags))}function ri(e,t){return!t&&ti(e)?ni(e):e}function ni(t){e.Debug.assert(0!=(2097152&t.flags),"Should only get Alias here.");var r=Cn(t);if(r.target)r.target===Se&&(r.target=be);else{r.target=Se;var n=zn(t);if(!n)return e.Debug.fail();var i=ei(n);r.target===Se?r.target=i||be:_n(n,e.Diagnostics.Circular_definition_of_import_alias_0,oa(t))}return r.target}function ii(t,r,n,i){if(!t||e.isPropertyAccessExpression(t))return!1;var a=ki(t);if(e.isTypeOnlyImportOrExportDeclaration(t))return Cn(a).typeOnlyDeclaration=t,!0;var o=Cn(a);return ai(o,r,i)||ai(o,n,i)}function ai(t,r,n){var i,a,o;if(r&&(void 0===t.typeOnlyDeclaration||n&&!1===t.typeOnlyDeclaration)){var s=null!==(a=null===(i=r.exports)||void 0===i?void 0:i.get("export="))&&void 0!==a?a:r,c=s.declarations&&e.find(s.declarations,e.isTypeOnlyImportOrExportDeclaration);t.typeOnlyDeclaration=null!==(o=null!=c?c:Cn(s).typeOnlyDeclaration)&&void 0!==o&&o}return!!t.typeOnlyDeclaration}function oi(e){if(2097152&e.flags)return Cn(e).typeOnlyDeclaration||void 0}function si(e){var t=ki(e),r=ni(t);r&&((r===be||111551&r.flags&&!Ub(r)&&!oi(t))&&ci(t))}function ci(t){var r=Cn(t);if(!r.referenced){r.referenced=!0;var n=zn(t);if(!n)return e.Debug.fail();if(e.isInternalModuleImportEqualsDeclaration(n)){var i=ri(t);(i===be||111551&i.flags)&&Nh(n.moduleReference)}}}function ui(t,r){return 78===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),78===t.kind||157===t.parent.kind?di(t,1920,!1,r):(e.Debug.assert(260===t.parent.kind),di(t,901119,!1,r))}function li(e,t){return e.parent?li(e.parent,t)+"."+oa(e):oa(e,t,void 0,20)}function di(t,r,n,i,a){if(!e.nodeIsMissing(t)){var o,s=1920|(e.isInJSFile(t)?111551&r:0);if(78===t.kind){var c=r===s||e.nodeIsSynthesized(t)?e.Diagnostics.Cannot_find_namespace_0:yf(e.getFirstIdentifier(t)),u=e.isInJSFile(t)&&!e.nodeIsSynthesized(t)?function(t,r){if(gu(t.parent)){var n=function(t){if(e.findAncestor(t,(function(t){return e.isJSDocNode(t)||4194304&t.flags?e.isJSDocTypeAlias(t):"quit"})))return;var r=e.getJSDocHost(t);if(e.isExpressionStatement(r)&&e.isBinaryExpression(r.expression)&&3===e.getAssignmentDeclarationKind(r.expression)){if(i=ki(r.expression.left))return _i(i)}if((e.isObjectLiteralMethod(r)||e.isPropertyAssignment(r))&&e.isBinaryExpression(r.parent.parent)&&6===e.getAssignmentDeclarationKind(r.parent.parent)){if(i=ki(r.parent.parent.left))return _i(i)}var n=e.getEffectiveJSDocHost(t);if(n&&e.isFunctionLike(n)){var i;return(i=ki(n))&&i.valueDeclaration}}(t.parent);if(n)return Pn(n,t.escapedText,r,void 0,t,!0)}}(t,r):void 0;if(!(o=Ti(Pn(a||t,t.escapedText,r,n||u?void 0:c,t,!0))))return Ti(u)}else{if(157!==t.kind&&201!==t.kind)throw e.Debug.assertNever(t,"Unknown entity name kind.");var l=157===t.kind?t.left:t.expression,d=157===t.kind?t.right:t.name,_=di(l,s,n,!1,a);if(!_||e.nodeIsMissing(d))return;if(_===be)return _;if(e.isInJSFile(t)&&_.valueDeclaration&&e.isVariableDeclaration(_.valueDeclaration)&&_.valueDeclaration.initializer&&kv(_.valueDeclaration.initializer)){var p=_.valueDeclaration.initializer.arguments[0],f=pi(p,p);if(f){var g=yi(f);g&&(_=g)}}if(!(o=Ti(An(bi(_),d.escapedText,r)))){if(!n){var m=li(_),y=e.declarationNameToString(d),v=xy(d,_);v?_n(d,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2,m,y,oa(v)):_n(d,e.Diagnostics.Namespace_0_has_no_exported_member_1,m,y)}return}}return e.Debug.assert(0==(1&e.getCheckFlags(o)),"Should never get an instantiated symbol here."),!e.nodeIsSynthesized(t)&&e.isEntityName(t)&&(2097152&o.flags||266===t.parent.kind)&&ii(e.getAliasDeclarationFromName(t),o,void 0,!0),o.flags&r||i?o:ni(o)}}function _i(t){var r=t.parent.valueDeclaration;if(r)return(e.isAssignmentDeclaration(r)?e.getAssignedExpandoInitializer(r):e.hasOnlyExpressionInitializer(r)?e.getDeclaredExpandoInitializer(r):void 0)||r}function pi(t,r,n){var i=e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return fi(t,r,n?void 0:i)}function fi(t,r,n,i){return void 0===i&&(i=!1),e.isStringLiteralLike(r)?gi(t,r.text,n,r,i):void 0}function gi(r,n,i,a,o){(void 0===o&&(o=!1),e.startsWith(n,"@types/"))&&_n(a,e.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,e.removePrefix(n,"@types/"),n);var s=bc(n,!0);if(s)return s;var c=e.getSourceFileOfNode(r),u=e.getResolvedModule(c,n),l=u&&e.getResolutionDiagnostic(V,u),d=u&&!l&&t.getSourceFile(u.resolvedFileName);if(d)return d.symbol?(u.isExternalLibraryImport&&!e.resolutionExtensionIsTSOrJson(u.extension)&&mi(!1,a,u,n),Ti(d.symbol)):void(i&&_n(a,e.Diagnostics.File_0_is_not_a_module,d.fileName));if(yt){var _=e.findBestPatternMatch(yt,(function(e){return e.pattern}),n);if(_){var p=vt&&vt.get(n);return Ti(p?p:_.symbol)}}if(u&&!e.resolutionExtensionIsTSOrJson(u.extension)&&void 0===l||l===e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)o?_n(a,e.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,n,u.resolvedFileName):mi($&&!!i,a,u,n);else if(i){if(u){var f=t.getProjectReferenceRedirect(u.resolvedFileName);if(f)return void _n(a,e.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,f,u.resolvedFileName)}if(l)_n(a,l,n,u.resolvedFileName);else{var g=e.tryExtractTSExtension(n);if(g)_n(a,e.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,g,e.removeExtension(n,g));else!V.resolveJsonModule&&e.fileExtensionIs(n,".json")&&e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.NodeJs&&e.hasJsonModuleEmitEnabled(V)?_n(a,e.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,n):_n(a,i,n)}}}function mi(t,r,n,i){var a,o=n.packageId,s=n.resolvedFileName,c=!e.isExternalModuleNameRelative(i)&&o?(a=o.name,f().has(e.getTypesPackageName(a))?e.chainDiagnosticMessages(void 0,e.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,o.name,e.mangleScopedPackageName(o.name)):e.chainDiagnosticMessages(void 0,e.Diagnostics.Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,i,e.mangleScopedPackageName(o.name))):void 0;fn(t,r,e.chainDiagnosticMessages(c,e.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,i,s))}function yi(t,r){if(null==t?void 0:t.exports){var n=function(t,r){if(!t||t===be||t===r||1===r.exports.size||2097152&t.flags)return t;var n=Cn(t);if(n.cjsExportMerged)return n.cjsExportMerged;var i=33554432&t.flags?t:hn(t);i.flags=512|i.flags,void 0===i.exports&&(i.exports=e.createSymbolTable());return r.exports.forEach((function(e,t){"export="!==t&&i.exports.set(t,i.exports.has(t)?Dn(i.exports.get(t),e):e)})),Cn(i).cjsExportMerged=i,n.cjsExportMerged=i}(Ti(ri(t.exports.get("export="),r)),Ti(t));return Ti(n)||t}}function vi(t,r,n,i){var a=yi(t,n);if(!n&&a){if(!(i||1539&a.flags||e.getDeclarationOfKind(a,297))){var o=W>=e.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop";return _n(r,e.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,o),a}if(V.esModuleInterop){var s=r.parent;if(e.isImportDeclaration(s)&&e.getNamespaceDeclarationNode(s)||e.isImportCall(s)){var c=po(a),u=_c(c,0);if(u&&u.length||(u=_c(c,1)),u&&u.length){var l=Tv(c,a,t),d=mn(a.flags,a.escapedName);d.declarations=a.declarations?a.declarations.slice():[],d.parent=a.parent,d.target=a,d.originatingImport=s,a.valueDeclaration&&(d.valueDeclaration=a.valueDeclaration),a.constEnumOnlyModule&&(d.constEnumOnlyModule=!0),a.members&&(d.members=new e.Map(a.members)),a.exports&&(d.exports=new e.Map(a.exports));var _=Rs(l);return d.type=Vi(d,_.members,e.emptyArray,e.emptyArray,_.stringIndexInfo,_.numberIndexInfo),d}}}}return a}function hi(e){return void 0!==e.exports.get("export=")}function Di(e){return Dc(Si(e))}function xi(e,t){var r=Si(t);if(r)return r.get(e)}function bi(e){return 6256&e.flags?ns(e,"resolvedExports"):1536&e.flags?Si(e):e.exports||A}function Si(e){var t=Cn(e);return t.resolvedExports||(t.resolvedExports=Ci(e))}function Ei(t,r,n,i){r&&r.forEach((function(r,a){if("default"!==a){var o=t.get(a);if(o){if(n&&i&&o&&ri(o)!==ri(r)){var s=n.get(a);s.exportsWithDuplicate?s.exportsWithDuplicate.push(i):s.exportsWithDuplicate=[i]}}else t.set(a,r),n&&i&&n.set(a,{specifierText:e.getTextOfNode(i.moduleSpecifier)})}}))}function Ci(t){var r=[];return function t(n){if(!(n&&n.exports&&e.pushIfUnique(r,n)))return;var i=new e.Map(n.exports),a=n.exports.get("__export");if(a){for(var o=e.createSymbolTable(),s=new e.Map,c=0,u=a.declarations;c=l?u.substr(0,l-"...".length)+"...":u}function ua(e,t){var r=da(e.symbol)?ca(e,e.symbol.valueDeclaration):ca(e),n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t);return r===n&&(r=la(e),n=la(t)),[r,n]}function la(e){return ca(e,void 0,64)}function da(t){return t&&t.valueDeclaration&&e.isExpression(t.valueDeclaration)&&!jd(t.valueDeclaration)}function _a(e){return void 0===e&&(e=0),814775659&e}function pa(t){return!!(t.symbol&&32&t.symbol.flags&&(t===Po(t.symbol)||1073741824&e.getObjectFlags(t)))}function fa(t,r,n,i){return void 0===n&&(n=16384),i?a(i).getText():e.usingSingleLineStringWriter(a);function a(i){var a=e.factory.createTypePredicateNode(2===t.kind||3===t.kind?e.factory.createToken(127):void 0,1===t.kind||3===t.kind?e.factory.createIdentifier(t.parameterName):e.factory.createThisTypeNode(),t.type&&ne.typeToTypeNode(t.type,r,70222336|_a(n))),o=e.createPrinter({removeComments:!0}),s=r&&e.getSourceFileOfNode(r);return o.writeNode(4,a,s,i),i}}function ga(e){return 8===e?"private":16===e?"protected":"public"}function ma(t){return t&&t.parent&&257===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function ya(t){return 297===t.kind||e.isAmbientModule(t)}function va(t,r){var n=Cn(t).nameType;if(n){if(384&n.flags){var i=""+n.value;return e.isIdentifierText(i,V.target)||xm(i)?xm(i)&&e.startsWith(i,"-")?"["+i+"]":i:'"'+e.escapeString(i,34)+'"'}if(8192&n.flags)return"["+ha(n.symbol,r)+"]"}}function ha(t,r){if(r&&"default"===t.escapedName&&!(16384&r.flags)&&(!(16777216&r.flags)||!t.declarations||r.enclosingDeclaration&&e.findAncestor(t.declarations[0],ya)!==e.findAncestor(r.enclosingDeclaration,ya)))return"default";if(t.declarations&&t.declarations.length){var n=e.firstDefined(t.declarations,(function(t){return e.getNameOfDeclaration(t)?t:void 0})),i=n&&e.getNameOfDeclaration(n);if(n&&i){if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n))return e.symbolName(t);if(e.isComputedPropertyName(i)&&!(4096&e.getCheckFlags(t))){var a=Cn(t).nameType;if(a&&384&a.flags){var o=va(t,r);if(void 0!==o)return o}}return e.declarationNameToString(i)}if(n||(n=t.declarations[0]),n.parent&&249===n.parent.kind)return e.declarationNameToString(n.parent.name);switch(n.kind){case 221:case 208:case 209:return!r||r.encounteredError||131072&r.flags||(r.encounteredError=!0),221===n.kind?"(Anonymous class)":"(Anonymous function)"}}var s=va(t,r);return void 0!==s?s:e.symbolName(t)}function Da(t){if(t){var r=Tn(t);return void 0===r.isVisible&&(r.isVisible=!!function(){switch(t.kind){case 324:case 331:case 325:return!!(t.parent&&t.parent.parent&&t.parent.parent.parent&&e.isSourceFile(t.parent.parent.parent));case 198:return Da(t.parent.parent);case 249:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return!1;case 256:case 252:case 253:case 254:case 251:case 255:case 260:if(e.isExternalModuleAugmentation(t))return!0;var r=Ta(t);return 1&e.getCombinedModifierFlags(t)||260!==t.kind&&297!==r.kind&&8388608&r.flags?Da(r):kn(r);case 163:case 162:case 167:case 168:case 165:case 164:if(e.hasEffectiveModifier(t,24))return!1;case 166:case 170:case 169:case 171:case 160:case 257:case 174:case 175:case 177:case 173:case 178:case 179:case 182:case 183:case 186:case 192:return Da(t.parent);case 262:case 263:case 265:return!1;case 159:case 297:case 259:return!0;case 266:default:return!1}}()),r.isVisible}return!1}function xa(t,r){var n,i,a;return t.parent&&266===t.parent.kind?n=Pn(t,t.escapedText,2998271,void 0,t,!1):270===t.parent.kind&&(n=$n(t.parent,2998271)),n&&((a=new e.Set).add(M(n)),function t(n){e.forEach(n,(function(n){var o=Kn(n)||n;if(r?Tn(n).isVisible=!0:(i=i||[],e.pushIfUnique(i,o)),e.isInternalModuleImportEqualsDeclaration(n)){var s=n.moduleReference,c=Pn(n,e.getFirstIdentifier(s).escapedText,901119,void 0,void 0,!1);c&&a&&e.tryAddToSet(a,M(c))&&t(c.declarations)}}))}(n.declarations)),i}function ba(e,t){var r=Sa(e,t);if(r>=0){for(var n=Ir.length,i=r;i=0;r--){if(Ea(Ir[r],Mr[r]))return-1;if(Ir[r]===e&&Mr[r]===t)return r}return-1}function Ea(t,r){switch(r){case 0:return!!Cn(t).type;case 5:return!!Tn(t).resolvedEnumType;case 2:return!!Cn(t).declaredType;case 1:return!!t.resolvedBaseConstructorType;case 3:return!!t.resolvedReturnType;case 4:return!!t.immediateBaseConstraint;case 6:return!!t.resolvedTypeArguments;case 7:return!!t.baseTypesResolved}return e.Debug.assertNever(r)}function Ca(){return Ir.pop(),Mr.pop(),Or.pop()}function Ta(t){return e.findAncestor(e.getRootDeclaration(t),(function(e){switch(e.kind){case 249:case 250:case 265:case 264:case 263:case 262:return!1;default:return!0}})).parent}function ka(e,t){var r=dc(e,t);return r?po(r):void 0}function Aa(e){return e&&0!=(1&e.flags)}function Fa(e){var t=ki(e);return t&&Cn(t).type||Ba(e,!1)}function Na(t,r,n){if(131072&(t=$f(t,(function(e){return!(98304&e.flags)}))).flags)return it;if(1048576&t.flags)return eg(t,(function(e){return Na(e,r,n)}));var i=$u(e.map(r,ul));if(Cl(t)||Tl(i)){if(131072&i.flags)return t;var a=er||(er=Su("Omit",524288,e.Diagnostics.Cannot_find_global_type_0));return a?su(a,[t,i]):ke}for(var o=e.createSymbolTable(),s=0,c=Ks(t);s=2?(i=Ee,Pu(Fu(!0),[i])):Nt;var c=e.map(a,(function(t){return e.isOmittedExpression(t)?Ee:Ya(t,r,n)})),u=e.findLastIndex(a,(function(t){return!(t===s||e.isOmittedExpression(t)||mm(t))}),a.length-1)+1,l=Ju(c,e.map(a,(function(e,t){return e===s?4:t>=u?2:1})));return r&&((l=ru(l)).pattern=t,l.objectFlags|=1048576),l}function Qa(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),196===t.kind?function(t,r,n){var i,a=e.createSymbolTable(),o=1048704;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(e.dotDotDotToken)i=Gc(Ee,!1);else{var s=ul(t);if(Xo(s)){var c=ts(s),u=mn(4|(e.initializer?16777216:0),c);u.type=Ya(e,r,n),u.bindingElement=e,a.set(u.escapedName,u)}else o|=512}}));var s=Vi(void 0,a,e.emptyArray,e.emptyArray,i,void 0);return s.objectFlags|=o,r&&(s.pattern=t,s.objectFlags|=1048576),s}(t,r,n):Xa(t,r,n)}function $a(e,t){return Za(Ba(e,!0),e,t)}function Za(t,r,n){return t?(n&&Rp(r,t),8192&t.flags&&(e.isBindingElement(r)||!r.type)&&t.symbol!==ki(r)&&(t=Ve),Ip(t)):(t=e.isParameter(r)&&r.dotDotDotToken?Nt:Ee,n&&(eo(r)||Lp(r,t)),t)}function eo(t){var r=e.getRootDeclaration(t);return dD(160===r.kind?r.parent:r)}function to(t){var r=e.getEffectiveTypeAnnotationNode(t);if(r)return ld(r)}function ro(t){var r=Cn(t);if(!r.type){var n=function(t){if(4194304&t.flags)return(r=Jo(Ai(t))).typeParameters?tu(r,e.map(r.typeParameters,(function(e){return Ee}))):r;var r;if(t===ue)return Ee;if(134217728&t.flags){var n=ki(e.getSourceFileOfNode(t.valueDeclaration)),i=e.createSymbolTable();return i.set("exports",n),Vi(t,i,e.emptyArray,e.emptyArray,void 0,void 0)}var a,o=t.valueDeclaration;if(e.isCatchClauseVariableDeclarationOrBindingElement(o)){var s=o;if(!s.type)return Ee;var c=Tb(s.type);return Aa(c)||c===Ne?c:ke}if(e.isSourceFile(o)&&e.isJsonSourceFile(o))return o.statements.length?Ip(tp(Gh(o.statements[0].expression))):it;if(!ba(t,0))return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);if(266===o.kind)a=Za(Nh(o.expression),o);else if(e.isBinaryExpression(o)||e.isInJSFile(o)&&(e.isCallExpression(o)||(e.isPropertyAccessExpression(o)||e.isBindableStaticElementAccessExpression(o))&&e.isBinaryExpression(o.parent)))a=Va(t);else if(e.isPropertyAccessExpression(o)||e.isElementAccessExpression(o)||e.isIdentifier(o)||e.isStringLiteralLike(o)||e.isNumericLiteral(o)||e.isClassDeclaration(o)||e.isFunctionDeclaration(o)||e.isMethodDeclaration(o)&&!e.isObjectLiteralMethod(o)||e.isMethodSignature(o)||e.isSourceFile(o)){if(9136&t.flags)return uo(t);a=e.isBinaryExpression(o.parent)?Va(t):to(o)||Ee}else if(e.isPropertyAssignment(o))a=to(o)||Rh(o);else if(e.isJsxAttribute(o))a=to(o)||Fm(o);else if(e.isShorthandPropertyAssignment(o))a=to(o)||Lh(o.name,0);else if(e.isObjectLiteralMethod(o))a=to(o)||Bh(o,0);else if(e.isParameter(o)||e.isPropertyDeclaration(o)||e.isPropertySignature(o)||e.isVariableDeclaration(o)||e.isBindingElement(o)||e.isJSDocPropertyLikeTag(o))a=$a(o,!0);else if(e.isEnumDeclaration(o))a=uo(t);else if(e.isEnumMember(o))a=lo(t);else{if(!e.isAccessor(o))return e.Debug.fail("Unhandled declaration kind! "+e.Debug.formatSyntaxKind(o.kind)+" for "+e.Debug.formatSymbol(t));a=so(t)}if(!Ca())return 512&t.flags&&!(67108864&t.flags)?uo(t):_o(t);return a}(t);r.type||(r.type=n)}return r.type}function no(t){if(t)return 167===t.kind?e.getEffectiveReturnTypeNode(t):e.getEffectiveSetAccessorTypeAnnotationNode(t)}function io(e){var t=no(e);return t&&ld(t)}function ao(e){return Ic(Ac(e))}function oo(t){var r=Cn(t);return r.type||(r.type=function(t){if(!ba(t,0))return ke;var r=so(t);if(!Ca()){if(r=Ee,$)_n(e.getDeclarationOfKind(t,167),e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,oa(t))}return r}(t))}function so(t){var r=e.getDeclarationOfKind(t,167),n=e.getDeclarationOfKind(t,168);if(r&&e.isInJSFile(r)){var i=Ma(r);if(i)return i}var a=io(r);if(a)return a;var o=io(n);return o||(r&&r.body?eh(r):(n?dD(n)||fn($,n,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,oa(t)):(e.Debug.assert(!!r,"there must exist a getter as we are current checking either setter or getter in this function"),dD(r)||fn($,r,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,oa(t))),Ee))}function co(t){var r=To(Po(t));return 8650752&r.flags?r:2097152&r.flags?e.find(r.types,(function(e){return!!(8650752&e.flags)})):void 0}function uo(t){var r=Cn(t),n=r;if(!r.type){var i=t.valueDeclaration&&xv(t.valueDeclaration,!1);if(i){var a=Dv(t,i);a&&(t=r=a)}n.type=r.type=function(t){var r=t.valueDeclaration;if(1536&t.flags&&e.isShorthandAmbientModuleSymbol(t))return Ee;if(r&&(216===r.kind||e.isAccessExpression(r)&&216===r.parent.kind))return Va(t);if(512&t.flags&&r&&e.isSourceFile(r)&&r.commonJsModuleIndicator){var n=yi(t);if(n!==t){if(!ba(t,0))return ke;var i=Ti(t.exports.get("export=")),a=Va(i,i===n?void 0:n);return Ca()?a:_o(t)}}var o=ji(16,t);if(32&t.flags){var s=co(t);return s?al([o,s]):o}return G&&16777216&t.flags?vp(o):o}(t)}return r.type}function lo(e){var t=Cn(e);return t.type||(t.type=Bo(e))}function _o(t){var r=t.valueDeclaration;return e.getEffectiveTypeAnnotationNode(r)?(_n(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,oa(t)),ke):($&&(160!==r.kind||r.initializer)&&_n(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,oa(t)),Ee)}function po(t){var r=e.getCheckFlags(t);return 65536&r?function(t){var r=Cn(t);return r.type||(e.Debug.assertIsDefined(r.deferralParent),e.Debug.assertIsDefined(r.deferralConstituents),r.type=1048576&r.deferralParent.flags?$u(r.deferralConstituents):al(r.deferralConstituents)),r.type}(t):1&r?function(e){var t=Cn(e);if(!t.type){if(!ba(e,0))return t.type=ke;var r=Md(po(t.target),t.mapper);Ca()||(r=_o(e)),t.type=r}return t.type}(t):262144&r?function(t){if(!t.type){var r=t.mappedType;if(!ba(t,0))return r.containsError=!0,ke;var n=Md(Fs(r.target||r),Ed(r.mapper,Ts(r),t.keyType)),i=G&&16777216&t.flags&&!mh(n,49152)?vp(n):524288&t.checkFlags?If(n,524288):n;Ca()||(_n(d,e.Diagnostics.Type_of_property_0_circularly_references_itself_in_mapped_type_1,oa(t),ca(r)),i=ke),t.type=i}return t.type}(t):8192&r?function(e){return $p(e.propertyType,e.mappedType,e.constraintType)}(t):7&t.flags?ro(t):9136&t.flags?uo(t):8&t.flags?lo(t):98304&t.flags?oo(t):2097152&t.flags?function(e){var t=Cn(e);if(!t.type){var r=ni(e);t.type=111551&r.flags?po(r):ke}return t.type}(t):ke}function fo(t,r){return void 0!==t&&void 0!==r&&0!=(4&e.getObjectFlags(t))&&t.target===r}function go(t){return 4&e.getObjectFlags(t)?t.target:t}function mo(t,r){return function t(n){if(7&e.getObjectFlags(n)){var i=go(n);return i===r||e.some(Ao(i),t)}if(2097152&n.flags)return e.some(n.types,t);return!1}(t)}function yo(t,r){for(var n=0,i=r;n0)return!0;if(8650752&e.flags){var t=Gs(e);return!!t&&xo(t)}return!1}function So(t){return e.getEffectiveBaseTypeNode(t.symbol.valueDeclaration)}function Eo(t,r,n){var i=e.length(r),a=e.isInJSFile(n);return e.filter(pc(t,1),(function(t){return(a||i>=Tc(t.typeParameters))&&i<=e.length(t.typeParameters)}))}function Co(t,r,n){var i=Eo(t,r,n),a=e.map(r,ld);return e.sameMap(i,(function(t){return e.some(t.typeParameters)?jc(t,a,e.isInJSFile(n)):t}))}function To(t){if(!t.resolvedBaseConstructorType){var r=t.symbol.valueDeclaration,n=e.getEffectiveBaseTypeNode(r),i=So(t);if(!i)return t.resolvedBaseConstructorType=Pe;if(!ba(t,1))return ke;var a=Gh(i.expression);if(n&&i!==n&&(e.Debug.assert(!n.typeArguments),Gh(n.expression)),2621440&a.flags&&Rs(a),!Ca())return _n(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,oa(t.symbol)),t.resolvedBaseConstructorType=ke;if(!(1&a.flags||a===Me||bo(a))){var o=_n(i.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,ca(a));if(262144&a.flags){var s=Qc(a),c=Ne;if(s){var u=pc(s,1);u[0]&&(c=Mc(u[0]))}e.addRelatedInfo(o,e.createDiagnosticForNode(a.symbol.declarations[0],e.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,oa(a.symbol),ca(c)))}return t.resolvedBaseConstructorType=ke}t.resolvedBaseConstructorType=a}return t.resolvedBaseConstructorType}function ko(t,r){_n(t,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(r,void 0,2))}function Ao(t){if(!t.baseTypesResolved){if(ba(t,7)&&(8&t.objectFlags?t.resolvedBaseTypes=[Fo(t)]:96&t.symbol.flags?(32&t.symbol.flags&&function(t){t.resolvedBaseTypes=e.resolvingEmptyArray;var r=tc(To(t));if(!(2621441&r.flags))return t.resolvedBaseTypes=e.emptyArray;var n,i=So(t),a=r.symbol?Jo(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=iu(e);return t[r].symbol!==n[r].symbol}return!0}(a))n=ou(i,r.symbol);else if(1&r.flags)n=r;else{var o=Co(r,i.typeArguments,i);if(!o.length)return _n(i.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),t.resolvedBaseTypes=e.emptyArray;n=Mc(o[0])}if(n===ke)return t.resolvedBaseTypes=e.emptyArray;var s=oc(n);if(!No(s)){var c=lc(void 0,n),u=e.chainDiagnosticMessages(c,e.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,ca(s));return $r.add(e.createDiagnosticForNodeFromMessageChain(i.expression,u)),t.resolvedBaseTypes=e.emptyArray}if(t===s||mo(s,t))return _n(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,ca(t,void 0,2)),t.resolvedBaseTypes=e.emptyArray;t.resolvedBaseTypes===e.resolvingEmptyArray&&(t.members=void 0);t.resolvedBaseTypes=[s]}(t),64&t.symbol.flags&&function(t){t.resolvedBaseTypes=t.resolvedBaseTypes||e.emptyArray;for(var r=0,n=t.symbol.declarations;r0)return;for(var i=1;i1&&(n=void 0===n?i:-1);for(var a=0,o=t[i];a1){var l=s.thisParameter,d=e.forEach(c,(function(e){return e.thisParameter}));if(d)l=Tp(d,al(e.mapDefined(c,(function(e){return e.thisParameter&&po(e.thisParameter)}))));(u=ls(s,c)).thisParameter=l}(r||(r=[])).push(u)}}}}if(!e.length(r)&&-1!==n){for(var _=t[void 0!==n?n:0],p=_.slice(),f=function(t){if(t!==_){var r=t[0];if(e.Debug.assert(!!r,"getUnionSignatures bails early on empty signature lists and should not have empty lists on second pass"),!(p=r.typeParameters&&e.some(p,(function(e){return!!e.typeParameters}))?void 0:e.map(p,(function(t){return function(t,r){var n=t.declaration,i=function(e,t){for(var r=Kv(e),n=Kv(t),i=r>=n?e:t,a=i===e?t:e,o=i===e?r:n,s=Uv(e)||Uv(t),c=s&&!Uv(i),u=new Array(o+(c?1:0)),l=0;l=zv(i)&&l>=zv(a),f=l>=r?void 0:Mv(e,l),g=l>=n?void 0:Mv(t,l),m=mn(1|(p&&!_?16777216:0),(f===g?f:f?g?void 0:f:g)||"arg"+l);m.type=_?Iu(d):d,u[l]=m}if(c){var y=mn(1,"args");y.type=Iu(Bv(a,o)),u[o]=y}return u}(t,r),a=function(e,t){if(!e||!t)return e||t;var r=al([po(e),po(t)]);return Tp(e,r)}(t.thisParameter,r.thisParameter),o=Math.max(t.minArgumentCount,r.minArgumentCount),s=cs(n,t.typeParameters||r.typeParameters,a,i,void 0,void 0,o,19&(t.flags|r.flags));return s.unionSignatures=e.concatenate(t.unionSignatures||[t],[r]),s}(t,r)}))))return"break"}},g=0,m=t;g0})),n=e.map(t,xo);if(r>0&&r===e.countWhere(n,(function(e){return e}))){var i=n.indexOf(!0);n[i]=!1}return n}function xs(t){for(var r,n,i,a,o=t.types,s=Ds(o),c=e.countWhere(s,(function(e){return e})),u=function(u){var l=t.types[u];if(!s[u]){var d=pc(l,1);d.length&&c>0&&(d=e.map(d,(function(e){var t=us(e);return t.resolvedReturnType=function(e,t,r,n){for(var i=[],a=0;a=d&&o<=_){var p=_?Kc(l,kc(a,l.typeParameters,d,i)):us(l);p.typeParameters=t.localTypeParameters,p.resolvedReturnType=t,s.push(p)}}return s}(l)),t.constructSignatures=i}}}function Es(t){if(4194304&t.flags){var r=tc(t.type);return op(r)?qu(r):pl(r)}if(16777216&t.flags){if(t.root.isDistributive){var n=t.checkType,i=Es(n);if(i!==n)return Od(t,Sd(t.root.checkType,i,t.mapper))}return t}return 1048576&t.flags?$u(e.sameMap(t.types,Es)):2097152&t.flags?al(e.sameMap(t.types,Es)):t}function Cs(t){var r,n,i=e.createSymbolTable();Ui(t,A,e.emptyArray,e.emptyArray,void 0,void 0);var a=Ts(t),o=ks(t),s=As(t.target||t),c=Fs(t.target||t),u=tc(ws(t)),l=Is(t),d=ee?128:8576;if(Ps(t)){for(var _=0,p=Ks(u);_=50)return e.tracing.instant("check","getImmediateBaseConstraint_DepthLimit",{typeId:i.id,originalTypeId:t.id,depth:T}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),r=!0,i.immediateBaseConstraint=lt;var o=void 0;if(R_(i,n,n.length)||(n.push(i),T++,o=function(t){if(262144&t.flags){var r=Qc(t);return t.isThisType||!r?r:a(r)}if(3145728&t.flags){for(var n=[],i=0,o=c=t.types;i=7,tr||(tr=Eu("BigInt",0,r))||it):528&n.flags?kt:12288&n.flags?Tu(q>=2):67108864&n.flags?it:4194304&n.flags?Ze:2&n.flags&&!G?it:n}function rc(e){return oc(tc(oc(e)))}function nc(t,r){for(var n,i,a,o=1048576&t.flags,s=o?0:16777216,c=4,u=0,l=0,d=t.types;l2?(C.checkFlags|=65536,C.deferralParent=t,C.deferralConstituents=h):C.type=o?$u(h):al(h),C}}function ic(t,r){var n=t.propertyCache||(t.propertyCache=e.createSymbolTable()),i=n.get(r);return i||(i=nc(t,r))&&n.set(r,i),i}function ac(t,r){var n=ic(t,r);return!n||16&e.getCheckFlags(n)?void 0:n}function oc(t){return 1048576&t.flags&&268435456&t.objectFlags?t.resolvedReducedType||(t.resolvedReducedType=function(t){var r=e.sameMap(t.types,oc);if(r===t.types)return t;var n=$u(r);1048576&n.flags&&(n.resolvedReducedType=n);return n}(t)):2097152&t.flags?(268435456&t.objectFlags||(t.objectFlags|=268435456|(e.some(Js(t),sc)?536870912:0)),536870912&t.objectFlags?We:t):t}function sc(e){return cc(e)||uc(e)}function cc(t){return!(16777216&t.flags||192!=(131264&e.getCheckFlags(t))||!(131072&po(t).flags))}function uc(t){return!t.valueDeclaration&&!!(1024&e.getCheckFlags(t))}function lc(t,r){if(536870912&e.getObjectFlags(r)){var n=e.find(Js(r),cc);if(n)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents,ca(r,void 0,536870912),oa(n));var i=e.find(Js(r),uc);if(i)return e.chainDiagnosticMessages(t,e.Diagnostics.The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some,ca(r,void 0,536870912),oa(i))}return t}function dc(e,t){if(524288&(e=rc(e)).flags){var r=Rs(e),n=r.members.get(t);if(n&&Oi(n))return n;var i=r===ut?Dt:r.callSignatures.length?xt:r.constructSignatures.length?bt:void 0;if(i){var a=js(i,t);if(a)return a}return js(ht,t)}if(3145728&e.flags)return ac(e,t)}function _c(t,r){if(3670016&t.flags){var n=Rs(t);return 0===r?n.callSignatures:n.constructSignatures}return e.emptyArray}function pc(e,t){return _c(rc(e),t)}function fc(e,t){if(3670016&e.flags){var r=Rs(e);return 0===t?r.stringIndexInfo:r.numberIndexInfo}}function gc(e,t){var r=fc(e,t);return r&&r.type}function mc(e,t){return fc(rc(e),t)}function yc(e,t){return gc(rc(e),t)}function vc(t,r){if(Cp(t)){for(var n=[],i=0,a=Ks(t);i=0),n>=zv(r,3)}var i=e.getImmediatelyInvokedFunctionExpression(t.parent);return!!i&&(!t.type&&!t.dotDotDotToken&&t.parent.parameters.indexOf(t)>=i.arguments.length)}function Ec(t){if(!e.isJSDocPropertyLikeTag(t))return!1;var r=t.isBracketed,n=t.typeExpression;return r||!!n&&307===n.type.kind}function Cc(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function Tc(t){var r,n=0;if(t)for(var i=0;i=n&&o<=a){for(var s=t?t.slice():[],c=o;cu.arguments.length&&!f||xc(_)||(o=i.length)}if(!(167!==t.kind&&168!==t.kind||es(t)||c&&s)){var g=167===t.kind?168:167,m=e.getDeclarationOfKind(ki(t),g);m&&(s=(r=NS(m))&&r.symbol)}var y=166===t.kind?Po(Ti(t.parent.symbol)):void 0,v=y?y.localTypeParameters:hc(t);(e.hasRestParameter(t)||e.isInJSFile(t)&&function(t,r){if(e.isJSDocSignature(t)||!Nc(t))return!1;var n=e.lastOrUndefined(t.parameters),i=n?e.getJSDocParameterTags(n):e.getJSDocTags(t).filter(e.isJSDocParameterTag),a=e.firstDefined(i,(function(t){return t.typeExpression&&e.isJSDocVariadicType(t.typeExpression.type)?t.typeExpression.type:void 0})),o=mn(3,"args",32768);o.type=a?Iu(ld(a.type)):Nt,a&&r.pop();return r.push(o),!0}(t,i))&&(a|=1),n.resolvedSignature=cs(t,v,s,i,void 0,void 0,o,a)}return n.resolvedSignature}function Fc(t){if(e.isInJSFile(t)&&e.isFunctionLikeDeclaration(t)){var r=e.getJSDocTypeTag(t),n=r&&r.typeExpression&&jy(ld(r.typeExpression));return n&&zc(n)}}function Nc(t){var r=Tn(t);return void 0===r.containsArgumentsReference&&(8192&r.flags?r.containsArgumentsReference=!0:r.containsArgumentsReference=function t(r){if(!r)return!1;switch(r.kind){case 78:return"arguments"===r.escapedText&&e.isExpressionNode(r);case 163:case 165:case 167:case 168:return 158===r.name.kind&&t(r.name);default:return!e.nodeStartsNewLexicalEnvironment(r)&&!e.isPartOfTypeNode(r)&&!!e.forEachChild(r,t)}}(t.body)),r.containsArgumentsReference}function Pc(t){if(!t)return e.emptyArray;for(var r=[],n=0;n0&&i.body){var a=t.declarations[n-1];if(i.parent===a.parent&&i.kind===a.kind&&i.pos===a.end)continue}r.push(Ac(i))}}return r}function wc(e){var t=pi(e,e);if(t){var r=yi(t);if(r)return po(r)}return Ee}function Ic(e){if(e.thisParameter)return po(e.thisParameter)}function Oc(t){if(!t.resolvedTypePredicate){if(t.target){var r=Oc(t.target);t.resolvedTypePredicate=r?(o=r,s=t.mapper,Cc(o.kind,o.parameterName,o.parameterIndex,Md(o.type,s))):ur}else if(t.unionSignatures)t.resolvedTypePredicate=function(e){for(var t,r=[],n=0,i=e;n=0}function Bc(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]),r=ap(t)?cp(t):t;return r&&yc(r,1)}}function jc(e,t,r,n){var i=Jc(e,kc(t,e.typeParameters,Tc(e.typeParameters),r));if(n){var a=Jy(Mc(i));if(a){var o=us(a);o.typeParameters=n;var s=us(i);return s.resolvedReturnType=qc(o),s}}return i}function Jc(t,r){var n=t.instantiations||(t.instantiations=new e.Map),i=Zc(r),a=n.get(i);return a||n.set(i,a=Kc(t,r)),a}function Kc(e,t){return Td(e,function(e,t){return gd(e.typeParameters,t)}(e,t),!0)}function zc(e){return e.typeParameters?e.erasedSignatureCache||(e.erasedSignatureCache=function(e){return Td(e,Dd(e.typeParameters),!0)}(e)):e}function Uc(t){return t.typeParameters?t.canonicalSignatureCache||(t.canonicalSignatureCache=function(t){return jc(t,e.map(t.typeParameters,(function(e){return e.target&&!Us(e.target)?e.target:e})),e.isInJSFile(t.declaration))}(t)):t}function Vc(t){var r=t.typeParameters;if(r){var n=Dd(r);return Td(t,gd(r,e.map(r,(function(e){return Md(Gs(e),n)||Ne}))),!0)}return t}function qc(t){if(!t.isolatedSignatureType){var r=t.declaration?t.declaration.kind:0,n=166===r||170===r||175===r,i=ji(16);i.members=A,i.properties=e.emptyArray,i.callSignatures=n?e.emptyArray:[t],i.constructSignatures=n?[t]:e.emptyArray,t.isolatedSignatureType=i}return t.isolatedSignatureType}function Wc(e){return e.members.get("__index")}function Hc(t,r){var n=1===r?144:147,i=Wc(t);if(i)for(var a=0,o=i.declarations;a1&&(t+=":"+a),n+=a}return t}function eu(t,r){for(var n=0,i=0,a=t;ii.length)){var c=s&&e.isExpressionWithTypeArguments(t)&&!e.isJSDocAugmentsTag(t.parent);if(_n(t,o===i.length?c?e.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_1_type_argument_s:c?e.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,ca(n,void 0,2),o,i.length),!s)return ke}return 173===t.kind&&Ru(t,e.length(t.typeArguments)!==i.length)?nu(n,t,void 0):tu(n,e.concatenate(n.outerTypeParameters,kc(hu(t),i,o,s)))}return mu(t,r)?n:ke}function su(t,r){var n=Jo(t);if(n===Fe&&P.has(t.escapedName)&&r&&1===r.length)return yl(t,r[0]);var i=Cn(t),a=i.typeParameters,o=Zc(r),s=i.instantiations.get(o);return s||i.instantiations.set(o,s=Md(n,gd(a,kc(r,a,Tc(a),e.isInJSFile(t.valueDeclaration))))),s}function cu(t){switch(t.kind){case 173:return t.typeName;case 223:var r=t.expression;if(e.isEntityNameExpression(r))return r}}function uu(e,t,r){return e&&di(e,t,r)||be}function lu(t,r){if(r===be)return ke;if(96&(r=function(t){var r=t.valueDeclaration;if(r&&e.isInJSFile(r)&&!(524288&t.flags)&&!e.getExpandoInitializer(r,!1)){var n=e.isVariableDeclaration(r)?e.getDeclaredExpandoInitializer(r):e.getAssignedExpandoInitializer(r);if(n){var i=ki(n);if(i)return Dv(i,t)}}}(r)||r).flags)return ou(t,r);if(524288&r.flags)return function(t,r){var n=Jo(r),i=Cn(r).typeParameters;if(i){var a=e.length(t.typeArguments),o=Tc(i);return ai.length?(_n(t,o===i.length?e.Diagnostics.Generic_type_0_requires_1_type_argument_s:e.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,oa(r),o,i.length),ke):su(r,hu(t))}return mu(t,r)?n:ke}(t,r);var n=Ko(r);if(n)return mu(t,r)?nd(n):ke;if(111551&r.flags&&gu(t)){var i=function(e,t){var r=Tn(e);if(!r.resolvedJSDocType){var n=po(t),i=n;if(t.valueDeclaration){var a=195===e.kind&&e.qualifier;n.symbol&&n.symbol!==t&&a&&(i=lu(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(t,r);return i||(uu(cu(t),788968),po(r))}return ke}function du(e,t){if(3&t.flags||t===e)return e;var r=Wu(e)+">"+Wu(t),n=he.get(r);if(n)return n;var i=Li(33554432);return i.baseType=e,i.substitute=t,he.set(r,i),i}function _u(e){return 179===e.kind&&1===e.elements.length}function pu(e,t,r){return _u(t)&&_u(r)?pu(e,t.elements[0],r.elements[0]):Rl(ld(t))===e?ld(r):void 0}function fu(t,r){for(var n;r&&!e.isStatement(r)&&311!==r.kind;){var i=r.parent;if(184===i.kind&&r===i.trueType){var a=pu(t,i.checkType,i.extendsType);a&&(n=e.append(n,a))}r=i}return n?du(t,al(e.append(n,t))):t}function gu(e){return!!(4194304&e.flags)&&(173===e.kind||195===e.kind)}function mu(t,r){return!t.typeArguments||(_n(t,e.Diagnostics.Type_0_is_not_generic,r?oa(r):t.typeName?e.declarationNameToString(t.typeName):u),!1)}function yu(t){if(e.isIdentifier(t.typeName)){var r=t.typeArguments;switch(t.typeName.escapedText){case"String":return mu(t),Le;case"Number":return mu(t),Re;case"Boolean":return mu(t),Ue;case"Void":return mu(t),qe;case"Undefined":return mu(t),Pe;case"Null":return mu(t),Oe;case"Function":case"function":return mu(t),Dt;case"array":return r&&r.length||$?void 0:Nt;case"promise":return r&&r.length||$?void 0:Qv(Ee);case"Object":if(r&&2===r.length){if(e.isJSDocIndexSignature(t)){var n=ld(r[0]),i=Gc(ld(r[1]),!1);return Vi(void 0,A,e.emptyArray,e.emptyArray,n===Le?i:void 0,n===Re?i:void 0)}return Ee}return mu(t),$?void 0:Ee}}}function vu(t){var r=Tn(t);if(!r.resolvedType){if(e.isConstTypeReference(t)&&e.isAssertionExpression(t.parent))return r.resolvedSymbol=be,r.resolvedType=Nh(t.parent.expression);var n=void 0,i=void 0,a=788968;gu(t)&&((i=yu(t))||((n=uu(cu(t),a,!0))===be?n=uu(cu(t),900095):uu(cu(t),a),i=lu(t,n))),i||(i=lu(t,n=uu(cu(t),a))),r.resolvedSymbol=n,r.resolvedType=i}return r.resolvedType}function hu(t){return e.map(t.typeArguments,ld)}function Du(e){var t=Tn(e);return t.resolvedType||(t.resolvedType=nd(Ip(Gh(e.exprName)))),t.resolvedType}function xu(t,r){function n(e){for(var t=0,r=e.declarations;t=0)return ol(e.map(r,(function(e,r){return 8&t.elementFlags[r]?e:Ne})))?eg(r[o],(function(n){return Uu(t,e.replaceElement(r,o,n))})):ke;if(e.findIndex(r,(function(e,r){return!(!(8&t.elementFlags[r])||58982400&e.flags||Ls(e))}))<0)return tu(t,r);for(var s,c=[],u=[],l=[],d=-1,_=function(o){var s=r[o],c=t.elementFlags[o];8&c?58982400&s.flags||Ls(s)?g(s,8,null===(n=t.labeledElementDeclarations)||void 0===n?void 0:n[o]):ap(s)?e.forEach(iu(s),(function(e,t){var r;return g(e,s.target.elementFlags[t],null===(r=s.target.labeledElementDeclarations)||void 0===r?void 0:r[t])})):g(H_(s)&&yc(s,1)||ke,4,null===(i=t.labeledElementDeclarations)||void 0===i?void 0:i[o]):g(s,c,null===(a=t.labeledElementDeclarations)||void 0===a?void 0:a[o])},p=0;p=0){for(var n=d;ni.fixedLength?function(e){var t=cp(e);return t&&Iu(t)}(t)||Ju(e.emptyArray):Ju(iu(t).slice(r,a),i.elementFlags.slice(r,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(r,a))}function qu(t){return $u(e.append(e.arrayOf(t.target.fixedLength,(function(e){return ad(""+e)})),pl(t.target.readonly?Et:St)))}function Wu(e){return e.id}function Hu(t,r){return e.binarySearch(t,r,Wu,e.compareValues)>=0}function Gu(t,r){var n=e.binarySearch(t,r,Wu,e.compareValues);return n<0&&(t.splice(~n,0,r),!0)}function Yu(t,r,n){var i=n.flags;if(1048576&i)return Xu(t,r,n.types);if(!(131072&i))if(r|=205258751&i,469499904&i&&(r|=262144),n===Te&&(r|=8388608),!G&&98304&i)524288&e.getObjectFlags(n)||(r|=4194304);else{var a=t.length,o=a&&n.id>t[a-1].id?~a:e.binarySearch(t,n,Wu,e.compareValues);o<0&&t.splice(~o,0,n)}return r}function Xu(e,t,r){for(var n=0,i=r;n0;)for(var o=t[--i],s=0,c=t;s(r?25e6:1e6))return e.tracing.instant("check","removeSubtypes_DepthLimit",{typeIds:t.map((function(e){return e.id}))}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1;if(a++,v_(o,u,nn)&&(!(1&e.getObjectFlags(go(o)))||!(1&e.getObjectFlags(go(u)))||Xd(o,u))){e.orderedRemoveItemAt(t,i);break}}}return!0}function $u(t,r,n,i){if(void 0===r&&(r=1),0===t.length)return We;if(1===t.length)return t[0];var a=[],o=Xu(a,0,t);if(0!==r){if(3&o)return 1&o?8388608&o?Te:Ee:Ne;switch(r){case 1:11136&o&&function(t,r){for(var n=t.length;n>0;){var i=t[--n];(128&i.flags&&4&r||256&i.flags&&8&r||2048&i.flags&&64&r||8192&i.flags&&4096&r||id(i)&&Hu(t,i.regularType))&&e.orderedRemoveItemAt(t,n)}}(a,o),128&o&&134217728&o&&function(t){var r=e.filter(t,El);if(r.length)for(var n=t.length,i=function(){n--;var i=t[n];128&i.flags&&e.some(r,(function(e){return Gd(i,e)}))&&e.orderedRemoveItemAt(t,n)};n>0;)i()}(a);break;case 2:if(!Qu(a,!(262144&o)))return ke}if(0===a.length)return 65536&o?4194304&o?Oe:Me:32768&o?4194304&o?Pe:we:We}return el(a,(469647395&o?0:262144)|(2097152&o?268435456:0),n,i)}function Zu(e,t){return e.kind===t.kind&&e.parameterIndex===t.parameterIndex}function el(e,t,r,n){if(0===e.length)return We;if(1===e.length)return e[0];var i=Zc(e),a=pe.get(i);return a||(a=Li(1048576),pe.set(i,a),a.objectFlags=t|eu(e,98304),a.types=e,a.aliasSymbol=r,a.aliasTypeArguments=n),a}function tl(e,t,r){var n=r.flags;return 2097152&n?rl(e,t,r.types):(f_(r)?16777216&t||(t|=16777216,e.set(r.id.toString(),r)):(3&n?r===Te&&(t|=8388608):!G&&98304&n||e.has(r.id.toString())||(109440&r.flags&&109440&t&&(t|=67108864),e.set(r.id.toString(),r)),t|=205258751&n),t)}function rl(e,t,r){for(var n=0,i=r;n0;){var i=t[--r];if(134217728&i.flags)for(var a=0,o=n;a0;){var i=t[--n];(4&i.flags&&128&r||8&i.flags&&256&r||64&i.flags&&2048&r||4096&i.flags&&8192&r)&&e.orderedRemoveItemAt(t,n)}}(o,a),16777216&a&&524288&a&&e.orderedRemoveItemAt(o,e.findIndex(o,f_)),0===o.length)return Ne;if(1===o.length)return o[0];var s=Zc(o),c=fe.get(s);if(!c){if(1048576&a)if(function(t){var r,n=e.findIndex(t,(function(t){return!!(262144&e.getObjectFlags(t))}));if(n<0)return!1;for(var i=n+1;i=1e5)||(e.tracing.instant("check","checkCrossProductUnion_DepthLimit",{typeIds:t.map((function(e){return e.id})),size:r}),_n(d,e.Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent),!1)}function sl(e,t){var r=Li(4194304);return r.type=e,r.stringsOnly=t,r}function cl(t){return!(!t||!(16777216&t.flags&&!t.root.isDistributive||137363456&t.flags&&e.some(t.types,cl)||272629760&t.flags&&cl(t.type)||8388608&t.flags&&cl(t.indexType)||33554432&t.flags&&cl(t.substitute)))}function ul(t){return e.isPrivateIdentifier(t)?We:e.isIdentifier(t)?ad(e.unescapeLeadingUnderscores(t.escapedText)):nd(e.isComputedPropertyName(t)?bm(t):Gh(t))}function ll(t,r){if(!(24&e.getDeclarationModifierFlagsFromSymbol(t))){var n=Cn(as(t)).nameType;if(!n&&!e.isKnownSymbol(t))if("default"===t.escapedName)n=ad("default");else{var i=t.valueDeclaration&&e.getNameOfDeclaration(t.valueDeclaration);n=i&&ul(i)||ad(e.symbolName(t))}if(n&&n.flags&r)return n}return We}function dl(t,r){return $u(e.map(Ks(t),(function(e){return ll(e,r)})))}function _l(e){var t=mc(e,1);return t!==fr?t:void 0}function pl(t,r,n){return void 0===r&&(r=ee),1048576&(t=oc(t)).flags?al(e.map(t.types,(function(e){return pl(e,r,n)}))):2097152&t.flags?$u(e.map(t.types,(function(e){return pl(e,r,n)}))):58982400&t.flags||op(t)||Ls(t)&&cl(As(t))?function(e,t){return t?e.resolvedStringIndexType||(e.resolvedStringIndexType=sl(e,!0)):e.resolvedIndexType||(e.resolvedIndexType=sl(e,!1))}(t,r):32&e.getObjectFlags(t)?function(e,t){var r=$f(ks(e),(function(e){return!(t&&5&e.flags)})),n=e.declaration.nameType&&ld(e.declaration.nameType);return n?eg(r,(function(t){return Md(n,Ed(e.mapper,Ts(e),t))})):r}(t,n):t===Te?Te:2&t.flags?We:131073&t.flags?Ze:r?!n&&mc(t,0)?Le:dl(t,128):!n&&mc(t,0)?$u([Le,Re,dl(t,8192)]):_l(t)?$u([Re,dl(t,8320)]):dl(t,8576)}function fl(t){if(ee)return t;var r=Zt||(Zt=Su("Extract",524288,e.Diagnostics.Cannot_find_global_type_0));return r?su(r,[t,Le]):Le}function gl(t,r){var n=e.findIndex(r,(function(e){return!!(1179648&e.flags)}));if(n>=0)return ol(r)?eg(r[n],(function(i){return gl(t,e.replaceElement(r,n,i))})):ke;if(e.contains(r,Te))return Te;var i=[],a=[],o=t[0];if(!function e(t,r){for(var n=0;n=0){if(o&&Qf(r,(function(e){return!e.target.hasRestElement}))&&!(8&s)){var g=bl(o);ap(r)?_n(g,e.Diagnostics.Tuple_type_0_of_length_1_has_no_element_at_index_2,ca(r),au(r),e.unescapeLeadingUnderscores(_)):_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r))}return b(mc(r,1)),eg(r,(function(e){var t=cp(e)||Pe;return c?$u([t,Pe]):t}))}}if(!(98304&n.flags)&&yh(n,402665900)){if(131073&r.flags)return r;var m=mc(r,0),y=yh(n,296)&&mc(r,1)||m;if(y)return 1&s&&y===m?void(d&&_n(d,e.Diagnostics.Type_0_cannot_be_used_to_index_type_1,ca(n),ca(t))):o&&!yh(n,12)?(_n(g=bl(o),e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n)),c?$u([y.type,Pe]):y.type):(b(y),c?$u([y.type,Pe]):y.type);if(131072&n.flags)return We;if(vl(r))return Ee;if(d&&!hh(r)){if(r.symbol===oe&&void 0!==_&&oe.exports.has(_)&&418&oe.exports.get(_).flags)_n(d,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.unescapeLeadingUnderscores(_),ca(r));else if($&&!V.suppressImplicitAnyIndexErrors&&!a)if(void 0!==_&&my(_,r))_n(d,e.Diagnostics.Property_0_is_a_static_member_of_type_1,_,ca(r));else if(yc(r,1))_n(d.argumentExpression,e.Diagnostics.Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number);else{var v=void 0;if(void 0!==_&&(v=hy(_,r)))void 0!==v&&_n(d.argumentExpression,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2,_,ca(r),v);else{var h=function(t,r,n){function i(e){var r=js(t,e);if(r){var i=jy(po(r));return!!i&&zv(i)>=1&&Yd(n,Bv(i,0))}return!1}var a=e.isAssignmentTarget(r)?"set":"get";if(!i(a))return;var o=e.tryGetPropertyAccessOrIdentifierToString(r.expression);void 0===o?o=a:o+="."+a;return o}(r,d,n);if(void 0!==h)_n(d,e.Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1,ca(r),h);else{var D=void 0;if(1024&n.flags)D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+ca(n)+"]",ca(r));else if(8192&n.flags){var x=li(n.symbol,d);D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,"["+x+"]",ca(r))}else 128&n.flags||256&n.flags?D=e.chainDiagnosticMessages(void 0,e.Diagnostics.Property_0_does_not_exist_on_type_1,n.value,ca(r)):12&n.flags&&(D=e.chainDiagnosticMessages(void 0,e.Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1,ca(n),ca(r)));D=e.chainDiagnosticMessages(D,e.Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1,ca(i),ca(r)),$r.add(e.createDiagnosticForNodeFromMessageChain(d,D))}}}return}}if(vl(r))return Ee;if(o){g=bl(o);384&n.flags?_n(g,e.Diagnostics.Property_0_does_not_exist_on_type_1,""+n.value,ca(r)):12&n.flags?_n(g,e.Diagnostics.Type_0_has_no_matching_index_signature_for_type_1,ca(r),ca(n)):_n(g,e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,ca(n))}return Aa(n)?n:void 0;function b(t){t&&t.isReadonly&&d&&(e.isAssignmentTarget(d)||e.isDeleteTarget(d))&&_n(d,e.Diagnostics.Index_signature_in_type_0_only_permits_reading,ca(r))}}function bl(e){return 202===e.kind?e.argumentExpression:189===e.kind?e.indexType:158===e.kind?e.expression:e}function Sl(e){return-1!==tt.types.indexOf(e)||!!(1&e.flags)}function El(t){return!!(134217728&t.flags)&&e.every(t.types,Sl)}function Cl(t){return 3145728&t.flags?(4194304&t.objectFlags||(t.objectFlags|=4194304|(e.some(t.types,Cl)?8388608:0)),!!(8388608&t.objectFlags)):!!(58982400&t.flags)||Ls(t)||op(t)}function Tl(t){return 3145728&t.flags?(16777216&t.objectFlags||(t.objectFlags|=16777216|(e.some(t.types,Tl)?33554432:0)),!!(33554432&t.objectFlags)):!!(465829888&t.flags)&&!El(t)}function kl(e){return!!(262144&e.flags&&e.isThisType)}function Al(t,r){return 8388608&t.flags?function(t,r){var n=r?"simplifiedForWriting":"simplifiedForReading";if(t[n])return t[n]===dt?t:t[n];t[n]=dt;var i=function(e){if(33554432&e.flags)return e.substitute;return e}(Al(t.objectType,r)),a=Al(t.indexType,r),o=function(t,r,n){if(1048576&r.flags){var i=e.map(r.types,(function(e){return Al(wl(t,e),n)}));return n?al(i):$u(i)}}(i,a,r);if(o)return t[n]=o;if(!(465829888&a.flags)){var s=Fl(i,a,r);if(s)return t[n]=s}if(op(i)&&296&a.flags){var c=lp(i,8&a.flags?0:i.target.fixedLength,0,r);if(c)return t[n]=c}if(Ls(i))return t[n]=eg(Pl(i,t.indexType),(function(e){return Al(e,r)}));return t[n]=t}(t,r):16777216&t.flags?function(e,t){var r=e.checkType,n=e.extendsType,i=jl(e),a=Jl(e);if(131072&a.flags&&Rl(i)===Rl(r)){if(1&r.flags||Yd(Rd(r),Rd(n)))return Al(i,t);if(Nl(r,n))return We}else if(131072&i.flags&&Rl(a)===Rl(r)){if(!(1&r.flags)&&Yd(Rd(r),Rd(n)))return We;if(1&r.flags||Nl(r,n))return Al(a,t)}return e}(t,r):t}function Fl(t,r,n){if(3145728&t.flags){var i=e.map(t.types,(function(e){return Al(wl(e,r),n)}));return 2097152&t.flags||n?al(i):$u(i)}}function Nl(e,t){return!!(131072&$u([ys(e,t),We]).flags)}function Pl(e,t){var r=gd([Ts(e)],[t]),n=xd(e.mapper,r);return Md(Fs(e),n)}function wl(e,t,r,n,i,a,o){return void 0===o&&(o=0),Ol(e,t,r,n,o,i,a)||(n?ke:Ne)}function Il(e,t){return Qf(e,(function(e){if(384&e.flags){var r=ts(e);if(xm(r)){var n=+r;return n>=0&&n=5e6)return e.tracing.instant("check","instantiateType_DepthLimit",{typeId:t.id,instantiationDepth:C,instantiationCount:b}),_n(d,e.Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite),ke;x++,b++,C++;var n=function(t,r){var n=t.flags;if(262144&n)return md(t,r);if(524288&n){var i=t.objectFlags;if(52&i){if(4&i&&!t.node){var a=t.resolvedTypeArguments,o=pd(a,r);return o!==a?zu(t.target,o):t}return function(t,r){var n=4&t.objectFlags?t.node:t.symbol.declarations[0],i=Tn(n),a=4&t.objectFlags?i.resolvedType:64&t.objectFlags?t.target:t,o=i.outerTypeParameters;if(!o){var s=vo(n,!0);if(hv(n)){var c=hc(n);s=e.addRange(s,c)}o=s||e.emptyArray,o=(4&a.objectFlags||2048&a.symbol.flags)&&!a.aliasTypeArguments?e.filter(o,(function(e){return Ad(e,n)})):o,i.outerTypeParameters=o}if(o.length){var u=xd(t.mapper,r),l=e.map(o,(function(e){return md(e,u)})),d=Zc(l);a.instantiations||(a.instantiations=new e.Map,a.instantiations.set(Zc(o),a));var _=a.instantiations.get(d);if(!_){var p=gd(o,l);_=4&a.objectFlags?nu(t.target,t.node,p):32&a.objectFlags?Nd(a,p):Id(a,p),a.instantiations.set(d,_)}return _}return t}(t,r)}return t}if(3145728&n){var s=t.types,c=pd(s,r);return c===s?t:2097152&n?al(c,t.aliasSymbol,pd(t.aliasTypeArguments,r)):$u(c,1,t.aliasSymbol,pd(t.aliasTypeArguments,r))}if(4194304&n)return pl(Md(t.type,r));if(134217728&n)return gl(t.texts,pd(t.types,r));if(268435456&n)return yl(t.symbol,Md(t.type,r));if(8388608&n)return wl(Md(t.objectType,r),Md(t.indexType,r),t.noUncheckedIndexedAccessCandidate,void 0,t.aliasSymbol,pd(t.aliasTypeArguments,r));if(16777216&n)return Od(t,xd(t.mapper,r));if(33554432&n){var u=Md(t.baseType,r);if(8650752&u.flags)return du(u,Md(t.substitute,r));var l=Md(t.substitute,r);return 3&l.flags||Yd(Rd(u),Rd(l))?u:l}return t}(t,r);return C--,n}function Ld(e){return 262143&e.flags?e:e.permissiveInstantiation||(e.permissiveInstantiation=Md(e,nt))}function Rd(e){return 262143&e.flags?e:(e.restrictiveInstantiation||(e.restrictiveInstantiation=Md(e,rt),e.restrictiveInstantiation.restrictiveInstantiation=e.restrictiveInstantiation),e.restrictiveInstantiation)}function Bd(e,t){return e&&Gc(Md(e.type,t),e.isReadonly,e.declaration)}function jd(t){switch(e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t)),t.kind){case 208:case 209:case 165:case 251:return Jd(t);case 200:return e.some(t.properties,jd);case 199:return e.some(t.elements,jd);case 217:return jd(t.whenTrue)||jd(t.whenFalse);case 216:return(56===t.operatorToken.kind||60===t.operatorToken.kind)&&(jd(t.left)||jd(t.right));case 288:return jd(t.initializer);case 207:return jd(t.expression);case 281:return e.some(t.properties,jd)||e.isJsxOpeningElement(t.parent)&&e.some(t.parent.parent.children,jd);case 280:var r=t.initializer;return!!r&&jd(r);case 283:var n=t.expression;return!!n&&jd(n)}return!1}function Jd(t){return(!e.isFunctionDeclaration(t)||e.isInJSFile(t)&&!!Ma(t))&&(Kd(t)||function(t){return!t.typeParameters&&!e.getEffectiveReturnTypeNode(t)&&!!t.body&&230!==t.body.kind&&jd(t.body)}(t))}function Kd(t){if(!t.typeParameters){if(e.some(t.parameters,(function(t){return!e.getEffectiveTypeAnnotationNode(t)})))return!0;if(209!==t.kind){var r=e.firstOrUndefined(t.parameters);if(!r||!e.parameterIsThisKeyword(r))return!0}}return!1}function zd(t){return(e.isInJSFile(t)&&e.isFunctionDeclaration(t)||pm(t)||e.isObjectLiteralMethod(t))&&Jd(t)}function Ud(t){if(524288&t.flags){var r=Rs(t);if(r.constructSignatures.length||r.callSignatures.length){var n=ji(16,t.symbol);return n.members=r.members,n.properties=r.properties,n.callSignatures=e.emptyArray,n.constructSignatures=e.emptyArray,n}}else if(2097152&t.flags)return al(e.map(t.types,Ud));return t}function Vd(e,t){return v_(e,t,sn)}function qd(e,t){return v_(e,t,sn)?-1:0}function Wd(e,t){return v_(e,t,an)?-1:0}function Hd(e,t){return v_(e,t,rn)?-1:0}function Gd(e,t){return v_(e,t,rn)}function Yd(e,t){return v_(e,t,an)}function Xd(t,r){return 1048576&t.flags?e.every(t.types,(function(e){return Xd(e,r)})):1048576&r.flags?e.some(r.types,(function(e){return Xd(t,e)})):58982400&t.flags?Xd(Gs(t)||Ne,r):r===ht?!!(67633152&t.flags):r===Dt?!!(524288&t.flags)&&Pf(t):mo(t,go(r))||U_(r)&&!V_(r)&&Xd(t,Et)}function Qd(e,t){return v_(e,t,on)}function $d(e,t){return Qd(e,t)||Qd(t,e)}function Zd(e,t,r,n,i,a){return x_(e,t,an,r,n,i,a)}function e_(e,t,r,n,i,a){return t_(e,t,an,r,n,i,a,void 0)}function t_(e,t,r,n,i,a,o,s){return!!v_(e,t,r)||(!n||!n_(i,e,t,r,a,o,s))&&x_(e,t,r,n,a,o,s)}function r_(t){return!!(16777216&t.flags||2097152&t.flags&&e.some(t.types,r_))}function n_(t,r,i,a,s,c,u){if(!t||r_(i))return!1;if(!x_(r,i,a,void 0)&&function(t,r,n,i,a,o,s){for(var c=pc(r,0),u=pc(r,1),l=0,d=[u,c];l1,v=$f(g,X_),h=$f(g,(function(e){return!X_(e)}));if(y){if(v!==We){var D=Ju(Nm(d,0));l=o_(function(t,r){var n,i,a,s,c;return o(this,(function(o){switch(o.label){case 0:if(!e.length(t.children))return[2];n=0,i=0,o.label=1;case 1:return iu:zv(t)>u))return 0;t.typeParameters&&t.typeParameters!==r.typeParameters&&(t=zy(t,r=Uc(r),void 0,s));var l=Kv(t),d=qv(t),_=qv(r);if((d||_)&&Md(d||_,c),d&&_&&l!==u)return 0;var p=r.declaration?r.declaration.kind:0,f=!(3&n)&&Y&&165!==p&&164!==p&&166!==p,g=-1,m=Ic(t);if(m&&m!==qe){var y=Ic(r);if(y){if(!(S=!f&&s(m,y,!1)||s(y,m,i)))return i&&a(e.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=S}}for(var v=d||_?Math.min(l,u):Math.max(l,u),h=d||_?v-1:-1,D=0;D=zv(t)&&D0||wb(c));if(f&&!function(e,t,r){for(var n=0,i=Ks(e);n0&&B(Mc(g[0]),u,!1)||y.length>0&&B(Mc(y[0]),u,!1)?M(e.Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it,ca(c),ca(u)):M(e.Diagnostics.Type_0_has_no_properties_in_common_with_type_1,ca(c),ca(u))}return 0}var v=0,h=w();if(1048576&c.flags?v=i===on?K(c,u,n&&!(131068&c.flags),s):function(e,t,r,n){for(var i=-1,a=e.types,o=0;o0;if(d&&x--,524288&i.flags&&524288&s.flags){var _=l;R(i,s,n),l!==_&&(d=!!l)}if(524288&i.flags&&131068&s.flags)!function(t,r){var n=da(t.symbol)?ca(t,t.symbol.valueDeclaration):ca(t),i=da(r.symbol)?ca(r,r.symbol.valueDeclaration):ca(r);(Ct===t&&Le===r||Tt===t&&Re===r||kt===t&&Ue===r||Tu(!1)===t&&Ve===r)&&M(e.Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,i,n)}(i,s);else if(i.symbol&&524288&i.flags&&ht===i)M(e.Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);else if(u&&2097152&s.flags){var p=s.types,f=Im(N.IntrinsicAttributes,a),g=Im(N.IntrinsicClassAttributes,a);if(f!==ke&&g!==ke&&(e.contains(p,f)||e.contains(p,g)))return c}else l=lc(l,r);if(!o&&d)return m=[i,s],c;L(o,i,s)}}}function j(e,t){for(var r=-1,n=0,i=e.types;n25)return e.tracing.instant("check","typeRelatedToDiscriminatedType_DepthLimit",{sourceId:t.id,targetId:r.id,numCombinations:a}),0}for(var c=new Array(n.length),u=new e.Set,l=0;l5?M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more,ca(t),ca(n),e.map(m.slice(0,4),(function(e){return oa(e)})).join(", "),m.length-4):M(e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2,ca(t),ca(n),e.map(m,(function(e){return oa(e)})).join(", ")),s&&l&&x++)}function X(t,r,n,a,o){if(i===sn)return function(e,t,r){if(!(524288&e.flags&&524288&t.flags))return 0;var n=W(Bs(e),r),i=W(Bs(t),r);if(n.length!==i.length)return 0;for(var a=-1,o=0,s=n;o0||pc(t,n=1).length>0)return e.find(r.types,(function(e){return pc(e,n).length>0}))}(t,r)||function(t,r){for(var n,i=0,a=0,o=r.types;a=i&&(n=s,i=u)}else $_(c)&&1>=i&&(n=s,i=1)}return n}(t,r)}function E_(t,r,n,i,a){for(var o=t.types.map((function(e){})),s=0,c=r;s0&&e.every(r.properties,(function(e){return!!(16777216&e.flags)}))}return!!(2097152&t.flags)&&e.every(t.types,C_)}function T_(t,r,n){var i=tu(t,e.map(t.typeParameters,(function(e){return e===r?n:e})));return i.objectFlags|=8192,i}function k_(e){var t=Cn(e);return A_(t.typeParameters,t,(function(r,n,i){var a=su(e,pd(t.typeParameters,yd(n,i)));return a.aliasTypeArgumentsContainsMarker=!0,a}))}function A_(t,r,n){var i,a,o;void 0===t&&(t=e.emptyArray);var s=r.variances;if(!s){e.tracing.push("check","getVariancesWorker",{arity:t.length,id:null!==(o=null!==(i=r.id)&&void 0!==i?i:null===(a=r.declaredType)||void 0===a?void 0:a.id)&&void 0!==o?o:-1}),r.variances=e.emptyArray,s=[];for(var c=function(e){var t=!1,i=!1,a=sr;sr=function(e){return e?i=!0:t=!0};var o=n(r,e,pt),c=n(r,e,ft),u=(Yd(c,o)?1:0)|(Yd(o,c)?2:0);3===u&&Yd(n(r,e,cr),o)&&(u=4),sr=a,(t||i)&&(t&&(u|=8),i&&(u|=16)),s.push(u)},u=0,l=t;u":n+="-"+o.id}return n}function I_(e,t,r,n){if(n===sn&&e.id>t.id){var i=e;e=t,t=i}var a=r?":"+r:"";if(P_(e)&&P_(t)){var o=[];return w_(e,o)+","+w_(t,o)+a}return e.id+","+t.id+a}function O_(t,r){if(!(6&e.getCheckFlags(t)))return r(t);for(var n=0,i=t.containingType.types;n=5){var n=B_(e);if(n)for(var i=0,a=0;a=5)return!0}return!1}function B_(t){if(524288&t.flags&&!df(t)){if(e.getObjectFlags(t)&&t.node)return t.node;if(t.symbol&&!(16&e.getObjectFlags(t)&&32&t.symbol.flags))return t.symbol;if(ap(t))return t.target}if(8388608&t.flags){do{t=t.objectType}while(8388608&t.flags);return t}if(16777216&t.flags)return t.root}function j_(e,t){return 0!==J_(e,t,qd)}function J_(t,r,n){if(t===r)return-1;var i=24&e.getDeclarationModifierFlagsFromSymbol(t);if(i!==(24&e.getDeclarationModifierFlagsFromSymbol(r)))return 0;if(i){if(qx(t)!==qx(r))return 0}else if((16777216&t.flags)!=(16777216&r.flags))return 0;return dh(t)!==dh(r)?0:n(po(t),po(r))}function K_(t,r,n,i,a,o){if(t===r)return-1;if(!function(e,t,r){var n=Kv(e),i=Kv(t),a=zv(e),o=zv(t),s=Uv(e),c=Uv(t);return n===i&&a===o&&s===c||!!(r&&a<=o)}(t,r,n))return 0;if(e.length(t.typeParameters)!==e.length(r.typeParameters))return 0;if(r.typeParameters){for(var s=gd(t.typeParameters,r.typeParameters),c=0;c-1&&(Pn(o,o.name.escapedText,788968,void 0,o.name.escapedText,!0)||o.name.originalKeywordKind&&e.isTypeNodeKind(o.name.originalKeywordKind))){var s="arg"+o.parent.parameters.indexOf(o);return void fn($,t,e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1,s,e.declarationNameToString(o.name))}a=t.dotDotDotToken?$?e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type:e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:$?e.Diagnostics.Parameter_0_implicitly_has_an_1_type:e.Diagnostics.Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage;break;case 198:if(a=e.Diagnostics.Binding_element_0_implicitly_has_an_1_type,!$)return;break;case 308:return void _n(t,e.Diagnostics.Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);case 251:case 165:case 164:case 167:case 168:case 208:case 209:if($&&!t.name)return void _n(t,3===n?e.Diagnostics.Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:e.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,i);a=$?3===n?e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:e.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:e.Diagnostics._0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage;break;case 190:return void($&&_n(t,e.Diagnostics.Mapped_object_type_implicitly_has_an_any_template_type));default:a=$?e.Diagnostics.Variable_0_implicitly_has_an_1_type:e.Diagnostics.Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage}fn($,t,a,e.declarationNameToString(e.getNameOfDeclaration(t)),i)}}function Rp(t,r,n){!(i&&$&&524288&e.getObjectFlags(r))||n&&fm(t)||Mp(r)||Lp(t,r,n)}function Bp(e,t,r){var n=Kv(e),i=Kv(t),a=Vv(e),o=Vv(t),s=o?i-1:i,c=a?s:Math.min(n,s),u=Ic(e);if(u){var l=Ic(t);l&&r(u,l)}for(var d=0;d0?c.indexOf(d,u):u0)for(var b=0,S=r;be.target.minLength||!t.target.hasRestElement&&(e.target.hasRestElement||t.target.fixedLength0&&4&t.target.elementFlags[s-1]?iu(t)[s-1]:void 0,m=12&r.target.combinedFlags?p?up(r):Math.min(up(t),up(r)):0,y=p?0:m;for(d=0;d<_;d++)f(iu(t)[d],u[d]);if(p&&s-_==1)for(d=_;d1){var r=e.filter(t,df);if(r.length){var n=$u(r,2);return e.concatenate(e.filter(t,(function(e){return!df(e)})),[n])}}return t}(t.candidates),i=function(e){var t=Us(e);return!!t&&mh(16777216&t.flags?qs(t):t,406978556)}(t.typeParameter),a=!i&&t.topLevel&&(t.isFixed||!Yp(Mc(r),t.typeParameter)),o=i?e.sameMap(n,nd):a?e.sameMap(n,tp):n;return Ip(208&t.priority?$u(o,2):function(t){if(!G)return z_(t);var r=e.filter(t,(function(e){return!(98304&e.flags)}));return r.length?yp(z_(r),98304&_p(t)):$u(t,2)}(o))}function ff(t,r){var n=t.inferences[r];if(!n.inferredType){var i=void 0,a=t.signature;if(a){var o=n.candidates?pf(n,a):void 0;if(n.contraCandidates){var s=_f(n);i=!o||131072&o.flags||!Gd(o,s)?s:o}else if(o)i=o;else if(1&t.flags)i=He;else{var c=Zs(n.typeParameter);c&&(i=Md(c,bd(function(t,r){return vd((function(n){return e.findIndex(t.inferences,(function(e){return e.typeParameter===n}))>=r?Ne:n}))}(t,r),t.nonFixingMapper)))}}else i=tf(n);n.inferredType=i||gf(!!(2&t.flags));var u=Us(n.typeParameter);if(u){var l=Md(u,t.nonFixingMapper);i&&t.compareTypes(i,os(l,i))||(n.inferredType=i=l)}}return n.inferredType}function gf(e){return e?Ee:Ne}function mf(e){for(var t=[],r=0;r=0&&r.parameterIndex=n&&c-1){var l=a.filter((function(e){return void 0!==e})),d=c=2||0==(34&r.flags)||e.isSourceFile(r.valueDeclaration)||287===r.valueDeclaration.parent.kind)return;var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration),i=function(t,r){return!!e.findAncestor(t,(function(t){return t===r?"quit":e.isFunctionLike(t)}))}(t.parent,n),a=n,o=!1;for(;a&&!e.nodeStartsNewLexicalEnvironment(a);){if(e.isIterationStatement(a,!1)){o=!0;break}a=a.parent}if(o){if(i){var s=!0;if(e.isForStatement(n))if((d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n){var c=function(t,r){return e.findAncestor(t,(function(e){return e===r?"quit":e===r.initializer||e===r.condition||e===r.incrementor||e===r.statement}))}(t.parent,n);if(c){var u=Tn(c);u.flags|=131072;var l=u.capturedBlockScopeBindings||(u.capturedBlockScopeBindings=[]);e.pushIfUnique(l,r),c===n.initializer&&(s=!1)}}s&&(Tn(a).flags|=65536)}var d;if(e.isForStatement(n))(d=e.getAncestor(r.valueDeclaration,250))&&d.parent===n&&function(t,r){var n=t;for(;207===n.parent.kind;)n=n.parent;var i=!1;if(e.isAssignmentTarget(n))i=!0;else if(214===n.parent.kind||215===n.parent.kind){var a=n.parent;i=45===a.operator||46===a.operator}if(!i)return!1;return!!e.findAncestor(n,(function(e){return e===r?"quit":e===r.statement}))}(t,n)&&(Tn(r.valueDeclaration).flags|=4194304);Tn(r.valueDeclaration).flags|=524288}i&&(Tn(r.valueDeclaration).flags|=262144)}(t,r);var s=Ag(po(i),t),c=e.getAssignmentTargetKind(t);if(c){if(!(3&i.flags||e.isInJSFile(t)&&512&i.flags))return _n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,oa(r)),ke;if(dh(i))return 3&i.flags?_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant,oa(r)):_n(t,e.Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property,oa(r)),ke}var u=2097152&i.flags;if(3&i.flags){if(1===c)return s}else{if(!u)return s;o=e.find(r.declarations,j)}if(!o)return s;for(var l=160===e.getRootDeclaration(o).kind,d=bg(o),_=bg(t),p=_!==d,f=t.parent&&t.parent.parent&&e.isSpreadAssignment(t.parent)&&jf(t.parent.parent),g=134217728&r.flags;_!==d&&(208===_.kind||209===_.kind||e.isObjectLiteralOrClassExpressionMethod(_))&&(Cg(i)||l&&!Sg(i));)_=bg(_);var m=l||u||p||f||g||e.isBindingElement(o)||s!==Ce&&s!==Pt&&(!G||0!=(16387&s.flags)||hf(t)||270===t.parent.kind)||225===t.parent.kind||249===o.kind&&o.exclamationToken||8388608&o.flags,y=xg(t,s,m?l?function(e,t){if(ba(t.symbol,2)){var r=G&&160===t.kind&&t.initializer&&32768&pp(e)&&!(32768&pp(Gh(t.initializer)));return Ca(),r?If(e,524288):e}return _o(t.symbol),e}(s,o):s:s===Ce||s===Pt?Pe:vp(s),_,!m);if(_g(t)||s!==Ce&&s!==Pt){if(!m&&!(32768&pp(s))&&32768&pp(y))return _n(t,e.Diagnostics.Variable_0_is_used_before_being_assigned,oa(r)),s}else if(y===Ce||y===Pt)return $&&(_n(e.getNameOfDeclaration(o),e.Diagnostics.Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,oa(r),ca(y)),_n(t,e.Diagnostics.Variable_0_implicitly_has_an_1_type,oa(r),ca(y))),XD(y);return c?ep(y):y}function Pg(e,t){(Tn(e).flags|=2,163===t.kind||166===t.kind)?Tn(t.parent).flags|=4:Tn(t).flags|=4}function wg(t){return e.isSuperCall(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,wg)}function Ig(e){return To(Jo(ki(e)))===Me}function Og(t,r,n){var i=r.parent;e.getClassExtendsHeritageElement(i)&&!Ig(i)&&t.flowNode&&!Dg(t.flowNode,!1)&&_n(t,n)}function Mg(t){var r=e.getThisContainer(t,!0),n=!1;switch(166===r.kind&&Og(t,r,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class),209===r.kind&&(r=e.getThisContainer(r,!1),n=!0),r.kind){case 256:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 255:_n(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 166:Rg(t,r)&&_n(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 163:case 162:!e.hasSyntacticModifier(r,32)||99===V.target&&V.useDefineForClassFields||_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 158:_n(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name)}n&&q<2&&Pg(t,r);var i=Lg(t,!0,r);if(Z){var a=po(oe);if(i===a&&n)_n(t,e.Diagnostics.The_containing_arrow_function_captures_the_global_value_of_this);else if(!i){var o=_n(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);if(!e.isSourceFile(r)){var s=Lg(r);s&&s!==a&&e.addRelatedInfo(o,e.createDiagnosticForNode(r,e.Diagnostics.An_outer_value_of_this_is_shadowed_by_this_container))}}}return i||Ee}function Lg(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=e.getThisContainer(t,!1));var i=e.isInJSFile(t);if(e.isFunctionLike(n)&&(!Vg(t)||e.getThisParameter(n))){var a=ao(n)||i&&function(t){var r=e.getJSDocType(t);if(r&&308===r.kind){var n=r;if(n.parameters.length>0&&n.parameters[0].name&&"this"===n.parameters[0].name.escapedText)return ld(n.parameters[0].type)}var i=e.getJSDocThisTag(t);if(i&&i.typeExpression)return ld(i.typeExpression)}(n);if(!a){var o=function(t){if(208===t.kind&&e.isBinaryExpression(t.parent)&&3===e.getAssignmentDeclarationKind(t.parent))return t.parent.left.expression.expression;if(165===t.kind&&200===t.parent.kind&&e.isBinaryExpression(t.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.left.expression;if(208===t.kind&&288===t.parent.kind&&200===t.parent.parent.kind&&e.isBinaryExpression(t.parent.parent.parent)&&6===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.left.expression;if(208===t.kind&&e.isPropertyAssignment(t.parent)&&e.isIdentifier(t.parent.name)&&("value"===t.parent.name.escapedText||"get"===t.parent.name.escapedText||"set"===t.parent.name.escapedText)&&e.isObjectLiteralExpression(t.parent.parent)&&e.isCallExpression(t.parent.parent.parent)&&t.parent.parent.parent.arguments[2]===t.parent.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent.parent))return t.parent.parent.parent.arguments[0].expression;if(e.isMethodDeclaration(t)&&e.isIdentifier(t.name)&&("value"===t.name.escapedText||"get"===t.name.escapedText||"set"===t.name.escapedText)&&e.isObjectLiteralExpression(t.parent)&&e.isCallExpression(t.parent.parent)&&t.parent.parent.arguments[2]===t.parent&&9===e.getAssignmentDeclarationKind(t.parent.parent))return t.parent.parent.arguments[0].expression}(n);if(i&&o){var s=Gh(o).symbol;s&&s.members&&16&s.flags&&(a=Jo(s).thisType)}else hv(n)&&(a=Jo(Ti(n.symbol)).thisType);a||(a=Kg(n))}if(a)return xg(t,a)}if(e.isClassLike(n.parent)){var c=ki(n.parent);return xg(t,e.hasSyntacticModifier(n,32)?po(c):Jo(c).thisType)}if(e.isSourceFile(n)){if(n.commonJsModuleIndicator){var u=ki(n);return u&&po(u)}if(n.externalModuleIndicator)return Pe;if(r)return po(oe)}}function Rg(t,r){return!!e.findAncestor(t,(function(t){return e.isFunctionLikeDeclaration(t)?"quit":160===t.kind&&t.parent===r}))}function Bg(t){var r=203===t.parent.kind&&t.parent.expression===t,n=e.getSuperContainer(t,!0),i=n,a=!1;if(!r)for(;i&&209===i.kind;)i=e.getSuperContainer(i,!0),a=q<2;var o=0;if(!function(t){if(!t)return!1;if(r)return 166===t.kind;if(e.isClassLike(t.parent)||200===t.parent.kind)return e.hasSyntacticModifier(t,32)?165===t.kind||164===t.kind||167===t.kind||168===t.kind:165===t.kind||164===t.kind||167===t.kind||168===t.kind||163===t.kind||162===t.kind||166===t.kind;return!1}(i)){var s=e.findAncestor(t,(function(e){return e===i?"quit":158===e.kind}));return s&&158===s.kind?_n(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?_n(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):i&&i.parent&&(e.isClassLike(i.parent)||200===i.parent.kind)?_n(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):_n(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions),ke}if(r||166!==n.kind||Og(t,i,e.Diagnostics.super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class),o=e.hasSyntacticModifier(i,32)||r?512:256,Tn(t).flags|=o,165===i.kind&&e.hasSyntacticModifier(i,256)&&(e.isSuperProperty(t.parent)&&e.isAssignmentTarget(t.parent)?Tn(i).flags|=4096:Tn(i).flags|=2048),a&&Pg(t.parent,i),200===i.parent.kind)return q<2?(_n(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher),ke):Ee;var c=i.parent;if(!e.getClassExtendsHeritageElement(c))return _n(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),ke;var u=Jo(ki(c)),l=u&&Ao(u)[0];return l?166===i.kind&&Rg(t,i)?(_n(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments),ke):512===o?To(u):os(l,u.thisType):ke}function jg(t){return 4&e.getObjectFlags(t)&&t.target===Ft?iu(t)[0]:void 0}function Jg(t){return eg(t,(function(t){return 2097152&t.flags?e.forEach(t.types,jg):jg(t)}))}function Kg(t){if(209!==t.kind){if(zd(t)){var r=gm(t);if(r){var n=r.thisParameter;if(n)return po(n)}}var i=e.isInJSFile(t);if(Z||i){var a=function(e){return 165!==e.kind&&167!==e.kind&&168!==e.kind||200!==e.parent.kind?208===e.kind&&288===e.parent.kind?e.parent.parent:void 0:e.parent}(t);if(a){for(var o=am(a),s=a,c=o;c;){var u=Jg(c);if(u)return Md(u,Wp(um(a)));if(288!==s.parent.kind)break;c=am(s=s.parent.parent)}return Ip(o?hp(o):Nh(a))}var l=e.walkUpParenthesizedExpressions(t.parent);if(216===l.kind&&62===l.operatorToken.kind){var d=l.left;if(e.isAccessExpression(d)){var _=d.expression;if(i&&e.isIdentifier(_)){var p=e.getSourceFileOfNode(l);if(p.commonJsModuleIndicator&&vf(_)===p.symbol)return}return Ip(Nh(_))}}}}}function zg(t){var r=t.parent;if(zd(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n&&n.arguments){var i=Qy(n),a=r.parameters.indexOf(t);if(t.dotDotDotToken)return qy(i,a,i.length,Ee,void 0,0);var o=Tn(n),s=o.resolvedSignature;o.resolvedSignature=lr;var c=a=0?void 0:po(o);if(ap(t)){var s=cp(t);if(s&&xm(r)&&+r>=0)return s}return xm(r)&&Zg(t,1)||Zg(t,0)}var c}),!0)}function Zg(e,t){return eg(e,(function(e){return gc(e,t)}),!0)}function em(e,t){var r=am(e.parent,t);if(r){if(!es(e)){var n=$g(r,ki(e).escapedName);if(n)return n}return hm(e.name)&&Zg(r,1)||Zg(r,0)}}function tm(e,t){return e&&($g(e,""+t)||eg(e,(function(e){return lx(1,e,Pe,void 0,!1)}),!0))}function rm(t){var r=t.parent;return e.isJsxAttributeLike(r)?cm(t):e.isJsxElement(r)?function(t,r){var n=am(t.openingElement.tagName),i=Bm(Lm(t));if(n&&!Aa(n)&&i&&""!==i){var a=e.getSemanticJsxChildren(t.children),o=a.indexOf(r),s=$g(n,i);return s&&(1===a.length?s:eg(s,(function(e){return H_(e)?wl(e,ad(o)):e}),!0))}}(r,t):void 0}function nm(t){if(e.isJsxAttribute(t)){var r=am(t.parent);if(!r||Aa(r))return;return $g(r,t.name.escapedText)}return cm(t.parent)}function im(e){switch(e.kind){case 10:case 8:case 9:case 14:case 109:case 94:case 103:case 78:case 150:return!0;case 201:case 207:return im(e.expression);case 283:return!e.expression||im(e.expression)}return!1}function am(t,r){var n=om(e.isObjectLiteralMethod(t)?function(t,r){if(e.Debug.assert(e.isObjectLiteralMethod(t)),!(16777216&t.flags))return em(t,r)}(t,r):cm(t,r),t,r);if(n&&!(r&&2&r&&8650752&n.flags)){var i=eg(n,tc,!0);if(1048576&i.flags){if(e.isObjectLiteralExpression(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&288===e.kind&&im(e.initializer)&&Tf(r,e.symbol.escapedName)})),(function(e){return[function(){return Gh(e.initializer)},e.symbol.escapedName]})),Yd,r)}(t,i);if(e.isJsxAttributes(t))return function(t,r){return E_(r,e.map(e.filter(t.properties,(function(e){return!!e.symbol&&280===e.kind&&Tf(r,e.symbol.escapedName)&&(!e.initializer||im(e.initializer))})),(function(e){return[e.initializer?function(){return Gh(e.initializer)}:function(){return Ke},e.symbol.escapedName]})),Yd,r)}(t,i)}return i}}function om(t,r,n){if(t&&mh(t,465829888)){var i=um(r);if(i&&e.some(i.inferences,Kh)){if(n&&1&n)return sm(t,i.nonFixingMapper);if(i.returnMapper)return sm(t,i.returnMapper)}}return t}function sm(t,r){return 465829888&t.flags?Md(t,r):1048576&t.flags?$u(e.map(t.types,(function(e){return sm(e,r)})),0):2097152&t.flags?al(e.map(t.types,(function(e){return sm(e,r)}))):t}function cm(t,r){if(16777216&t.flags);else{if(t.contextualType)return t.contextualType;var n=t.parent;switch(n.kind){case 249:case 160:case 163:case 162:case 198:return function(t,r){var n=t.parent;if(e.hasInitializer(n)&&t===n.initializer){var i=Ug(n);if(i)return i;if(!(8&r)&&e.isBindingPattern(n.name))return Qa(n.name,!0,!1)}}(t,r);case 209:case 242:return function(t){var r=e.getContainingFunction(t);if(r){var n=Wg(r);if(n){var i=e.getFunctionFlags(r);if(1&i){var a=mx(n,2&i?2:1,void 0);if(!a)return;n=a.returnType}if(2&i){var o=eg(n,vD);return o&&$u([o,$v(o)])}return n}}}(t);case 219:return function(t){var r=e.getContainingFunction(t);if(r){var n=e.getFunctionFlags(r),i=Wg(r);if(i)return t.asteriskToken?i:wx(0,i,0!=(2&n))}}(n);case 213:return function(e,t){var r=cm(e,t);if(r){var n=vD(r);return n&&$u([n,$v(n)])}}(n,r);case 203:if(99===n.expression.kind)return Le;case 204:return Hg(n,t);case 206:case 224:return e.isConstTypeReference(n.type)?function(t){if(e.isCallLikeExpression(t.parent))return Hg(t.parent,t);return}(n):ld(n.type);case 216:return Yg(t,r);case 288:case 289:return em(n,r);case 290:return am(n.parent,r);case 199:var i=n;return tm(am(i,r),e.indexOfNode(i.elements,t));case 217:return function(e,t){var r=e.parent;return e===r.whenTrue||e===r.whenFalse?cm(r,t):void 0}(t,r);case 228:return e.Debug.assert(218===n.parent.kind),function(e,t){if(205===e.parent.kind)return Hg(e.parent,t)}(n.parent,t);case 207:var a=e.isInJSFile(n)?e.getJSDocTypeTag(n):void 0;return a?ld(a.typeExpression.type):cm(n,r);case 283:return rm(n);case 280:case 282:return nm(n);case 275:case 274:return function(t,r){if(e.isJsxOpeningElement(t)&&t.parent.contextualType&&4!==r)return t.parent.contextualType;return Gg(t,0)}(n,r)}}}function um(t){var r=e.findAncestor(t,(function(e){return!!e.inferenceContext}));return r&&r.inferenceContext}function lm(t,r){return 0!==Hy(r)?function(e,t){var r=Hv(e,Ne);r=dm(t,Lm(t),r);var n=Im(N.IntrinsicAttributes,t);n!==ke&&(r=ys(n,r));return r}(t,r):function(t,r){var n=Lm(r),i=(o=n,Rm(N.ElementAttributesPropertyNameContainer,o)),a=void 0===i?Hv(t,Ne):""===i?Mc(t):function(e,t){if(e.unionSignatures){for(var r=[],n=0,i=e.unionSignatures;n=2)return tu(o,c=kc([s,n],o.typeParameters,2,e.isInJSFile(t)));if(e.length(o.aliasTypeArguments)>=2){var c=kc([s,n],o.aliasTypeArguments,2,e.isInJSFile(t));return su(o.aliasSymbol,c)}}return n}function _m(t,r){var n=pc(t,0);if(1===n.length){var i=n[0];if(!function(t,r){for(var n=0;n0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),!Tm(A=oc(Gh(C.expression))))return _n(C,e.Diagnostics.Spread_types_may_only_be_created_from_object_types),ke;i&&Pm(A,i,C),s=Ql(s,A,t.symbol,g,l),b=o.length;continue}e.Debug.assert(167===C.kind||168===C.kind),_b(C)}!k||8576&k.flags?a.set(T.escapedName,T):Yd(k,$e)&&(Yd(k,Re)?v=!0:y=!0,n&&(m=!0)),o.push(T)}if(u&&290!==t.parent.kind)for(var I=0,O=Ks(c);I0&&(s=Ql(s,M(),t.symbol,g,l),o=[],a=e.createSymbolTable(),y=!1,v=!1),eg(s,(function(e){return e===it?M():e}))):M();function M(){var r=y?Sm(t,b,o,0):void 0,i=v?Sm(t,b,o,1):void 0,s=Vi(t.symbol,a,e.emptyArray,e.emptyArray,r,i);return s.objectFlags|=1048704|g,f&&(s.objectFlags|=16384),m&&(s.objectFlags|=512),n&&(s.pattern=t),s}}function Tm(t){if(465829888&t.flags){var r=Gs(t);if(void 0!==r)return Tm(r)}return!!(126615553&t.flags||117632&pp(t)&&Tm(fp(t))||3145728&t.flags&&e.every(t.types,Tm))}function km(t){return!e.stringContains(t,"-")}function Am(t){return 78===t.kind&&e.isIntrinsicJsxName(t.escapedText)}function Fm(e,t){return e.initializer?Lh(e.initializer,t):Ke}function Nm(e,t){for(var r=[],n=0,i=e.children;n0&&(s=Ql(s,E(),i.symbol,l,!1),o=e.createSymbolTable()),Aa(m=oc(Nh(f.expression,r)))&&(c=!0),Tm(m)?(s=Ql(s,m,i.symbol,l,!1),a&&Pm(m,a,f)):n=n?al([n,m]):m}c||o.size>0&&(s=Ql(s,E(),i.symbol,l,!1));var v=273===t.parent.kind?t.parent:void 0;if(v&&v.openingElement===t&&v.children.length>0){var h=Nm(v,r);if(!c&&d&&""!==d){u&&_n(i,e.Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,e.unescapeLeadingUnderscores(d));var D=am(t.attributes),x=D&&$g(D,d),b=mn(4,d);b.type=1===h.length?h[0]:x&&Xf(x,Y_)?Ju(h):Iu($u(h)),b.valueDeclaration=e.factory.createPropertySignature(void 0,e.unescapeLeadingUnderscores(d),void 0,void 0),e.setParent(b.valueDeclaration,i),b.valueDeclaration.symbol=b;var S=e.createSymbolTable();S.set(d,b),s=Ql(s,Vi(i.symbol,S,e.emptyArray,e.emptyArray,void 0,void 0),i.symbol,l,!1)}}return c?Ee:n&&s!==at?al([n,s]):n||(s===at?E():s);function E(){l|=te;var t=Vi(i.symbol,o,e.emptyArray,e.emptyArray,void 0,void 0);return t.objectFlags|=1048704|l,t}}(t.parent,r)}function Im(e,t){var r=Lm(t),n=r&&bi(r),i=n&&An(n,e,788968);return i?Jo(i):ke}function Om(t){var r=Tn(t);if(!r.resolvedSymbol){var n=Im(N.IntrinsicElements,t);if(n!==ke){if(!e.isIdentifier(t.tagName))return e.Debug.fail();var i=dc(n,t.tagName.escapedText);return i?(r.jsxFlags|=1,r.resolvedSymbol=i):yc(n,0)?(r.jsxFlags|=2,r.resolvedSymbol=n.symbol):(_n(t,e.Diagnostics.Property_0_does_not_exist_on_type_1,e.idText(t.tagName),"JSX."+N.IntrinsicElements),r.resolvedSymbol=be)}return $&&_n(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,e.unescapeLeadingUnderscores(N.IntrinsicElements)),r.resolvedSymbol=be}return r.resolvedSymbol}function Mm(t){var r=t&&e.getSourceFileOfNode(t),n=r&&Tn(r);if(!n||!1!==n.jsxImplicitImportContainer){if(n&&n.jsxImplicitImportContainer)return n.jsxImplicitImportContainer;var i=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(V,r),V);if(i){var a=gi(t,i,e.getEmitModuleResolutionKind(V)===e.ModuleResolutionKind.Classic?e.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:e.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations,t),o=a&&a!==be?Ti(ri(a)):void 0;return n&&(n.jsxImplicitImportContainer=o||!1),o}}}function Lm(e){var t=e&&Tn(e);if(t&&t.jsxNamespace)return t.jsxNamespace;if(!t||!1!==t.jsxNamespace){var r=Mm(e);if(!r||r===be){var n=ln(e);r=Pn(e,n,1920,void 0,n,!1)}if(r){var i=ri(An(bi(ri(r)),N.JSX,1920));if(i&&i!==be)return t&&(t.jsxNamespace=i),i}t&&(t.jsxNamespace=!1)}var a=ri(Su(N.JSX,1920,void 0));return a!==be?a:void 0}function Rm(t,r){var n=r&&An(r.exports,t,788968),i=n&&Jo(n),a=i&&Ks(i);if(a){if(0===a.length)return"";if(1===a.length)return a[0].escapedName;a.length>1&&_n(n.declarations[0],e.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property,e.unescapeLeadingUnderscores(t))}}function Bm(e){return Rm(N.ElementChildrenAttributeNameContainer,e)}function jm(t,r){if(4&t.flags)return[lr];if(128&t.flags){var n=Jm(t,r);return n?[gv(r,n)]:(_n(r,e.Diagnostics.Property_0_does_not_exist_on_type_1,t.value,"JSX."+N.IntrinsicElements),e.emptyArray)}var i=tc(t),a=pc(i,1);return 0===a.length&&(a=pc(i,0)),0===a.length&&1048576&i.flags&&(a=gs(e.map(i.types,(function(e){return jm(e,r)})))),a}function Jm(t,r){var n=Im(N.IntrinsicElements,r);if(n!==ke){var i=t.value,a=dc(n,e.escapeLeadingUnderscores(i));if(a)return po(a);var o=yc(n,0);return o||void 0}return Ee}function Km(t){e.Debug.assert(Am(t.tagName));var r=Tn(t);if(!r.resolvedJsxElementAttributesType){var n=Om(t);return 1&r.jsxFlags?r.resolvedJsxElementAttributesType=po(n):2&r.jsxFlags?r.resolvedJsxElementAttributesType=yc(Jo(n),0):r.resolvedJsxElementAttributesType=ke}return r.resolvedJsxElementAttributesType}function zm(e){var t=Im(N.ElementClass,e);if(t!==ke)return t}function Um(e){return Im(N.Element,e)}function Vm(e){var t=Um(e);if(t)return $u([t,Oe])}function qm(t){var r,n=e.isJsxOpeningLikeElement(t);if(n&&function(t){xS(t,t.typeArguments);for(var r=new e.Map,n=0,i=t.attributes.properties;n=0)return d>=zv(n)&&(Uv(n)||ds)return!1;if(o||a>=c)return!0;for(var _=a;_=i&&r.length<=n}function jy(e){return Ky(e,0,!1)}function Jy(e){return Ky(e,0,!1)||Ky(e,1,!1)}function Ky(e,t,r){if(524288&e.flags){var n=Rs(e);if(r||0===n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function zy(t,r,n,i){var a=Jp(t.typeParameters,t,0,i),o=Vv(r),s=n&&(o&&262144&o.flags?n.nonFixingMapper:n.mapper);return Bp(s?Td(r,s):r,t,(function(e,t){sf(a.inferences,e,t)})),n||jp(r,t,(function(e,t){sf(a.inferences,e,t,64)})),jc(t,mf(a),e.isInJSFile(r.declaration))}function Uy(t,r,n,i,a){if(e.isJsxOpeningLikeElement(t))return function(e,t,r,n){var i=lm(t,e),a=Fh(e.attributes,i,n,r);return sf(n.inferences,a,i),mf(n)}(t,r,i,a);if(161!==t.kind){var o=cm(t,e.every(r.typeParameters,(function(e){return!!Zs(e)}))?8:0);if(o){var s=um(t),c=Md(o,Wp(function(t,r){return void 0===r&&(r=0),t&&Kp(e.map(t.inferences,qp),t.signature,t.flags|r,t.compareTypes)}(s,1))),u=jy(c),l=u&&u.typeParameters?qc(Jc(u,u.typeParameters)):c,d=Mc(r);sf(a.inferences,l,d,64);var _=Jp(r.typeParameters,r,a.flags),p=Md(o,s&&s.returnMapper);sf(_.inferences,p,d),a.returnMapper=e.some(_.inferences,Kh)?Wp(function(t){var r=e.filter(t.inferences,Kh);return r.length?Kp(e.map(r,qp),t.signature,t.flags,t.compareTypes):void 0}(_)):void 0}}var f=qv(r),g=f?Math.min(Kv(r)-1,n.length):n.length;if(f&&262144&f.flags){var m=e.find(a.inferences,(function(e){return e.typeParameter===f}));m&&(m.impliedArity=e.findIndex(n,Iy,g)<0?n.length-g:void 0)}var y=Ic(r);if(y){var v=Yy(t),h=v?Gh(v):qe;sf(a.inferences,h,y)}for(var D=0;D=n-1&&Iy(d=t[n-1]))return Vy(227===d.kind?d.type:Fh(d.expression,i,a,o));for(var s=[],c=[],u=[],l=r;ld&&(d=v)}}if(!l)return!0;for(var h=1/0,D=0,x=i;D0||e.isJsxOpeningElement(t)&&t.parent.children.length>0?[t.attributes]:e.emptyArray;var i=t.arguments||e.emptyArray,a=Oy(i);if(a>=0){for(var o=i.slice(0,a),s=function(t){var r=i[t],n=220===r.kind&&(Tr?Gh(r.expression):Nh(r.expression));n&&ap(n)?e.forEach(iu(n),(function(e,t){var i,a=n.target.elementFlags[t],s=Xy(r,4&a?Iu(e):e,!!(12&a),null===(i=n.target.labeledElementDeclarations)||void 0===i?void 0:i[t]);o.push(s)})):o.push(r)},c=a;cs&&(s=p),u-1;u<=o&&h&&u--;var D=y||h?y&&h?e.Diagnostics.Expected_at_least_0_arguments_but_got_1_or_more:y?e.Diagnostics.Expected_at_least_0_arguments_but_got_1:e.Diagnostics.Expected_0_arguments_but_got_1_or_more:1===v&&0===u&&function(t){if(!e.isCallExpression(t)||!e.isIdentifier(t.expression))return!1;var r=Pn(t.expression,t.expression.escapedText,111551,void 0,void 0,!1),n=null==r?void 0:r.valueDeclaration;if(!(n&&e.isParameter(n)&&pm(n.parent)&&e.isNewExpression(n.parent.parent)&&e.isIdentifier(n.parent.parent.expression)))return!1;var i=Au(!1);return!!i&&Cb(n.parent.parent.expression,!0)===i}(t)?e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:e.Diagnostics.Expected_0_arguments_but_got_1;if(i&&zv(i)>u&&i.declaration){var x=i.declaration.parameters[i.thisParameter?u+1:u];x&&(m=e.createDiagnosticForNode(x,e.isBindingPattern(x.name)?e.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:e.isRestParameter(x)?e.Diagnostics.Arguments_for_the_rest_parameter_0_were_not_provided:e.Diagnostics.An_argument_for_0_was_not_provided,x.name?e.isBindingPattern(x.name)?void 0:e.idText(e.getFirstIdentifier(x.name)):u))}if(au&&S?n.indexOf(S):Math.min(o,n.length-1)))}}else g=e.factory.createNodeArray(n.slice(o));var E=e.first(g).pos,C=e.last(g).end;C===E&&C++,e.setTextRangePosEnd(g,E,C);var T=e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),g,D,v,u);return m?e.addRelatedInfo(T,m):T}function rv(t,n,a,o,s,c){var u,l=205===t.kind,d=161===t.kind,_=e.isJsxOpeningLikeElement(t),p=!a&&i;d||(u=t.typeArguments,(l||_||105!==t.expression.kind)&&e.forEach(u,lb));var f=a||[];if(function(t,r,n){var i,a,o,s,c=0,u=-1;e.Debug.assert(!r.length);for(var l=0,d=t;l1&&(v=W(f,rn,D,b)),v||(v=W(f,an,D,b)),v)return v;if(p)if(g)if(1===g.length||g.length>3){var S,E=g[g.length-1];g.length>3&&(S=e.chainDiagnosticMessages(S,e.Diagnostics.The_last_overload_gave_the_following_error),S=e.chainDiagnosticMessages(S,e.Diagnostics.No_overload_matches_this_call));var C=Gy(t,h,E,an,0,!0,(function(){return S}));if(C)for(var T=0,k=C;T3&&e.addRelatedInfo(A,e.createDiagnosticForNode(E.declaration,e.Diagnostics.The_last_overload_is_declared_here)),q(E,A),$r.add(A)}else e.Debug.fail("No error for last overload signature")}else{for(var F=[],N=0,P=Number.MAX_VALUE,w=0,I=0,O=function(r){var n=Gy(t,h,r,an,0,!0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.Overload_0_of_1_2_gave_the_following_error,I+1,f.length,sa(r))}));n?(n.length<=P&&(P=n.length,w=I),N=Math.max(N,n.length),F.push(n)):e.Debug.fail("No error for 3 or fewer overload signatures"),I++},M=0,L=g;M1?F[w]:e.flatten(F);e.Debug.assert(R.length>0,"No errors reported for 3 or fewer overload signatures");var B=e.chainDiagnosticMessages(e.map(R,(function(e){return"string"==typeof e.messageText?e:e.messageText})),e.Diagnostics.No_overload_matches_this_call),j=r(e.flatMap(R,(function(e){return e.relatedInformation}))),J=void 0;if(e.every(R,(function(e){return e.start===R[0].start&&e.length===R[0].length&&e.file===R[0].file}))){var U=R[0];J={file:U.file,start:U.start,length:U.length,code:B.code,category:B.category,messageText:B,relatedInformation:j}}else J=e.createDiagnosticForNodeFromMessageChain(t,B,j);q(g[0],J),$r.add(J)}else if(m)$r.add(tv(t,[m],h));else if(y)Wy(y,t.typeArguments,!0,c);else{var V=e.filter(n,(function(e){return By(e,u)}));0===V.length?$r.add(function(t,r,n){var i=n.length;if(1===r.length){var a=Tc((d=r[0]).typeParameters),o=e.length(d.typeParameters);return e.createDiagnosticForNodeArray(e.getSourceFileOfNode(t),n,e.Diagnostics.Expected_0_type_arguments_but_got_1,ai?c=Math.min(c,_):o0),_b(t),i||1===r.length||r.some((function(e){return!!e.typeParameters}))?function(t,r,n){var i=function(e,t){for(var r=-1,n=-1,i=0;i=t)return i;o>n&&(n=o,r=i)}return r}(r,void 0===se?n.length:se),a=r[i],o=a.typeParameters;if(!o)return a;var s=Ny(t)?t.typeArguments:void 0,c=s?Kc(a,function(e,t,r){var n=e.map(Tb);for(;n.length>t.length;)n.pop();for(;n.length1?e.find((null===(i=t.declaration)||void 0===i?void 0:i.symbol.declarations)||e.emptyArray,(function(t){return e.isFunctionLikeDeclaration(t)&&e.nodeIsPresent(t.body)})):void 0;if(c){var u=Ac(c),l=!u.typeParameters;W([u],an,l)&&e.addRelatedInfo(r,e.createDiagnosticForNode(c,e.Diagnostics.The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible))}g=a,m=o,y=s}function W(r,n,i,a){if(void 0===a&&(a=!1),g=void 0,m=void 0,y=void 0,i){var o=r[0];if(e.some(u)||!Ry(t,h,o,a))return;return Gy(t,h,o,n,0,!1,void 0)?void(g=[o]):o}for(var s=0;s=0&&_n(t.arguments[i],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=Zm(t.expression);if(a===He)return pr;if((a=tc(a))===ke)return wy(t);if(Aa(a))return t.typeArguments&&_n(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments),Py(t);var o=pc(a,1);if(o.length){if(!function(t,r){if(!r||!r.declaration)return!0;var n=r.declaration,i=e.getSelectedEffectiveModifierFlags(n,24);if(!i||166!==n.kind)return!0;var a=e.getClassLikeDeclarationOfSymbol(n.parent.symbol),o=Jo(n.parent.symbol);if(!bb(t,a)){var s=e.getContainingClass(t);if(s&&16&i){var c=Tb(s);if(uv(n.parent.symbol,c))return!0}return 8&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,ca(o)),16&i&&_n(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,ca(o)),!1}return!0}(t,o[0]))return wy(t);var s=a.symbol&&e.getClassLikeDeclarationOfSymbol(a.symbol);return s&&e.hasSyntacticModifier(s,128)?(_n(t,e.Diagnostics.Cannot_create_an_instance_of_an_abstract_class),wy(t)):rv(t,o,r,n,0)}var c=pc(a,0);if(c.length){var u=rv(t,c,r,n,0);return $||(u.declaration&&!hv(u.declaration)&&Mc(u)!==qe&&_n(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword),Ic(u)===qe&&_n(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void)),u}return dv(t.expression,a,1),wy(t)}function uv(t,r){var n=Ao(r);if(!e.length(n))return!1;var i=n[0];if(2097152&i.flags){for(var a=Ds(i.types),o=0,s=0,c=i.types;s0;if(1048576&r.flags){for(var c=!1,u=0,l=r.types;u=n-1)return r===n-1?a:Iu(wl(a,Re));for(var o=[],s=[],c=[],u=r;u0&&(a=t.parameters.length-1+c)}}if(void 0===a){if(!n&&16&t.flags)return 0;a=t.minArgumentCount}if(i)return a;for(var u=a-1;u>=0;u--){if(131072&$f(Bv(t,u),My).flags)break;a=u}t.resolvedMinArgumentCount=a}return t.resolvedMinArgumentCount}function Uv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);return!ap(t)||t.target.hasRestElement}return!1}function Vv(e){if(K(e)){var t=po(e.parameters[e.parameters.length-1]);if(!ap(t))return t;if(t.target.hasRestElement)return Vu(t,t.target.fixedLength)}}function qv(e){var t=Vv(e);return!t||U_(t)||Aa(t)||0!=(131072&oc(t).flags)?void 0:t}function Wv(e){return Hv(e,We)}function Hv(e,t){return e.parameters.length>0?Bv(e,0):t}function Gv(t,r){(t.typeParameters=r.typeParameters,r.thisParameter)&&((!(a=t.thisParameter)||a.valueDeclaration&&!a.valueDeclaration.type)&&(a||(t.thisParameter=Tp(r.thisParameter,void 0)),Yv(t.thisParameter,po(r.thisParameter))));for(var n=t.parameters.length-(K(t)?1:0),i=0;i0&&(n=$u(l,2)):u=We;var d=function(t,r){var n=[],i=[],a=0!=(2&e.getFunctionFlags(t));return e.forEachYieldExpression(t.body,(function(t){var o,s=t.expression?Gh(t.expression,r):we;if(e.pushIfUnique(n,rh(t,s,Ee,a)),t.asteriskToken){var c=mx(s,a?19:17,t.expression);o=c&&c.nextType}else o=cm(t);o&&e.pushIfUnique(i,o)})),{yieldTypes:n,nextTypes:i}}(t,r),_=d.yieldTypes,p=d.nextTypes;i=e.some(_)?$u(_,2):void 0,a=e.some(p)?al(p):void 0}else{var f=oh(t,r);if(!f)return 2&o?Zv(t,We):We;if(0===f.length)return 2&o?Zv(t,qe):qe;n=$u(f,2)}if(n||i||a){if(i&&Rp(t,i,3),n&&Rp(t,n,1),a&&Rp(t,a,2),n&&$_(n)||i&&$_(i)||a&&$_(a)){var g=fm(t),m=g?g===Ac(t)?c?void 0:n:om(Mc(g),t):void 0;c?(i=ip(i,m,0,s),n=ip(n,m,1,s),a=ip(a,m,2,s)):n=function(e,t,r){return e&&$_(e)&&(e=np(e,t?r?mD(t):t:void 0)),e}(n,m,s)}i&&(i=Ip(i)),n&&(n=Ip(n)),a&&(a=Ip(a))}return c?th(i||We,n||u,a||qg(2,t)||Ne,s):s?Qv(n||u):n||u}function th(e,t,r,n){var i=n?Dr:xr,a=i.getGlobalGeneratorType(!1);if(e=i.resolveIterationType(e,void 0)||Ne,t=i.resolveIterationType(t,void 0)||Ne,r=i.resolveIterationType(r,void 0)||Ne,a===ct){var o=i.getGlobalIterableIteratorType(!1),s=o!==ct?Dx(o,i):void 0,c=s?s.returnType:Ee,u=s?s.nextType:Pe;return Yd(t,c)&&Yd(u,r)?o!==ct?Pu(o,[e]):(i.getGlobalIterableIteratorType(!0),it):(i.getGlobalGeneratorType(!0),it)}return Pu(a,[e,t,r])}function rh(t,r,n,i){var a=t.expression||t,o=t.asteriskToken?ux(i?19:17,r,n,a):r;return i?vD(o,a,t.asteriskToken?e.Diagnostics.Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:e.Diagnostics.Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):o}function nh(e,t,r,n){var i=0;if(n){for(var a=t;a=0;)switch(t=i.expr[a],i.state[a]){case 0:if(e.isInJSFile(t)&&e.getAssignedExpandoInitializer(t)){u(Gh(t.right,r));break}if(kh(t),62===(o=t.operatorToken.kind)&&(200===t.left.kind||199===t.left.kind)){u(Sh(t.left,Gh(t.right,r),r,107===t.right.kind));break}l(1),d(t.left);break;case 1:var o,s=n;i.leftType[a]=s,55!==(o=t.operatorToken.kind)&&56!==o&&60!==o||ix(s,t.left),l(2),d(t.right);break;case 2:s=i.leftType[a];var c=n;u(Ah(t.left,t.operatorToken,t.right,s,c,t));break;default:return e.Debug.fail("Invalid state "+i.state[a]+" for checkBinaryExpression")}return n;function u(e){n=e,a--}function l(e){i.state[a]=e}function d(t){e.isBinaryExpression(t)?(a++,i.expr[a]=t,i.state[a]=0,i.leftType[a]=void 0):n=Gh(t,r)}}function kh(t){var r=t.left,n=t.operatorToken,i=t.right;60===n.kind&&(!e.isBinaryExpression(r)||56!==r.operatorToken.kind&&55!==r.operatorToken.kind||zS(r,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(r.operatorToken.kind),e.tokenToString(n.kind)),!e.isBinaryExpression(i)||56!==i.operatorToken.kind&&55!==i.operatorToken.kind||zS(i,e.Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses,e.tokenToString(i.operatorToken.kind),e.tokenToString(n.kind)))}function Ah(t,r,n,a,o,s){var c=r.kind;switch(c){case 41:case 42:case 65:case 66:case 43:case 67:case 44:case 68:case 40:case 64:case 47:case 69:case 48:case 70:case 49:case 71:case 51:case 73:case 52:case 77:case 50:case 72:if(a===He||o===He)return He;a=ay(a,t),o=ay(o,n);var u=void 0;if(528&a.flags&&528&o.flags&&void 0!==(u=function(e){switch(e){case 51:case 73:return 56;case 52:case 77:return 37;case 50:case 72:return 55;default:return}}(r.kind)))return _n(s||r,e.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,e.tokenToString(r.kind),e.tokenToString(u)),Re;var l,d=uh(t,a,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0),_=uh(n,o,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type,!0);if(yh(a,3)&&yh(o,3)||!mh(a,2112)&&!mh(o,2112))l=Re;else if(b(a,o)){switch(c){case 49:case 71:T();break;case 42:case 66:q<3&&_n(s,e.Diagnostics.Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later)}l=Be}else T(b),l=ke;return d&&_&&E(l),l;case 39:case 63:if(a===He||o===He)return He;yh(a,402653316)||yh(o,402653316)||(a=ay(a,t),o=ay(o,n));var p=void 0;if(yh(a,296,!0)&&yh(o,296,!0)?p=Re:yh(a,2112,!0)&&yh(o,2112,!0)?p=Be:yh(a,402653316,!0)||yh(o,402653316,!0)?p=Le:(Aa(a)||Aa(o))&&(p=a===ke||o===ke?ke:Ee),p&&!S(c))return p;if(!p){var f=402655727;return T((function(e,t){return yh(e,f)&&yh(t,f)})),Ee}return 63===c&&E(p),p;case 29:case 31:case 32:case 33:return S(c)&&(a=ep(ay(a,t)),o=ep(ay(o,n)),C((function(e,t){return Qd(e,t)||Qd(t,e)||Yd(e,et)&&Yd(t,et)}))),Ue;case 34:case 35:case 36:case 37:return C((function(e,t){return Ch(e,t)||Ch(t,e)})),Ue;case 101:return function(t,r,n,i){return n===He||i===He?He:(!Aa(n)&&vh(n,131068)&&_n(t,e.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Aa(i)||wb(i)||Gd(i,Dt)||_n(r,e.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type),Ue)}(t,n,a,o);case 100:return function(t,r,n,i){return n===He||i===He?He:(n=ay(n,t),i=ay(i,r),vh(n,402665900)||yh(n,407109632)||_n(t,e.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol),vh(i,126091264)||_n(r,e.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter),Ue)}(t,n,a,o);case 55:case 75:var g=4194304&wf(a)?$u([gp(G?a:ep(o)),o]):a;return 75===c&&E(o),g;case 56:case 74:var m=8388608&wf(a)?$u([fp(a),o],2):a;return 74===c&&E(o),m;case 60:case 76:var y=262144&wf(a)?$u([hp(a),o],2):a;return 76===c&&E(o),y;case 62:var v=e.isBinaryExpression(t.parent)?e.getAssignmentDeclarationKind(t.parent):0;return function(t,r){if(2===t)for(var n=0,i=Bs(r);n1&&t.charCodeAt(r-1)>=48&&t.charCodeAt(r-1)<=57;)r--;for(var n=t.slice(0,r),i=1;;i++){var a=n+i;if(!zh(e,a))return a}}function Vh(e){var t=jy(e);if(t&&!t.typeParameters)return Mc(t)}function qh(t){var r=Wh(t);if(r)return r;if(67108864&t.flags&&ir){var n=ir[O(t)];if(n)return n}var i=Fr,a=Gh(t);Fr!==i&&((ir||(ir=[]))[O(t)]=a,e.setNodeFlags(t,67108864|t.flags));return a}function Wh(t){var r=e.skipParentheses(t);if(!e.isCallExpression(r)||105===r.expression.kind||e.isRequireCall(r,!0)||Ev(r)){if(e.isAssertionExpression(r)&&!e.isConstTypeReference(r.type))return ld(r.type);if(8===t.kind||10===t.kind||109===t.kind||94===t.kind)return Gh(t)}else{var n=e.isCallChain(r)?function(e){var t=Gh(e.expression),r=Ep(t,e.expression),n=Vh(t);return n&&Sp(n,e,r!==t)}(r):Vh(Zm(r.expression));if(n)return n}}function Hh(e){var t=Tn(e);if(t.contextFreeType)return t.contextFreeType;var r=e.contextualType;e.contextualType=Ee;try{return t.contextFreeType=Gh(e,4)}finally{e.contextualType=r}}function Gh(t,r,n){e.tracing.push("check","checkExpression",{kind:t.kind,pos:t.pos,end:t.end});var o=d;d=t,b=0;var s=jh(t,function(t,r,n){var o=t.kind;if(a)switch(o){case 221:case 208:case 209:a.throwIfCancellationRequested()}switch(o){case 78:return Ng(t);case 107:return Mg(t);case 105:return Bg(t);case 103:return Me;case 14:case 10:return rd(ad(t.text));case 8:return qS(t),rd(ad(+t.text));case 9:return function(t){if(!(e.isLiteralTypeNode(t.parent)||e.isPrefixUnaryExpression(t.parent)&&e.isLiteralTypeNode(t.parent.parent))&&q<7&&zS(t,e.Diagnostics.BigInt_literals_are_not_available_when_targeting_lower_than_ES2020))return!0}(t),rd(function(t){return ad({negative:!1,base10Value:e.parsePseudoBigInt(t.text)})}(t));case 109:return Ke;case 94:return je;case 218:return function(t){for(var r=[t.head.text],n=[],i=0,a=t.templateSpans;i=2||!e.hasRestParameter(t)||8388608&t.flags||e.nodeIsMissing(t.body))return;e.forEach(t.parameters,(function(t){t.name&&!e.isBindingPattern(t.name)&&t.name.escapedText===ce.escapedName&&dn("noEmit",t,e.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters)}))}(t);var n=e.getEffectiveReturnTypeNode(t);if($&&!n)switch(t.kind){case 170:_n(t,e.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type);break;case 169:_n(t,e.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type)}if(n){var a=e.getFunctionFlags(t);if(1==(5&a)){var o=ld(n);if(o===qe)_n(n,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var s=wx(0,o,0!=(2&a))||Ee;Zd(th(s,wx(1,o,0!=(2&a))||s,wx(2,o,0!=(2&a))||Ne,!!(2&a)),o,n)}}else 2==(3&a)&&function(t,r){var n=ld(r);if(q>=2){if(n===ke)return;var i=ku(!0);if(i!==ct&&!fo(n,i))return void _n(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0,ca(vD(n)||qe))}else{if(function(t){xD(t&&e.getEntityNameFromTypeNode(t))}(r),n===ke)return;var a=e.getEntityNameFromTypeNode(r);if(void 0===a)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,ca(n));var o=di(a,111551,!0),s=o?po(o):ke;if(s===ke)return void(78===a.kind&&"Promise"===a.escapedText&&go(n)===ku(!1)?_n(r,e.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option):_n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a)));var c=(d=!0,Jt||(Jt=Eu("PromiseConstructorLike",0,d))||it);if(c===it)return void _n(r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,e.entityNameToString(a));if(!Zd(s,c,r,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value))return;var u=a&&e.getFirstIdentifier(a),l=An(t.locals,u.escapedText,111551);if(l)return void _n(l.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,e.idText(u),e.entityNameToString(a))}var d;yD(n,t,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member)}(t,n)}171!==t.kind&&308!==t.kind&&FD(t)}}function Zh(t){for(var r=new e.Map,n=0,i=t.members;n0&&r.declarations[0]!==t)return}var n=Wc(ki(t));if(n)for(var i=!1,a=!1,o=0,s=n.declarations;o=0)return void(r&&_n(r,e.Diagnostics.Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method));Qr.push(t.id);var s=vD(o,r,n,i);if(Qr.pop(),!s)return;return a.awaitedTypeOfType=s}if(!function(e){var t=ka(e,"then");return!!t&&pc(If(t,2097152),0).length>0}(t))return a.awaitedTypeOfType=t;if(r){if(!n)return e.Debug.fail();_n(r,n,i)}}function DD(t){var r=vv(t);bv(r,t);var n=Mc(r);if(!(1&n.flags)){var i,a,o=pv(t);switch(t.parent.kind){case 252:i=$u([po(ki(t.parent)),qe]);break;case 160:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 163:i=qe,a=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 165:case 167:case 168:i=$u([wu(Tb(t.parent)),qe]);break;default:return e.Debug.fail()}Zd(n,i,t,o,(function(){return a}))}}function xD(t){if(t){var r=e.getFirstIdentifier(t),n=2097152|(78===t.kind?788968:1920),i=Pn(r,r.escapedText,n,void 0,void 0,!0);i&&2097152&i.flags&&Oi(i)&&!Ub(ni(i))&&!oi(i)&&ci(i)}}function bD(t){var r=SD(t);r&&e.isEntityName(r)&&xD(r)}function SD(e){if(e)switch(e.kind){case 183:case 182:return ED(e.types);case 184:return ED([e.trueType,e.falseType]);case 186:case 192:return SD(e.type);case 173:return e.typeName}}function ED(t){for(var r,n=0,i=t;n=e.ModuleKind.ES2015)&&(VD(t,r,"require")||VD(t,r,"exports"))&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ta(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&dn("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,e.declarationNameToString(r),e.declarationNameToString(r))}}function YD(t,r){if(!(q>=4)&&VD(t,r,"Promise")&&(!e.isModuleDeclaration(t)||1===e.getModuleInstanceState(t))){var n=Ta(t);297===n.kind&&e.isExternalOrCommonJsModule(n)&&2048&n.flags&&dn("noEmit",r,e.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,e.declarationNameToString(r),e.declarationNameToString(r))}}function XD(e){return e===Ce?Ee:e===Pt?Nt:e}function QD(t){var r;if(TD(t),e.isBindingElement(t)||lb(t.type),t.name){if(158===t.name.kind&&(bm(t.name),t.initializer&&Nh(t.initializer)),198===t.kind){196===t.parent.kind&&q<99&&pS(t,4),t.propertyName&&158===t.propertyName.kind&&bm(t.propertyName);var n=t.parent.parent,i=Fa(n),a=t.propertyName||t.name;if(i&&!e.isBindingPattern(a)){var o=ul(a);if(Xo(o)){var s=dc(i,ts(o));s&&(Sy(s,void 0,!1),Qm(n,!!n.initializer&&105===n.initializer.kind,i,s))}}}if(e.isBindingPattern(t.name)&&(197===t.name.kind&&q<2&&V.downlevelIteration&&pS(t,512),e.forEach(t.name.elements,lb)),t.initializer&&e.isParameterDeclaration(t)&&e.nodeIsMissing(e.getContainingFunction(t).body))_n(t,e.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);else if(e.isBindingPattern(t.name)){var c=t.initializer&&238!==t.parent.parent.kind,u=0===t.name.elements.length;if(c||u){var l=$a(t);if(c){var d=Nh(t.initializer);G&&u?oy(d,t):e_(d,$a(t),t,t.initializer)}u&&(e.isArrayBindingPattern(t.name)?ux(65,l,Pe,t):G&&oy(l,t))}}else{var _=ki(t);if(2097152&_.flags&&e.isRequireVariableDeclaration(t,!0))rb(t);else{var p=XD(po(_));if(t===_.valueDeclaration){var f=e.getEffectiveInitializer(t);if(f)e.isInJSFile(t)&&e.isObjectLiteralExpression(f)&&(0===f.properties.length||e.isPrototypeAccess(t.name))&&!!(null===(r=_.exports)||void 0===r?void 0:r.size)||238===t.parent.parent.kind||e_(Nh(f),p,t,f,void 0);_.declarations.length>1&&e.some(_.declarations,(function(r){return r!==t&&e.isVariableLike(r)&&!ZD(r,t)}))&&_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}else{var g=XD($a(t));p===ke||g===ke||Vd(p,g)||67108864&_.flags||$D(_.valueDeclaration,p,t,g),t.initializer&&e_(Nh(t.initializer),g,t,t.initializer,void 0),ZD(t,_.valueDeclaration)||_n(t.name,e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,e.declarationNameToString(t.name))}163!==t.kind&&162!==t.kind&&(fD(t),249!==t.kind&&198!==t.kind||function(t){if(0==(3&e.getCombinedNodeFlags(t))&&!e.isParameterDeclaration(t)&&(249!==t.kind||t.initializer)){var r=ki(t);if(1&r.flags){if(!e.isIdentifier(t.name))return e.Debug.fail();var n=Pn(t,t.name.escapedText,3,void 0,void 0,!1);if(n&&n!==r&&2&n.flags&&3&Ym(n)){var i=e.getAncestor(n.valueDeclaration,250),a=232===i.parent.kind&&i.parent.parent?i.parent.parent:void 0;if(!a||!(230===a.kind&&e.isFunctionLike(a.parent)||257===a.kind||256===a.kind||297===a.kind)){var o=oa(n);_n(t,e.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,o,o)}}}}}(t),GD(t,t.name),YD(t,t.name),q<99&&VD(t,t.name,"WeakMap")&&Xr.push(t))}}}}function $D(t,r,n,i){var a=e.getNameOfDeclaration(n),o=163===n.kind||162===n.kind?e.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:e.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,s=e.declarationNameToString(a),c=_n(a,o,s,ca(r),ca(i));t&&e.addRelatedInfo(c,e.createDiagnosticForNode(t,e.Diagnostics._0_was_also_declared_here,s))}function ZD(t,r){if(160===t.kind&&249===r.kind||249===t.kind&&160===r.kind)return!0;if(e.hasQuestionToken(t)!==e.hasQuestionToken(r))return!1;return e.getSelectedEffectiveModifierFlags(t,504)===e.getSelectedEffectiveModifierFlags(r,504)}function ex(t){e.tracing.push("check","checkVariableDeclaration",{kind:t.kind,pos:t.pos,end:t.end}),function(t){if(238!==t.parent.parent.kind&&239!==t.parent.parent.kind)if(8388608&t.flags)OS(t);else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return zS(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isVarConst(t))return zS(t,e.Diagnostics.const_declarations_must_be_initialized)}if(t.exclamationToken&&(232!==t.parent.parent.kind||!t.type||t.initializer||8388608&t.flags)){var r=t.initializer?e.Diagnostics.Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:e.Diagnostics.Declarations_with_definite_assignment_assertions_must_also_have_type_annotations;return zS(t.exclamationToken,r)}var n=e.getEmitModuleKind(V);n=1&&ex(t.declarations[0])}function cx(e){return ux(e.awaitModifier?15:13,Zm(e.expression),Pe,e.expression)}function ux(e,t,r,n){return Aa(t)?t:lx(e,t,r,n,!0)||Ee}function lx(t,r,n,i,a){var o=0!=(2&t);if(r!==We){var s=q>=2,c=!s&&V.downlevelIteration,u=V.noUncheckedIndexedAccess&&!!(128&t);if(s||c||o){var l=mx(r,t,s?i:void 0);if(a&&l){var d=8&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:32&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:64&t?e.Diagnostics.Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:16&t?e.Diagnostics.Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:void 0;d&&Zd(n,l.nextType,i,d)}if(l||s)return u?Rf(l&&l.yieldType):l&&l.yieldType}var _=r,p=!1,f=!1;if(4&t){if(1048576&_.flags){var g=r.types,m=e.filter(g,(function(e){return!(402653316&e.flags)}));m!==g&&(_=$u(m,2))}else 402653316&_.flags&&(_=We);if((f=_!==r)&&(q<1&&i&&(_n(i,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher),p=!0),131072&_.flags))return u?Rf(Le):Le}if(!H_(_)){if(i&&!p){var y=dx(t,0,r,void 0),v=4&t&&!f?c?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type,!0]:c?[e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator,!0]:y?[e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators,!1]:[e.Diagnostics.Type_0_is_not_an_array_type,!0],h=v[0];gn(i,v[1]&&!!gD(_),h,ca(_))}return f?u?Rf(Le):Le:void 0}var D=yc(_,1);return f&&D?402653316&D.flags&&!V.noUncheckedIndexedAccess?Le:$u(u?[D,Le,Pe]:[D,Le],2):128&t?Rf(D):D}Sx(i,r,o)}function dx(e,t,r,n){if(!Aa(r)){var i=mx(r,e,n);return i&&i[J(t)]}}function _x(e,t,r){if(void 0===e&&(e=We),void 0===t&&(t=We),void 0===r&&(r=Ne),67359327&e.flags&&180227&t.flags&&180227&r.flags){var n=Zc([e,t,r]),i=gr.get(n);return i||(i={yieldType:e,returnType:t,nextType:r},gr.set(n,i)),i}return{yieldType:e,returnType:t,nextType:r}}function px(t){for(var r,n,i,a=0,o=t;an)return!1;for(var l=0;l1)return JS(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=!0}else{if(e.Debug.assert(116===o.token),n)return JS(o,e.Diagnostics.implements_clause_already_seen);n=!0}SS(o)}})(t)||vS(t.typeParameters,r)}(t),TD(t),t.name&&(jx(t.name,e.Diagnostics.Class_name_cannot_be_0),GD(t,t.name),YD(t,t.name),8388608&t.flags||function(t){1===q&&"Object"===t.escapedText&&W>a;case 49:return i>>>a;case 47:return i<1&&L(t,!!V.preserveConstEnums||!!V.isolatedModules)){var s=function(t){for(var r=0,n=t.declarations;r1)for(var o=0,s=n;o=232&&r<=248&&t.flowNode&&!yg(t.flowNode)&&fn(!1===V.allowUnreachableCode,t,e.Diagnostics.Unreachable_code_detected);switch(r){case 159:return Yh(t);case 160:return Xh(t);case 163:return tD(t);case 162:return function(t){return e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies),tD(t)}(t);case 174:case 175:case 169:case 170:case 171:return $h(t);case 165:case 164:return function(t){wS(t)||CS(t.name),e.isPrivateIdentifier(t.name)&&_n(t,e.Diagnostics.A_method_cannot_be_named_with_a_private_identifier),AD(t),e.hasSyntacticModifier(t,128)&&165===t.kind&&t.body&&_n(t,e.Diagnostics.Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,e.declarationNameToString(t.name))}(t);case 166:return rD(t);case 167:case 168:return nD(t);case 173:return cD(t);case 172:return function(t){var r=function(e){switch(e.parent.kind){case 209:case 169:case 251:case 208:case 174:case 165:case 164:var t=e.parent;if(e===t.type)return t}}(t);if(r){var n=Ac(r),i=Oc(n);if(i){lb(t.type);var a=t.parameterName;if(0===i.kind||2===i.kind)sd(a);else if(i.parameterIndex>=0)K(n)&&i.parameterIndex===n.parameters.length-1?_n(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter):i.type&&Zd(i.type,po(n.parameters[i.parameterIndex]),t.type,void 0,(function(){return e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type)}));else if(a){for(var o=!1,s=0,c=r.parameters;s0),n.length>1&&_n(n[1],e.Diagnostics.Class_declarations_cannot_have_more_than_one_augments_or_extends_tag);var i=kD(t.class.expression),a=e.getClassExtendsHeritageElement(r);if(a){var o=kD(a.expression);o&&i.escapedText!==o.escapedText&&_n(i,e.Diagnostics.JSDoc_0_1_does_not_match_the_extends_2_clause,e.idText(t.tagName),e.idText(i),e.idText(o))}}else _n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 316:return function(t){var r=e.getEffectiveJSDocHost(t);r&&(e.isClassDeclaration(r)||e.isClassExpression(r))||_n(r,e.Diagnostics.JSDoc_0_is_not_attached_to_a_class,e.idText(t.tagName))}(t);case 331:case 324:case 325:return function(t){t.typeExpression||_n(t.name,e.Diagnostics.JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags),t.name&&jx(t.name,e.Diagnostics.Type_alias_name_cannot_be_0),lb(t.typeExpression)}(t);case 330:return function(e){lb(e.constraint);for(var t=0,r=e.typeParameters;t-1&&n1){var n=e.isEnumConst(t);e.forEach(r.declarations,(function(t){e.isEnumDeclaration(t)&&e.isEnumConst(t)!==n&&_n(e.getNameOfDeclaration(t),e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}))}var a=!1;e.forEach(r.declarations,(function(t){if(255!==t.kind)return!1;var r=t;if(!r.members.length)return!1;var n=r.members[0];n.initializer||(a?_n(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):a=!0)}))}}}(t);case 256:return Zx(t);case 261:return ib(t);case 260:return function(t){if(!ob(t,e.Diagnostics.An_import_declaration_can_only_be_used_in_a_namespace_or_module)&&(gS(t),e.isInternalModuleImportEqualsDeclaration(t)||tb(t)))if(nb(t),e.hasSyntacticModifier(t,1)&&si(t),272!==t.moduleReference.kind){var r=ni(ki(t));if(r!==be){if(111551&r.flags){var n=e.getFirstIdentifier(t.moduleReference);1920&di(n,112575).flags||_n(n,e.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name,e.declarationNameToString(n))}788968&r.flags&&jx(t.name,e.Diagnostics.Import_name_cannot_be_0)}}else W>=e.ModuleKind.ES2015&&!(8388608&t.flags)&&zS(t,e.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)}(t);case 267:return ab(t);case 266:return function(t){if(!ob(t,e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)){var r=297===t.parent.kind?t.parent:t.parent.parent;if(256!==r.kind||e.isAmbientModule(r)){if(!gS(t)&&e.hasEffectiveModifiers(t)&&JS(t,e.Diagnostics.An_export_assignment_cannot_have_modifiers),78===t.expression.kind){var n=t.expression,i=di(n,67108863,!0,!0,t);if(i){Fg(i,n);var a=2097152&i.flags?ni(i):i;(a===be||111551&a.flags)&&Nh(t.expression)}else Nh(t.expression);e.getEmitDeclarations(V)&&xa(t.expression,!0)}else Nh(t.expression);ub(r),8388608&t.flags&&!e.isEntityNameExpression(t.expression)&&zS(t.expression,e.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!t.isExportEquals||8388608&t.flags||(W>=e.ModuleKind.ES2015?zS(t,e.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):W===e.ModuleKind.System&&zS(t,e.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))}else t.isExportEquals?_n(t,e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):_n(t,e.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module)}}(t);case 231:case 248:return void VS(t);case 271:(function(e){TD(e)})(t)}}(t),d=r}}function db(t){e.isInJSFile(t)||zS(t,e.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function _b(t){var r=Tn(e.getSourceFileOfNode(t));if(!(1&r.flags)){r.deferredNodes=r.deferredNodes||new e.Map;var n=O(t);r.deferredNodes.set(n,t)}}function pb(t){var r=d;switch(d=t,b=0,t.kind){case 203:case 204:case 205:case 161:case 275:Py(t);break;case 208:case 209:case 165:case 164:!function(t){e.Debug.assert(165!==t.kind||e.isObjectLiteralMethod(t));var r=e.getFunctionFlags(t),n=Lc(t);if(sh(t,n),t.body)if(e.getEffectiveReturnTypeNode(t)||Mc(Ac(t)),230===t.body.kind)lb(t.body);else{var i=Gh(t.body),a=n&&Mx(n,r);a&&e_(2==(3&r)?yD(i,t.body,e.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):i,a,t.body,t.body)}}(t);break;case 167:case 168:nD(t);break;case 221:!function(t){e.forEach(t.members,lb),FD(t)}(t);break;case 274:!function(e){qm(e)}(t);break;case 273:!function(e){qm(e.openingElement),Am(e.closingElement.tagName)?Om(e.closingElement):Gh(e.closingElement.tagName),Nm(e)}(t)}d=r}function fb(r){var n=["check","checkSourceFile",{path:r.path}];e.tracing.begin.apply(e.tracing,n),e.performance.mark("beforeCheck"),function(r){var n=Tn(r);if(!(1&n.flags)){if(e.skipTypeChecking(r,V,t))return;!function(t){!!(8388608&t.flags)&&function(t){for(var r=0,n=t.statements;r0?e.concatenate(o,a):a}return e.forEach(t.getSourceFiles(),fb),$r.getDiagnostics()}(r)}finally{a=void 0}}function vb(){if(!i)throw new Error("Trying to get diagnostics from a type checker that does not produce them.")}function hb(e){switch(e.kind){case 159:case 252:case 253:case 254:case 255:case 331:case 324:case 325:return!0;case 262:return e.isTypeOnly;case 265:case 270:return e.parent.parent.isTypeOnly;default:return!1}}function Db(e){for(;157===e.parent.kind;)e=e.parent;return 173===e.parent.kind}function xb(t,r){for(var n;(t=e.getContainingClass(t))&&!(n=r(t)););return n}function bb(e,t){return!!xb(e,(function(e){return e===t}))}function Sb(e){return void 0!==function(e){for(;157===e.parent.kind;)e=e.parent;return 260===e.parent.kind?e.parent.moduleReference===e?e.parent:void 0:266===e.parent.kind&&e.parent.expression===e?e.parent:void 0}(e)}function Eb(t){if(e.isDeclarationName(t))return ki(t.parent);if(e.isInJSFile(t)&&201===t.parent.kind&&t.parent===t.parent.parent.left&&!e.isPrivateIdentifier(t)){var r=function(t){switch(e.getAssignmentDeclarationKind(t.parent.parent)){case 1:case 3:return ki(t.parent);case 4:case 2:case 5:return ki(t.parent.parent)}}(t);if(r)return r}if(266===t.parent.kind&&e.isEntityNameExpression(t)){var n=di(t,2998271,!0);if(n&&n!==be)return n}else if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)&&Sb(t)){var i=e.getAncestor(t,260);return e.Debug.assert(void 0!==i),ui(t,!0)}if(!e.isPropertyAccessExpression(t)&&!e.isPrivateIdentifier(t)){var a=function(t){for(var r=t.parent;e.isQualifiedName(r);)t=r,r=r.parent;if(r&&195===r.kind&&r.qualifier===t)return r}(t);if(a){ld(a);var o=Tn(t).resolvedSymbol;return o===be?void 0:o}}for(;e.isRightSideOfQualifiedNameOrPropertyAccess(t);)t=t.parent;if(function(e){for(;201===e.parent.kind;)e=e.parent;return 223===e.parent.kind}(t)){var s=0;223===t.parent.kind?(s=788968,e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)&&(s|=111551)):s=1920,s|=2097152;var c=e.isEntityNameExpression(t)?di(t,s):void 0;if(c)return c}if(326===t.parent.kind)return e.getParameterSymbolFromJSDoc(t.parent);if(159===t.parent.kind&&330===t.parent.parent.kind){e.Debug.assert(!e.isInJSFile(t));var u=e.getTypeParameterFromJsDoc(t.parent);return u&&u.symbol}if(e.isExpressionNode(t)){if(e.nodeIsMissing(t))return;if(78===t.kind){if(e.isJSXTagName(t)&&Am(t)){var l=Om(t.parent);return l===be?void 0:l}return di(t,111551,!1,!0)}if(201===t.kind||157===t.kind){var d=Tn(t);return d.resolvedSymbol||(201===t.kind?sy(t):cy(t)),d.resolvedSymbol}}else{if(Db(t))return di(t,s=173===t.parent.kind?788968:1920,!1,!0);if(function(e){for(;157===e.parent.kind;)e=e.parent;for(;201===e.parent.kind;)e=e.parent;return 302===e.parent.kind}(t))return di(t,s=901119,!1,!0,e.getHostSignatureFromJSDoc(t))}return 172===t.parent.kind?di(t,1):void 0}function Cb(t,r){if(297===t.kind)return e.isExternalModule(t)?Ti(t.symbol):void 0;var n=t.parent,i=n.parent;if(!(16777216&t.flags)){if(B(t)){var a=ki(n);return e.isImportOrExportSpecifier(t.parent)&&t.parent.propertyName===t?Em(a):a}if(e.isLiteralComputedPropertyDeclarationName(t))return ki(n.parent);if(78===t.kind){if(Sb(t))return Eb(t);if(198===n.kind&&196===i.kind&&t===n.propertyName){var o=dc(Tb(i),t.escapedText);if(o)return o}}switch(t.kind){case 78:case 79:case 201:case 157:return Eb(t);case 107:var s=e.getThisContainer(t,!1);if(e.isFunctionLike(s)){var c=Ac(s);if(c.thisParameter)return c.thisParameter}if(e.isInExpressionContext(t))return Gh(t).symbol;case 187:return sd(t).symbol;case 105:return Gh(t).symbol;case 132:var u=t.parent;return u&&166===u.kind?u.parent.symbol:void 0;case 10:case 14:if(e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t||(261===t.parent.kind||267===t.parent.kind)&&t.parent.moduleSpecifier===t||e.isInJSFile(t)&&e.isRequireCall(t.parent,!1)||e.isImportCall(t.parent)||e.isLiteralTypeNode(t.parent)&&e.isLiteralImportTypeNode(t.parent.parent)&&t.parent.parent.argument===t.parent)return pi(t,t,r);if(e.isCallExpression(n)&&e.isBindableObjectDefinePropertyCall(n)&&n.arguments[1]===t)return ki(n);case 8:var l=e.isElementAccessExpression(n)?n.argumentExpression===t?qh(n.expression):void 0:e.isLiteralTypeNode(n)&&e.isIndexedAccessTypeNode(i)?ld(i.objectType):void 0;return l&&dc(l,e.escapeLeadingUnderscores(t.text));case 87:case 97:case 38:case 83:return ki(t.parent);case 195:return e.isLiteralImportTypeNode(t)?Cb(t.argument.literal,r):void 0;case 92:return e.isExportAssignment(t.parent)?e.Debug.checkDefined(t.parent.symbol):void 0;default:return}}}function Tb(t){if(e.isSourceFile(t)&&!e.isExternalModule(t))return ke;if(16777216&t.flags)return ke;var r,n=e.tryGetClassImplementingOrExtendingExpressionWithTypeArguments(t),i=n&&Po(ki(n.class));if(e.isPartOfTypeNode(t)){var a=ld(t);return i?os(a,i.thisType):a}if(e.isExpressionNode(t))return Ab(t);if(i&&!n.isImplements){var o=e.firstOrUndefined(Ao(i));return o?os(o,i.thisType):ke}if(hb(t))return Jo(r=ki(t));if(function(t){return 78===t.kind&&hb(t.parent)&&e.getNameOfDeclaration(t.parent)===t}(t))return(r=Cb(t))?Jo(r):ke;if(e.isDeclaration(t))return po(r=ki(t));if(B(t))return(r=Cb(t))?po(r):ke;if(e.isBindingPattern(t))return Ba(t.parent,!0)||ke;if(Sb(t)&&(r=Cb(t))){var s=Jo(r);return s!==ke?s:po(r)}return ke}function kb(t){if(e.Debug.assert(200===t.kind||199===t.kind),239===t.parent.kind)return Sh(t,cx(t.parent)||ke);if(216===t.parent.kind)return Sh(t,qh(t.parent.right)||ke);if(288===t.parent.kind){var r=e.cast(t.parent.parent,e.isObjectLiteralExpression);return xh(r,kb(r)||ke,e.indexOfNode(r.properties,t.parent))}var n=e.cast(t.parent,e.isArrayLiteralExpression),i=kb(n)||ke,a=ux(65,i,Pe,t.parent)||ke;return bh(n,i,n.elements.indexOf(t),a)}function Ab(t){return e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),nd(qh(t))}function Fb(t){var r=ki(t.parent);return e.hasSyntacticModifier(t,32)?po(r):Jo(r)}function Nb(t){var r=t.name;switch(r.kind){case 78:return ad(e.idText(r));case 8:case 10:return ad(r.text);case 158:var n=bm(r);return yh(n,12288)?n:Le;default:return e.Debug.fail("Unsupported property name.")}}function Pb(t){t=tc(t);var r=e.createSymbolTable(Ks(t)),n=pc(t,0).length?xt:pc(t,1).length?bt:void 0;return n&&e.forEach(Ks(n),(function(e){r.has(e.escapedName)||r.set(e.escapedName,e)})),zi(r)}function wb(t){return e.typeHasCallOrConstructSignatures(t,le)}function Ib(t){if(e.isGeneratedIdentifier(t))return!1;var r=e.getParseTreeNode(t,e.isIdentifier);if(!r)return!1;var n=r.parent;return!!n&&(!((e.isPropertyAccessExpression(n)||e.isPropertyAssignment(n))&&n.name===r)&&oS(r)===ce)}function Ob(t){var r=pi(t.parent,t);if(!r||e.isShorthandAmbientModuleSymbol(r))return!0;var n=hi(r),i=Cn(r=yi(r));return void 0===i.exportsSomeValue&&(i.exportsSomeValue=n?!!(111551&r.flags):e.forEachEntry(Si(r),(function(e){return(e=ri(e))&&!!(111551&e.flags)}))),i.exportsSomeValue}function Mb(t,r){var n=e.getParseTreeNode(t,e.isIdentifier);if(n){var i=oS(n,function(t){return e.isModuleOrEnumDeclaration(t.parent)&&t===t.parent.name}(n));if(i){if(1048576&i.flags){var a=Ti(i.exportSymbol);if(!r&&944&a.flags&&!(3&a.flags))return;i=a}var o=Ai(i);if(o){if(512&o.flags&&297===o.valueDeclaration.kind){var s=o.valueDeclaration;return s!==e.getSourceFileOfNode(n)?void 0:s}return e.findAncestor(n.parent,(function(t){return e.isModuleOrEnumDeclaration(t)&&ki(t)===o}))}}}}function Lb(t){if(t.generatedImportReference)return t.generatedImportReference;var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(ti(n,111551)&&!oi(n))return zn(n)}}function Rb(t){if(418&t.flags&&!e.isSourceFile(t.valueDeclaration)){var r=Cn(t);if(void 0===r.isDeclarationWithCollidingName){var n=e.getEnclosingBlockScopeContainer(t.valueDeclaration);if(e.isStatementWithLocals(n)||function(t){return e.isBindingElement(t.valueDeclaration)&&287===e.walkUpBindingElementsAndPatterns(t.valueDeclaration).parent.kind}(t)){var i=Tn(t.valueDeclaration);if(Pn(n.parent,t.escapedName,111551,void 0,void 0,!1))r.isDeclarationWithCollidingName=!0;else if(262144&i.flags){var a=524288&i.flags,o=e.isIterationStatement(n,!1),s=230===n.kind&&e.isIterationStatement(n.parent,!1);r.isDeclarationWithCollidingName=!(e.isBlockScopedContainerTopLevel(n)||a&&(o||s))}else r.isDeclarationWithCollidingName=!1}}return r.isDeclarationWithCollidingName}return!1}function Bb(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n&&Rb(n))return n.valueDeclaration}}}function jb(t){var r=e.getParseTreeNode(t,e.isDeclaration);if(r){var n=ki(r);if(n)return Rb(n)}return!1}function Jb(t){switch(t.kind){case 260:return zb(ki(t)||be);case 262:case 263:case 265:case 270:var r=ki(t)||be;return zb(r)&&!oi(r);case 267:var n=t.exportClause;return!!n&&(e.isNamespaceExport(n)||e.some(n.elements,Jb));case 266:return!t.expression||78!==t.expression.kind||zb(ki(t)||be)}return!1}function Kb(t){var r=e.getParseTreeNode(t,e.isImportEqualsDeclaration);return!(void 0===r||297!==r.parent.kind||!e.isInternalModuleImportEqualsDeclaration(r))&&(zb(ki(r))&&r.moduleReference&&!e.nodeIsMissing(r.moduleReference))}function zb(e){var t=ni(e);return t===be||!!(111551&t.flags)&&(V.preserveConstEnums||!Ub(t))}function Ub(e){return Dh(e)||!!e.constEnumOnlyModule}function Vb(t,r){if(Un(t)){var n=ki(t);if(n&&Cn(n).referenced)return!0;var i=Cn(n).target;if(i&&1&e.getEffectiveModifierFlags(t)&&111551&i.flags&&(V.preserveConstEnums||!Ub(i)))return!0}return!!r&&!!e.forEachChild(t,(function(e){return Vb(e,r)}))}function qb(t){if(e.nodeIsPresent(t.body)){if(e.isGetAccessor(t)||e.isSetAccessor(t))return!1;var r=Pc(ki(t));return r.length>1||1===r.length&&r[0].declaration!==t}return!1}function Wb(t){return!(!G||Sc(t)||e.isJSDocParameterTag(t)||!t.initializer||e.hasSyntacticModifier(t,92))}function Hb(t){return G&&Sc(t)&&!t.initializer&&e.hasSyntacticModifier(t,92)}function Gb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return!1;var n=ki(r);return!!(n&&16&n.flags)&&!!e.forEachEntry(bi(n),(function(t){return 111551&t.flags&&t.valueDeclaration&&e.isPropertyAccessExpression(t.valueDeclaration)}))}function Yb(t){var r=e.getParseTreeNode(t,e.isFunctionDeclaration);if(!r)return e.emptyArray;var n=ki(r);return n&&Ks(po(n))||e.emptyArray}function Xb(e){return Tn(e).flags||0}function Qb(e){return Yx(e.parent),Tn(e).enumMemberValue}function $b(e){switch(e.kind){case 291:case 201:case 202:return!0}return!1}function Zb(t){if(291===t.kind)return Qb(t);var r=Tn(t).resolvedSymbol;if(r&&8&r.flags){var n=r.valueDeclaration;if(e.isEnumConst(n.parent))return Qb(n)}}function eS(e){return!!(524288&e.flags)&&pc(e,0).length>0}function tS(t,r){var n,i=e.getParseTreeNode(t,e.isEntityName);if(!i)return e.TypeReferenceSerializationKind.Unknown;if(r&&!(r=e.getParseTreeNode(r)))return e.TypeReferenceSerializationKind.Unknown;var a=di(i,111551,!0,!0,r),o=(null===(n=null==a?void 0:a.declarations)||void 0===n?void 0:n.every(e.isTypeOnlyImportOrExportDeclaration))||!1,s=a&&2097152&a.flags?ni(a):a,c=di(i,788968,!0,!1,r);if(s&&s===c){var u=Au(!1);if(u&&s===u)return e.TypeReferenceSerializationKind.Promise;var l=po(s);if(l&&bo(l))return o?e.TypeReferenceSerializationKind.TypeWithCallSignature:e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue}if(!c)return o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown;var d=Jo(c);return d===ke?o?e.TypeReferenceSerializationKind.ObjectType:e.TypeReferenceSerializationKind.Unknown:3&d.flags?e.TypeReferenceSerializationKind.ObjectType:yh(d,245760)?e.TypeReferenceSerializationKind.VoidNullableOrNeverType:yh(d,528)?e.TypeReferenceSerializationKind.BooleanType:yh(d,296)?e.TypeReferenceSerializationKind.NumberLikeType:yh(d,2112)?e.TypeReferenceSerializationKind.BigIntLikeType:yh(d,402653316)?e.TypeReferenceSerializationKind.StringLikeType:ap(d)?e.TypeReferenceSerializationKind.ArrayLikeType:yh(d,12288)?e.TypeReferenceSerializationKind.ESSymbolType:eS(d)?e.TypeReferenceSerializationKind.TypeWithCallSignature:U_(d)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function rS(t,r,n,i,a){var o=e.getParseTreeNode(t,e.isVariableLikeOrAccessor);if(!o)return e.factory.createToken(128);var s=ki(o),c=!s||133120&s.flags?ke:tp(po(s));return 8192&c.flags&&c.symbol===s&&(n|=1048576),a&&(c=vp(c)),ne.typeToTypeNode(c,r,1024|n,i)}function nS(t,r,n,i){var a=e.getParseTreeNode(t,e.isFunctionLike);if(!a)return e.factory.createToken(128);var o=Ac(a);return ne.typeToTypeNode(Mc(o),r,1024|n,i)}function iS(t,r,n,i){var a=e.getParseTreeNode(t,e.isExpression);if(!a)return e.factory.createToken(128);var o=Ip(Ab(a));return ne.typeToTypeNode(o,r,1024|n,i)}function aS(t){return ie.has(e.escapeLeadingUnderscores(t))}function oS(t,r){var n=Tn(t).resolvedSymbol;if(n)return n;var i=t;if(r){var a=t.parent;e.isDeclaration(a)&&t===a.name&&(i=Ta(a))}return Pn(i,t.escapedText,3257279,void 0,void 0,!0)}function sS(t){if(!e.isGeneratedIdentifier(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r){var n=oS(r);if(n)return Ii(n).valueDeclaration}}}function cS(t){return!!(e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t))&&id(po(ki(t)))}function uS(t,r){return function(t,r,n){var i=1024&t.flags?ne.symbolToExpression(t.symbol,111551,r,void 0,n):t===Ke?e.factory.createTrue():t===je&&e.factory.createFalse();if(i)return i;var a=t.value;return"object"==typeof a?e.factory.createBigIntLiteral(a):"number"==typeof a?e.factory.createNumericLiteral(a):e.factory.createStringLiteral(a)}(po(ki(t)),t,r)}function lS(t){return t?(ln(t),e.getSourceFileOfNode(t).localJsxFactory||or):or}function dS(t){if(t){var r=e.getSourceFileOfNode(t);if(r){if(r.localJsxFragmentFactory)return r.localJsxFragmentFactory;var n=r.pragmas.get("jsxfrag"),i=e.isArray(n)?n[0]:n;if(i)return r.localJsxFragmentFactory=e.parseIsolatedEntityName(i.arguments.factory,q),r.localJsxFragmentFactory}}if(V.jsxFragmentFactory)return e.parseIsolatedEntityName(V.jsxFragmentFactory,q)}function _S(t){var r=256===t.kind?e.tryCast(t.name,e.isStringLiteral):e.getExternalModuleName(t),n=fi(r,r,void 0);if(n)return e.getDeclarationOfKind(n,297)}function pS(t,r){if((s&r)!==r&&V.importHelpers){var n=e.getSourceFileOfNode(t);if(e.isEffectiveExternalModule(n,V)&&!(8388608&t.flags)){var i=function(t,r){l||(l=gi(t,e.externalHelpersModuleNameText,e.Diagnostics.This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,r)||be);return l}(n,t);if(i!==be)for(var a=r&~s,o=1;o<=4194304;o<<=1)if(a&o){var c=fS(o);An(i.exports,e.escapeLeadingUnderscores(c),111551)||_n(t,e.Diagnostics.This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0,e.externalHelpersModuleNameText,c)}s|=r}}}function fS(t){switch(t){case 1:return"__extends";case 2:return"__assign";case 4:return"__rest";case 8:return"__decorate";case 16:return"__metadata";case 32:return"__param";case 64:return"__awaiter";case 128:return"__generator";case 256:return"__values";case 512:return"__read";case 1024:return"__spread";case 2048:return"__spreadArrays";case 4096:return"__await";case 8192:return"__asyncGenerator";case 16384:return"__asyncDelegator";case 32768:return"__asyncValues";case 65536:return"__exportStar";case 131072:return"__importStar";case 262144:return"__importDefault";case 524288:return"__makeTemplateObject";case 1048576:return"__classPrivateFieldGet";case 2097152:return"__classPrivateFieldSet";case 4194304:return"__createBinding";default:return e.Debug.fail("Unrecognized helper")}}function gS(t){return function(t){if(!t.decorators)return!1;if(!e.nodeCanBeDecorated(t,t.parent,t.parent.parent))return 165!==t.kind||e.nodeIsPresent(t.body)?JS(t,e.Diagnostics.Decorators_are_not_valid_here):JS(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(167===t.kind||168===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return JS(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return!1}(t)||function(t){var r,n,i,a,o=function(t){return!!t.modifiers&&(function(t){switch(t.kind){case 167:case 168:case 166:case 163:case 162:case 165:case 164:case 171:case 256:case 261:case 260:case 267:case 266:case 208:case 209:case 160:return!1;default:if(257===t.parent.kind||297===t.parent.kind)return!1;switch(t.kind){case 251:return mS(t,129);case 252:return mS(t,125);case 253:case 232:case 254:return!0;case 255:return mS(t,84);default:return e.Debug.fail(),!1}}}(t)?JS(t,e.Diagnostics.Modifiers_cannot_appear_here):void 0)}(t);if(void 0!==o)return o;for(var s=0,c=0,u=t.modifiers;c1||e.modifiers[0].kind!==t}function yS(t,r){return void 0===r&&(r=e.Diagnostics.Trailing_comma_not_allowed),!(!t||!t.hasTrailingComma)&&KS(t[0],t.end-",".length,",".length,r)}function vS(t,r){if(t&&0===t.length){var n=t.pos-"<".length;return KS(r,n,e.skipTrivia(r.text,t.end)+">".length-n,e.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function hS(t){if(q>=3){var n=t.body&&e.isBlock(t.body)&&e.findUseStrictPrologue(t.body.statements);if(n){var i=(o=t.parameters,e.filter(o,(function(t){return!!t.initializer||e.isBindingPattern(t.name)||e.isRestParameter(t)})));if(e.length(i)){e.forEach(i,(function(t){e.addRelatedInfo(_n(t,e.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),e.createDiagnosticForNode(n,e.Diagnostics.use_strict_directive_used_here))}));var a=i.map((function(t,r){return 0===r?e.createDiagnosticForNode(t,e.Diagnostics.Non_simple_parameter_declared_here):e.createDiagnosticForNode(t,e.Diagnostics.and_here)}));return e.addRelatedInfo.apply(void 0,r([_n(n,e.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],a)),!0}}}var o;return!1}function DS(t){var r=e.getSourceFileOfNode(t);return gS(t)||vS(t.typeParameters,r)||function(t){for(var r=!1,n=t.length,i=0;i".length-i,e.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(t,r)}function bS(t){return function(t){if(t)for(var r=0,n=t;r1){r=238===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return JS(a.declarations[1],r)}var s=o[0];if(s.initializer){var r=238===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return zS(s.name,r)}if(s.type)return zS(s,r=238===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation)}}return!1}function NS(t){if(t.parameters.length===(167===t.kind?1:2))return e.getThisParameter(t)}function PS(t,r){if(function(t){return e.isDynamicName(t)&&!Qo(t)}(t))return zS(t,r)}function wS(t){if(DS(t))return!0;if(165===t.kind){if(200===t.parent.kind){if(t.modifiers&&(1!==t.modifiers.length||129!==e.first(t.modifiers).kind))return JS(t,e.Diagnostics.Modifiers_cannot_appear_here);if(kS(t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return!0;if(AS(t.exclamationToken,e.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context))return!0;if(void 0===t.body)return KS(t,t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(TS(t))return!0}if(e.isClassLike(t.parent)){if(8388608&t.flags)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(165===t.kind&&!t.body)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}else{if(253===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type);if(177===t.parent.kind)return PS(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type)}}function IS(t){return e.isStringOrNumericLiteralLike(t)||214===t.kind&&40===t.operator&&8===t.operand.kind}function OS(t){var r,n=t.initializer;if(n){var i=!(IS(n)||function(t){if((e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)&&IS(t.argumentExpression))&&e.isEntityNameExpression(t.expression))return!!(1024&Nh(t).flags)}(n)||109===n.kind||94===n.kind||(r=n,9===r.kind||214===r.kind&&40===r.operator&&9===r.operand.kind)),a=e.isDeclarationReadonly(t)||e.isVariableDeclaration(t)&&e.isVarConst(t);if(!a||t.type)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts);if(i)return zS(n,e.Diagnostics.A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference);if(!a||i)return zS(n,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}function MS(t){if(78===t.kind){if("__esModule"===e.idText(t))return function(t,r,n,i,a,o){if(!jS(e.getSourceFileOfNode(r)))return dn(t,r,n,i,a,o),!0;return!1}("noEmit",t,e.Diagnostics.Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules)}else for(var r=0,n=t.elements;r0}function JS(t,r,n,i,a){var o=e.getSourceFileOfNode(t);if(!jS(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);return $r.add(e.createFileDiagnostic(o,s.start,s.length,r,n,i,a)),!0}return!1}function KS(t,r,n,i,a,o,s){var c=e.getSourceFileOfNode(t);return!jS(c)&&($r.add(e.createFileDiagnostic(c,r,n,i,a,o,s)),!0)}function zS(t,r,n,i,a){return!jS(e.getSourceFileOfNode(t))&&($r.add(e.createDiagnosticForNode(t,r,n,i,a)),!0)}function US(t){return 253!==t.kind&&254!==t.kind&&261!==t.kind&&260!==t.kind&&267!==t.kind&&266!==t.kind&&259!==t.kind&&!e.hasSyntacticModifier(t,515)&&JS(t,e.Diagnostics.Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier)}function VS(t){if(8388608&t.flags){if(!Tn(t).hasReportedStatementInAmbientContext&&(e.isFunctionLike(t.parent)||e.isAccessor(t.parent)))return Tn(t).hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts);if(230===t.parent.kind||257===t.parent.kind||297===t.parent.kind){var r=Tn(t.parent);if(!r.hasReportedStatementInAmbientContext)return r.hasReportedStatementInAmbientContext=JS(t,e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts)}}return!1}function qS(t){if(32&t.numericLiteralFlags){var r=void 0;if(q>=1?r=e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:e.isChildOfNodeWithKind(t,191)?r=e.Diagnostics.Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:e.isChildOfNodeWithKind(t,291)&&(r=e.Diagnostics.Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),r){var n=e.isPrefixUnaryExpression(t.parent)&&40===t.parent.operator,i=(n?"-":"")+"0o"+t.text;return zS(n?t.parent:t,r,i)}}return function(t){if(16&t.numericLiteralFlags||t.text.length<=15||-1!==t.text.indexOf("."))return;var r=+e.getTextOfNode(t);if(r<=Math.pow(2,53)-1&&r+1>r)return;pn(!1,e.createDiagnosticForNode(t,e.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers))}(t),!1}function WS(t,r,n,i){if(1048576&r.flags&&2621440&t.flags){var a=Ks(t);if(a){var o=kf(a,r);if(o)return E_(r,e.map(o,(function(e){return[function(){return po(e)},e.escapedName]})),n,void 0,i)}}}},function(e){e.JSX="JSX",e.IntrinsicElements="IntrinsicElements",e.ElementClass="ElementClass",e.ElementAttributesPropertyNameContainer="ElementAttributesProperty",e.ElementChildrenAttributeNameContainer="ElementChildrenAttribute",e.Element="Element",e.IntrinsicAttributes="IntrinsicAttributes",e.IntrinsicClassAttributes="IntrinsicClassAttributes",e.LibraryManagedAttributes="LibraryManagedAttributes"}(N||(N={})),e.signatureHasRestParameter=K,e.signatureHasLiteralTypes=z}(u||(u={})),function(e){var t=e.or(e.isTypeNode,e.isTypeParameterDeclaration);function r(t,r,n,i){if(void 0===t||void 0===r)return t;var a,o=r(t);return o===t?t:void 0!==o?(a=e.isArray(o)?(i||c)(o):o,e.Debug.assertNode(a,n),a):void 0}function n(t,r,n,i,a){if(void 0===t||void 0===r)return t;var o,s,c=t.length;(void 0===i||i<0)&&(i=0),(void 0===a||a>c-i)&&(a=c-i);var u=-1,l=-1;(i>0||a=2&&(s=function(t,r){for(var n,i=0;i0&&p<=156||187===p)return o;var f=u.factory;switch(p){case 78:return f.updateIdentifier(o,l(o.typeArguments,c,t));case 157:return f.updateQualifiedName(o,_(o.left,c,e.isEntityName),_(o.right,c,e.isIdentifier));case 158:return f.updateComputedPropertyName(o,_(o.expression,c,e.isExpression));case 159:return f.updateTypeParameterDeclaration(o,_(o.name,c,e.isIdentifier),_(o.constraint,c,e.isTypeNode),_(o.default,c,e.isTypeNode));case 160:return f.updateParameterDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.dotDotDotToken,d,e.isToken),_(o.name,c,e.isBindingName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 161:return f.updateDecorator(o,_(o.expression,c,e.isExpression));case 162:return f.updatePropertySignature(o,l(o.modifiers,c,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 163:return f.updatePropertyDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken||o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 164:return f.updateMethodSignature(o,l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 165:return f.updateMethodDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isPropertyName),_(o.questionToken,d,e.isToken),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 166:return f.updateConstructorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),a(o.parameters,c,u,l),s(o.body,c,u,_));case 167:return f.updateGetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 168:return f.updateSetAccessorDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isPropertyName),a(o.parameters,c,u,l),s(o.body,c,u,_));case 169:return f.updateCallSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 170:return f.updateConstructSignature(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 171:return f.updateIndexSignature(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 172:return f.updateTypePredicateNode(o,_(o.assertsModifier,c),_(o.parameterName,c),_(o.type,c,e.isTypeNode));case 173:return f.updateTypeReferenceNode(o,_(o.typeName,c,e.isEntityName),l(o.typeArguments,c,e.isTypeNode));case 174:return f.updateFunctionTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 175:return f.updateConstructorTypeNode(o,l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.parameters,c,e.isParameterDeclaration),_(o.type,c,e.isTypeNode));case 176:return f.updateTypeQueryNode(o,_(o.exprName,c,e.isEntityName));case 177:return f.updateTypeLiteralNode(o,l(o.members,c,e.isTypeElement));case 178:return f.updateArrayTypeNode(o,_(o.elementType,c,e.isTypeNode));case 179:return f.updateTupleTypeNode(o,l(o.elements,c,e.isTypeNode));case 180:return f.updateOptionalTypeNode(o,_(o.type,c,e.isTypeNode));case 181:return f.updateRestTypeNode(o,_(o.type,c,e.isTypeNode));case 182:return f.updateUnionTypeNode(o,l(o.types,c,e.isTypeNode));case 183:return f.updateIntersectionTypeNode(o,l(o.types,c,e.isTypeNode));case 184:return f.updateConditionalTypeNode(o,_(o.checkType,c,e.isTypeNode),_(o.extendsType,c,e.isTypeNode),_(o.trueType,c,e.isTypeNode),_(o.falseType,c,e.isTypeNode));case 185:return f.updateInferTypeNode(o,_(o.typeParameter,c,e.isTypeParameterDeclaration));case 195:return f.updateImportTypeNode(o,_(o.argument,c,e.isTypeNode),_(o.qualifier,c,e.isEntityName),n(o.typeArguments,c,e.isTypeNode),o.isTypeOf);case 192:return f.updateNamedTupleMember(o,r(o.dotDotDotToken,c,e.isToken),r(o.name,c,e.isIdentifier),r(o.questionToken,c,e.isToken),r(o.type,c,e.isTypeNode));case 186:return f.updateParenthesizedType(o,_(o.type,c,e.isTypeNode));case 188:return f.updateTypeOperatorNode(o,_(o.type,c,e.isTypeNode));case 189:return f.updateIndexedAccessTypeNode(o,_(o.objectType,c,e.isTypeNode),_(o.indexType,c,e.isTypeNode));case 190:return f.updateMappedTypeNode(o,_(o.readonlyToken,d,e.isToken),_(o.typeParameter,c,e.isTypeParameterDeclaration),_(o.nameType,c,e.isTypeNode),_(o.questionToken,d,e.isToken),_(o.type,c,e.isTypeNode));case 191:return f.updateLiteralTypeNode(o,_(o.literal,c,e.isExpression));case 193:return f.updateTemplateLiteralType(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateLiteralTypeSpan));case 194:return f.updateTemplateLiteralTypeSpan(o,_(o.type,c,e.isTypeNode),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 196:return f.updateObjectBindingPattern(o,l(o.elements,c,e.isBindingElement));case 197:return f.updateArrayBindingPattern(o,l(o.elements,c,e.isArrayBindingElement));case 198:return f.updateBindingElement(o,_(o.dotDotDotToken,d,e.isToken),_(o.propertyName,c,e.isPropertyName),_(o.name,c,e.isBindingName),_(o.initializer,c,e.isExpression));case 199:return f.updateArrayLiteralExpression(o,l(o.elements,c,e.isExpression));case 200:return f.updateObjectLiteralExpression(o,l(o.properties,c,e.isObjectLiteralElementLike));case 201:return 32&o.flags?f.updatePropertyAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.name,c,e.isIdentifier)):f.updatePropertyAccessExpression(o,_(o.expression,c,e.isExpression),_(o.name,c,e.isIdentifierOrPrivateIdentifier));case 202:return 32&o.flags?f.updateElementAccessChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),_(o.argumentExpression,c,e.isExpression)):f.updateElementAccessExpression(o,_(o.expression,c,e.isExpression),_(o.argumentExpression,c,e.isExpression));case 203:return 32&o.flags?f.updateCallChain(o,_(o.expression,c,e.isExpression),_(o.questionDotToken,d,e.isToken),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression)):f.updateCallExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 204:return f.updateNewExpression(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode),l(o.arguments,c,e.isExpression));case 205:return f.updateTaggedTemplateExpression(o,_(o.tag,c,e.isExpression),n(o.typeArguments,c,e.isExpression),_(o.template,c,e.isTemplateLiteral));case 206:return f.updateTypeAssertion(o,_(o.type,c,e.isTypeNode),_(o.expression,c,e.isExpression));case 207:return f.updateParenthesizedExpression(o,_(o.expression,c,e.isExpression));case 208:return f.updateFunctionExpression(o,l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 209:return f.updateArrowFunction(o,l(o.modifiers,c,e.isModifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),_(o.equalsGreaterThanToken,d,e.isToken),s(o.body,c,u,_));case 210:return f.updateDeleteExpression(o,_(o.expression,c,e.isExpression));case 211:return f.updateTypeOfExpression(o,_(o.expression,c,e.isExpression));case 212:return f.updateVoidExpression(o,_(o.expression,c,e.isExpression));case 213:return f.updateAwaitExpression(o,_(o.expression,c,e.isExpression));case 214:return f.updatePrefixUnaryExpression(o,_(o.operand,c,e.isExpression));case 215:return f.updatePostfixUnaryExpression(o,_(o.operand,c,e.isExpression));case 216:return f.updateBinaryExpression(o,_(o.left,c,e.isExpression),_(o.operatorToken,d,e.isToken),_(o.right,c,e.isExpression));case 217:return f.updateConditionalExpression(o,_(o.condition,c,e.isExpression),_(o.questionToken,d,e.isToken),_(o.whenTrue,c,e.isExpression),_(o.colonToken,d,e.isToken),_(o.whenFalse,c,e.isExpression));case 218:return f.updateTemplateExpression(o,_(o.head,c,e.isTemplateHead),l(o.templateSpans,c,e.isTemplateSpan));case 219:return f.updateYieldExpression(o,_(o.asteriskToken,d,e.isToken),_(o.expression,c,e.isExpression));case 220:return f.updateSpreadElement(o,_(o.expression,c,e.isExpression));case 221:return f.updateClassExpression(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 223:return f.updateExpressionWithTypeArguments(o,_(o.expression,c,e.isExpression),l(o.typeArguments,c,e.isTypeNode));case 224:return f.updateAsExpression(o,_(o.expression,c,e.isExpression),_(o.type,c,e.isTypeNode));case 225:return 32&o.flags?f.updateNonNullChain(o,_(o.expression,c,e.isExpression)):f.updateNonNullExpression(o,_(o.expression,c,e.isExpression));case 226:return f.updateMetaProperty(o,_(o.name,c,e.isIdentifier));case 228:return f.updateTemplateSpan(o,_(o.expression,c,e.isExpression),_(o.literal,c,e.isTemplateMiddleOrTemplateTail));case 230:return f.updateBlock(o,l(o.statements,c,e.isStatement));case 232:return f.updateVariableStatement(o,l(o.modifiers,c,e.isModifier),_(o.declarationList,c,e.isVariableDeclarationList));case 233:return f.updateExpressionStatement(o,_(o.expression,c,e.isExpression));case 234:return f.updateIfStatement(o,_(o.expression,c,e.isExpression),_(o.thenStatement,c,e.isStatement,f.liftToBlock),_(o.elseStatement,c,e.isStatement,f.liftToBlock));case 235:return f.updateDoStatement(o,_(o.statement,c,e.isStatement,f.liftToBlock),_(o.expression,c,e.isExpression));case 236:return f.updateWhileStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 237:return f.updateForStatement(o,_(o.initializer,c,e.isForInitializer),_(o.condition,c,e.isExpression),_(o.incrementor,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 238:return f.updateForInStatement(o,_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 239:return f.updateForOfStatement(o,_(o.awaitModifier,d,e.isToken),_(o.initializer,c,e.isForInitializer),_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 240:return f.updateContinueStatement(o,_(o.label,c,e.isIdentifier));case 241:return f.updateBreakStatement(o,_(o.label,c,e.isIdentifier));case 242:return f.updateReturnStatement(o,_(o.expression,c,e.isExpression));case 243:return f.updateWithStatement(o,_(o.expression,c,e.isExpression),_(o.statement,c,e.isStatement,f.liftToBlock));case 244:return f.updateSwitchStatement(o,_(o.expression,c,e.isExpression),_(o.caseBlock,c,e.isCaseBlock));case 245:return f.updateLabeledStatement(o,_(o.label,c,e.isIdentifier),_(o.statement,c,e.isStatement,f.liftToBlock));case 246:return f.updateThrowStatement(o,_(o.expression,c,e.isExpression));case 247:return f.updateTryStatement(o,_(o.tryBlock,c,e.isBlock),_(o.catchClause,c,e.isCatchClause),_(o.finallyBlock,c,e.isBlock));case 249:return f.updateVariableDeclaration(o,_(o.name,c,e.isBindingName),_(o.exclamationToken,d,e.isToken),_(o.type,c,e.isTypeNode),_(o.initializer,c,e.isExpression));case 250:return f.updateVariableDeclarationList(o,l(o.declarations,c,e.isVariableDeclaration));case 251:return f.updateFunctionDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.asteriskToken,d,e.isToken),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),a(o.parameters,c,u,l),_(o.type,c,e.isTypeNode),s(o.body,c,u,_));case 252:return f.updateClassDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isClassElement));case 253:return f.updateInterfaceDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),l(o.heritageClauses,c,e.isHeritageClause),l(o.members,c,e.isTypeElement));case 254:return f.updateTypeAliasDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.typeParameters,c,e.isTypeParameterDeclaration),_(o.type,c,e.isTypeNode));case 255:return f.updateEnumDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),l(o.members,c,e.isEnumMember));case 256:return f.updateModuleDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.body,c,e.isModuleBody));case 257:return f.updateModuleBlock(o,l(o.statements,c,e.isStatement));case 258:return f.updateCaseBlock(o,l(o.clauses,c,e.isCaseOrDefaultClause));case 259:return f.updateNamespaceExportDeclaration(o,_(o.name,c,e.isIdentifier));case 260:return f.updateImportEqualsDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.name,c,e.isIdentifier),_(o.moduleReference,c,e.isModuleReference));case 261:return f.updateImportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.importClause,c,e.isImportClause),_(o.moduleSpecifier,c,e.isExpression));case 262:return f.updateImportClause(o,o.isTypeOnly,_(o.name,c,e.isIdentifier),_(o.namedBindings,c,e.isNamedImportBindings));case 263:return f.updateNamespaceImport(o,_(o.name,c,e.isIdentifier));case 269:return f.updateNamespaceExport(o,_(o.name,c,e.isIdentifier));case 264:return f.updateNamedImports(o,l(o.elements,c,e.isImportSpecifier));case 265:return f.updateImportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 266:return f.updateExportAssignment(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),_(o.expression,c,e.isExpression));case 267:return f.updateExportDeclaration(o,l(o.decorators,c,e.isDecorator),l(o.modifiers,c,e.isModifier),o.isTypeOnly,_(o.exportClause,c,e.isNamedExportBindings),_(o.moduleSpecifier,c,e.isExpression));case 268:return f.updateNamedExports(o,l(o.elements,c,e.isExportSpecifier));case 270:return f.updateExportSpecifier(o,_(o.propertyName,c,e.isIdentifier),_(o.name,c,e.isIdentifier));case 272:return f.updateExternalModuleReference(o,_(o.expression,c,e.isExpression));case 273:return f.updateJsxElement(o,_(o.openingElement,c,e.isJsxOpeningElement),l(o.children,c,e.isJsxChild),_(o.closingElement,c,e.isJsxClosingElement));case 274:return f.updateJsxSelfClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 275:return f.updateJsxOpeningElement(o,_(o.tagName,c,e.isJsxTagNameExpression),l(o.typeArguments,c,e.isTypeNode),_(o.attributes,c,e.isJsxAttributes));case 276:return f.updateJsxClosingElement(o,_(o.tagName,c,e.isJsxTagNameExpression));case 277:return f.updateJsxFragment(o,_(o.openingFragment,c,e.isJsxOpeningFragment),l(o.children,c,e.isJsxChild),_(o.closingFragment,c,e.isJsxClosingFragment));case 280:return f.updateJsxAttribute(o,_(o.name,c,e.isIdentifier),_(o.initializer,c,e.isStringLiteralOrJsxExpression));case 281:return f.updateJsxAttributes(o,l(o.properties,c,e.isJsxAttributeLike));case 282:return f.updateJsxSpreadAttribute(o,_(o.expression,c,e.isExpression));case 283:return f.updateJsxExpression(o,_(o.expression,c,e.isExpression));case 284:return f.updateCaseClause(o,_(o.expression,c,e.isExpression),l(o.statements,c,e.isStatement));case 285:return f.updateDefaultClause(o,l(o.statements,c,e.isStatement));case 286:return f.updateHeritageClause(o,l(o.types,c,e.isExpressionWithTypeArguments));case 287:return f.updateCatchClause(o,_(o.variableDeclaration,c,e.isVariableDeclaration),_(o.block,c,e.isBlock));case 288:return f.updatePropertyAssignment(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 289:return f.updateShorthandPropertyAssignment(o,_(o.name,c,e.isIdentifier),_(o.objectAssignmentInitializer,c,e.isExpression));case 290:return f.updateSpreadAssignment(o,_(o.expression,c,e.isExpression));case 291:return f.updateEnumMember(o,_(o.name,c,e.isPropertyName),_(o.initializer,c,e.isExpression));case 297:return f.updateSourceFile(o,i(o.statements,c,u));case 336:return f.updatePartiallyEmittedExpression(o,_(o.expression,c,e.isExpression));case 337:return f.updateCommaListExpression(o,l(o.elements,c,e.isExpression));default:return o}}}}(u||(u={})),function(e){e.createSourceMapGenerator=function(t,r,n,i,o){var c,u,l=o.extendedDiagnostics?e.performance.createTimer("Source Map","beforeSourcemap","afterSourcemap"):e.performance.nullTimer,d=l.enter,_=l.exit,p=[],f=[],g=new e.Map,m=[],y="",v=0,h=0,D=0,x=0,b=0,S=0,E=!1,C=0,T=0,k=0,A=0,F=0,N=0,P=!1,w=!1,I=!1;return{getSources:function(){return p},addSource:O,setSourceContent:M,addName:L,addMapping:R,appendSourceMap:function(t,r,n,i,o,s){e.Debug.assert(t>=C,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),d();for(var c,u=[],l=a(n.mappings),p=l.next();!p.done;p=l.next()){var f=p.value;if(s&&(f.generatedLine>s.line||f.generatedLine===s.line&&f.generatedCharacter>s.character))break;if(!o||!(f.generatedLine=C,"generatedLine cannot backtrack"),e.Debug.assert(r>=0,"generatedCharacter cannot be negative"),e.Debug.assert(void 0===n||n>=0,"sourceIndex cannot be negative"),e.Debug.assert(void 0===i||i>=0,"sourceLine cannot be negative"),e.Debug.assert(void 0===a||a>=0,"sourceCharacter cannot be negative"),d(),(function(e,t){return!P||C!==e||T!==t}(t,r)||function(e,t,r){return void 0!==e&&void 0!==t&&void 0!==r&&k===e&&(A>t||A===t&&F>r)}(n,i,a))&&(B(),C=t,T=r,w=!1,I=!1,P=!0),void 0!==n&&void 0!==i&&void 0!==a&&(k=n,A=i,F=a,w=!0,void 0!==o&&(N=o,I=!0)),_()}function B(){if(P&&(!E||v!==C||h!==T||D!==k||x!==A||b!==F||S!==N)){if(d(),v=e.length)return _("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var o=(t=e.charCodeAt(n))>=65&&t<=90?t-65:t>=97&&t<=122?t-97+26:t>=48&&t<=57?t-48+52:43===t?62:47===t?63:-1;if(-1===o)return _("Invalid character in VLQ"),-1;r=0!=(32&o),a|=(31&o)<>=1:a=-(a>>=1),a}}function o(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function s(t){t<0?t=1+(-t<<1):t<<=1;var r,n="";do{var i=31&t;(t>>=5)>0&&(i|=32),n+=String.fromCharCode((r=i)>=0&&r<26?65+r:r>=26&&r<52?97+r-26:r>=52&&r<62?48+r-52:62===r?43:63===r?47:e.Debug.fail(r+": not a base64 value"))}while(t>0);return n}function c(e){return void 0!==e.sourceIndex&&void 0!==e.sourcePosition}function u(e,t){return e.generatedPosition===t.generatedPosition&&e.sourceIndex===t.sourceIndex&&e.sourcePosition===t.sourcePosition}function l(t,r){return e.Debug.assert(t.sourceIndex===r.sourceIndex),e.compareValues(t.sourcePosition,r.sourcePosition)}function d(t,r){return e.compareValues(t.generatedPosition,r.generatedPosition)}function _(e){return e.sourcePosition}function p(e){return e.generatedPosition}e.getLineInfo=function(e,t){return{getLineCount:function(){return t.length},getLineText:function(r){return e.substring(t[r],t[r+1])}}},e.tryGetSourceMappingURL=function(e){for(var n=e.getLineCount()-1;n>=0;n--){var i=e.getLineText(n),a=t.exec(i);if(a)return a[1];if(!i.match(r))break}},e.isRawSourceMap=i,e.tryParseRawSourceMap=function(e){try{var t=JSON.parse(e);if(i(t))return t}catch(e){}},e.decodeMappings=a,e.sameMapping=function(e,t){return e===t||e.generatedLine===t.generatedLine&&e.generatedCharacter===t.generatedCharacter&&e.sourceIndex===t.sourceIndex&&e.sourceLine===t.sourceLine&&e.sourceCharacter===t.sourceCharacter&&e.nameIndex===t.nameIndex},e.isSourceMapping=o,e.createDocumentPositionMapper=function(t,r,n){var i,s,f,g=e.getDirectoryPath(n),m=r.sourceRoot?e.getNormalizedAbsolutePath(r.sourceRoot,g):g,y=e.getNormalizedAbsolutePath(r.file,g),v=t.getSourceFileLike(y),h=r.sources.map((function(t){return e.getNormalizedAbsolutePath(t,m)})),D=new e.Map(h.map((function(e,r){return[t.getCanonicalFileName(e),r]})));return{getSourcePosition:function(t){var r=E();if(!e.some(r))return t;var n=e.binarySearchKey(r,t.pos,p,e.compareValues);n<0&&(n=~n);var i=r[n];if(void 0===i||!c(i))return t;return{fileName:h[i.sourceIndex],pos:i.sourcePosition}},getGeneratedPosition:function(r){var n=D.get(t.getCanonicalFileName(r.fileName));if(void 0===n)return r;var i=S(n);if(!e.some(i))return r;var a=e.binarySearchKey(i,r.pos,_,e.compareValues);a<0&&(a=~a);var o=i[a];if(void 0===o||o.sourceIndex!==n)return r;return{fileName:y,pos:o.generatedPosition}}};function x(n){var i,a,s=void 0!==v?e.getPositionOfLineAndCharacter(v,n.generatedLine,n.generatedCharacter,!0):-1;if(o(n)){var c=t.getSourceFileLike(h[n.sourceIndex]);i=r.sources[n.sourceIndex],a=void 0!==c?e.getPositionOfLineAndCharacter(c,n.sourceLine,n.sourceCharacter,!0):-1}return{generatedPosition:s,source:i,sourceIndex:n.sourceIndex,sourcePosition:a,nameIndex:n.nameIndex}}function b(){if(void 0===i){var n=a(r.mappings),o=e.arrayFrom(n,x);void 0!==n.error?(t.log&&t.log("Encountered error while decoding sourcemap: "+n.error),i=e.emptyArray):i=o}return i}function S(t){if(void 0===f){for(var r=[],n=0,i=b();n0&&i!==n.elements.length||!!(n.elements.length-i)&&e.isDefaultImport(t)}function i(t){return!n(t)&&(e.isDefaultImport(t)||!!t.importClause&&e.isNamedImports(t.importClause.namedBindings)&&function(t){return!!t&&!!e.isNamedImports(t)&&e.some(t.elements,r)}(t.importClause.namedBindings))}function a(t,r,n){if(e.isBindingPattern(t.name))for(var i=0,o=t.name.elements;i=63&&e<=77},e.getNonAssignmentOperatorForCompoundAssignment=function(e){switch(e){case 63:return 39;case 64:return 40;case 65:return 41;case 66:return 42;case 67:return 43;case 68:return 44;case 69:return 47;case 70:return 48;case 71:return 49;case 72:return 50;case 73:return 51;case 77:return 52;case 74:return 56;case 75:return 55;case 76:return 60}},e.addPrologueDirectivesAndInitialSuperCall=function(t,r,n,i){if(r.body){var a=r.body.statements,o=t.copyPrologue(a,n,!1,i);if(o===a.length)return o;var s=e.findIndex(a,(function(t){return e.isExpressionStatement(t)&&e.isSuperCall(t.expression)}),o);if(s>-1){for(var c=o;c<=s;c++)n.push(e.visitNode(a[c],i,e.isStatement));return s+1}return o}return 0},e.getProperties=function(t,r,n){return e.filter(t.members,(function(t){return function(t,r,n){return e.isPropertyDeclaration(t)&&(!!t.initializer||!r)&&e.hasStaticModifier(t)===n}(t,r,n)}))},e.isInitializedProperty=function(e){return 163===e.kind&&void 0!==e.initializer}}(u||(u={})),function(e){function t(r,n){var i=e.getTargetOfBindingOrAssignmentElement(r);return e.isBindingOrAssignmentPattern(i)?function(r,n){for(var i=e.getElementsOfBindingOrAssignmentPattern(r),a=0,o=i;a=1)||24576&f.transformFlags||24576&e.getTargetOfBindingOrAssignmentElement(f).transformFlags||e.isComputedPropertyName(g)){u&&(t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i),u=void 0);var m=a(t,s,g);e.isComputedPropertyName(g)&&(l=e.append(l,m.argumentExpression)),n(t,f,m,f)}else u=e.append(u,e.visitNode(f,t.visitor))}}u&&t.emitBindingOrAssignment(t.createObjectBindingOrAssignmentPattern(u),s,c,i)}(t,r,l,s,c):e.isArrayBindingOrAssignmentPattern(l)?function(t,r,a,s,c){var u,l,d=e.getElementsOfBindingOrAssignmentPattern(a),_=d.length;if(t.level<1&&t.downlevelIteration)s=o(t,e.setTextRange(t.context.getEmitHelperFactory().createReadHelper(s,_>0&&e.getRestIndicatorOfBindingOrAssignmentElement(d[_-1])?void 0:_),c),!1,c);else if(1!==_&&(t.level<1||0===_)||e.every(d,e.isOmittedExpression)){s=o(t,s,!e.isDeclarationBindingElement(r)||0!==_,c)}for(var p=0;p<_;p++){var f=d[p];if(t.level>=1)if(16384&f.transformFlags||t.hasTransformedPriorElement&&!i(f)){t.hasTransformedPriorElement=!0;var g=t.context.factory.createTempVariable(void 0);t.hoistTempVariables&&t.context.hoistVariableDeclaration(g),l=e.append(l,[g,f]),u=e.append(u,t.createArrayBindingOrAssignmentElement(g))}else u=e.append(u,f);else{if(e.isOmittedExpression(f))continue;if(e.getRestIndicatorOfBindingOrAssignmentElement(f)){if(p===_-1){m=t.context.factory.createArraySliceCall(s,p);n(t,f,m,f)}}else{var m=t.context.factory.createElementAccessExpression(s,p);n(t,f,m,f)}}}u&&t.emitBindingOrAssignment(t.createArrayBindingOrAssignmentPattern(u),s,c,a);if(l)for(var y=0,v=l;y0)return!0;var r=e.getFirstConstructorWithBody(t);if(r)return e.forEach(r.parameters,B);return!1})(t)&&(n|=2);e.childIsDecorated(t)&&(n|=4);Te(t)?n|=8:!function(t){return ke(t)&&e.hasSyntacticModifier(t,512)}(t)?Ae(t)&&(n|=16):n|=32;x<=1&&7&n&&(n|=128);return n}(i,a);128&o&&t.startLexicalEnvironment();var s=i.name||(5&o?_.getGeneratedNameForNode(i):void 0),c=2&o?function(r,n){var i=e.moveRangePastDecorators(r),a=function(r){if(16777216&v.getNodeCheckFlags(r)){0==(1&u)&&(u|=1,t.enableSubstitution(78),l=[]);var n=_.createUniqueName(r.name&&!e.isGeneratedIdentifier(r.name)?e.idText(r.name):"default");return l[e.getOriginalNodeId(r)]=n,y(n),n}}(r),o=_.getLocalName(r,!1,!0),s=e.visitNodes(r.heritageClauses,k,e.isHeritageClause),c=K(r),d=_.createClassExpression(void 0,void 0,n,void 0,s,c);e.setOriginalNode(d,r),e.setTextRange(d,i);var p=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(o,void 0,void 0,a?_.createAssignment(a,d):d)],1));return e.setOriginalNode(p,r),e.setTextRange(p,i),e.setCommentRange(p,r),p}(i,s):function(t,r,n){var i=128&n?void 0:e.visitNodes(t.modifiers,M,e.isModifier),a=_.createClassDeclaration(void 0,i,r,void 0,e.visitNodes(t.heritageClauses,k,e.isHeritageClause),K(t)),o=e.getEmitFlags(t);1&n&&(o|=32);return e.setTextRange(a,t),e.setOriginalNode(a,t),e.setEmitFlags(a,o),a}(i,s,o),d=[c];if(H(d,i,!1),H(d,i,!0),function(t,r){var n=function(t){var r=function(t){var r=t.decorators,n=V(e.getFirstConstructorWithBody(t));if(!r&&!n)return;return{decorators:r,parameters:n}}(t),n=W(t,t,r);if(!n)return;var i=l&&l[e.getOriginalNodeId(t)],a=_.getLocalName(t,!1,!0),o=p().createDecorateHelper(n,a),s=_.createAssignment(a,i?_.createAssignment(i,o):o);return e.setEmitFlags(s,1536),e.setSourceMapRange(s,e.moveRangePastDecorators(t)),s}(r);n&&t.push(e.setOriginalNode(_.createExpressionStatement(n),r))}(d,i),128&o){var f=e.createTokenRange(e.skipTrivia(r.text,i.members.end),19),g=_.getInternalName(i),m=_.createPartiallyEmittedExpression(g);e.setTextRangeEnd(m,f.end),e.setEmitFlags(m,1536);var h=_.createReturnStatement(m);e.setTextRangePos(h,f.pos),e.setEmitFlags(h,1920),d.push(h),e.insertStatementsAfterStandardPrologue(d,t.endLexicalEnvironment());var D=_.createImmediatelyInvokedArrowFunction(d);e.setEmitFlags(D,33554432);var b=_.createVariableStatement(void 0,_.createVariableDeclarationList([_.createVariableDeclaration(_.getLocalName(i,!1,!1),void 0,void 0,D)]));e.setOriginalNode(b,i),e.setCommentRange(b,i),e.setSourceMapRange(b,e.moveRangePastDecorators(i)),e.startOnNewLine(b),d=[b]}8&o?Ne(d,i):(128&o||2&o)&&(32&o?d.push(_.createExportDefault(_.getLocalName(i,!1,!0))):16&o&&d.push(_.createExternalModuleExport(_.getLocalName(i,!1,!0))));d.length>1&&(d.push(_.createEndOfDeclarationMarker(i)),e.setEmitFlags(c,4194304|e.getEmitFlags(c)));return e.singleOrMany(d)}(o);case 221:return function(r){if(!J(r))return e.visitEachChild(r,k,t);var n=_.createClassExpression(void 0,void 0,r.name,void 0,e.visitNodes(r.heritageClauses,k,e.isHeritageClause),K(r));return e.setOriginalNode(n,r),e.setTextRange(n,r),n}(o);case 286:return function(r){if(116===r.token)return;return e.visitEachChild(r,k,t)}(o);case 223:return function(t){return _.updateExpressionWithTypeArguments(t,e.visitNode(t.expression,k,e.isLeftHandSideExpression),void 0)}(o);case 165:return function(r){if(!se(r))return;var n=_.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,oe(r),void 0,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 167:return function(r){if(!de(r))return;var n=_.updateGetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 168:return function(r){if(!de(r))return;var n=_.updateSetAccessorDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),oe(r),e.visitParameterList(r.parameters,k,t),e.visitFunctionBody(r.body,k,t)||_.createBlock([]));n!==r&&(e.setCommentRange(n,r),e.setSourceMapRange(n,e.moveRangePastDecorators(r)));return n}(o);case 251:return function(r){if(!se(r))return _.createNotEmittedStatement(r);var n=_.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]));if(Te(r)){var i=[n];return Ne(i,r),i}return n}(o);case 208:return function(r){if(!se(r))return _.createOmittedExpression();return _.updateFunctionExpression(r,e.visitNodes(r.modifiers,M,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,k,t),void 0,e.visitFunctionBody(r.body,k,t)||_.createBlock([]))}(o);case 209:return function(r){return _.updateArrowFunction(r,e.visitNodes(r.modifiers,M,e.isModifier),void 0,e.visitParameterList(r.parameters,k,t),void 0,r.equalsGreaterThanToken,e.visitFunctionBody(r.body,k,t))}(o);case 160:return function(t){if(e.parameterIsThisKeyword(t))return;var r=_.updateParameterDeclaration(t,void 0,void 0,t.dotDotDotToken,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression));r!==t&&(e.setCommentRange(r,t),e.setTextRange(r,e.moveRangePastModifiers(t)),e.setSourceMapRange(r,e.moveRangePastModifiers(t)),e.setEmitFlags(r.name,32));return r}(o);case 207:return function(n){var i=e.skipOuterExpressions(n.expression,-7);if(e.isAssertionExpression(i)){var a=e.visitNode(n.expression,k,e.isExpression);return e.length(e.getLeadingCommentRangesOfNode(a,r))?_.updateParenthesizedExpression(n,a):_.createPartiallyEmittedExpression(a,n)}return e.visitEachChild(n,k,t)}(o);case 206:case 224:return function(t){var r=e.visitNode(t.expression,k,e.isExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 203:return function(t){return _.updateCallExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 204:return function(t){return _.updateNewExpression(t,e.visitNode(t.expression,k,e.isExpression),void 0,e.visitNodes(t.arguments,k,e.isExpression))}(o);case 205:return function(t){return _.updateTaggedTemplateExpression(t,e.visitNode(t.tag,k,e.isExpression),void 0,e.visitNode(t.template,k,e.isExpression))}(o);case 225:return function(t){var r=e.visitNode(t.expression,k,e.isLeftHandSideExpression);return _.createPartiallyEmittedExpression(r,t)}(o);case 255:return function(t){if(!function(t){return!e.isEnumConst(t)||h.preserveConstEnums||h.isolatedModules}(t))return _.createNotEmittedStatement(t);var n=[],o=2,s=ye(n,t);s&&(b===e.ModuleKind.System&&a===r||(o|=512));var c=Ie(t),u=Oe(t),l=e.hasSyntacticModifier(t,1)?_.getExternalModuleOrNamespaceExportName(i,t,!1,!0):_.getLocalName(t,!1,!0),d=_.createLogicalOr(l,_.createAssignment(l,_.createObjectLiteralExpression()));if(fe(t)){var p=_.getLocalName(t,!1,!0);d=_.createAssignment(p,d)}var g=_.createExpressionStatement(_.createCallExpression(_.createFunctionExpression(void 0,void 0,void 0,void 0,[_.createParameterDeclaration(void 0,void 0,void 0,c)],void 0,function(t,r){var n=i;i=r;var a=[];f();var o=e.map(t.members,pe);return e.insertStatementsAfterStandardPrologue(a,m()),e.addRange(a,o),i=n,_.createBlock(e.setTextRange(_.createNodeArray(a),t.members),!0)}(t,u)),void 0,[d]));e.setOriginalNode(g,t),s&&(e.setSyntheticLeadingComments(g,void 0),e.setSyntheticTrailingComments(g,void 0));return e.setTextRange(g,t),e.addEmitFlags(g,o),n.push(g),n.push(_.createEndOfDeclarationMarker(t)),n}(o);case 232:return function(r){if(Te(r)){var n=e.getInitializedVariables(r.declarationList);if(0===n.length)return;return e.setTextRange(_.createExpressionStatement(_.inlineExpressions(e.map(n,_e))),r)}return e.visitEachChild(r,k,t)}(o);case 249:return function(t){return _.updateVariableDeclaration(t,e.visitNode(t.name,k,e.isBindingName),void 0,void 0,e.visitNode(t.initializer,k,e.isExpression))}(o);case 256:return ve(o);case 260:return Ce(o);case 274:return function(t){return _.updateJsxSelfClosingElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);case 275:return function(t){return _.updateJsxOpeningElement(t,e.visitNode(t.tagName,k,e.isJsxTagNameExpression),void 0,e.visitNode(t.attributes,k,e.isJsxAttributes))}(o);default:return e.visitEachChild(o,k,t)}}function R(r){var n=e.getStrictOptionValue(h,"alwaysStrict")&&!(e.isExternalModule(r)&&b>=e.ModuleKind.ES2015)&&!e.isJsonSourceFile(r);return _.updateSourceFile(r,e.visitLexicalEnvironment(r.statements,F,t,0,n))}function B(e){return void 0!==e.decorators&&e.decorators.length>0}function j(e){return!!(2048&e.transformFlags)}function J(t){return e.some(t.decorators)||e.some(t.typeParameters)||e.some(t.heritageClauses,j)||e.some(t.members,j)}function K(t){var r=[],n=e.getFirstConstructorWithBody(t),i=n&&e.filter(n.parameters,(function(t){return e.isParameterPropertyDeclaration(t,n)}));if(i)for(var a=0,o=i;a0&&e.parameterIsThisKeyword(n[0]),a=i?1:0,o=i?n.length-1:n.length,s=0;s0?163===r.kind?_.createVoidZero():_.createNull():void 0,s=p().createDecorateHelper(n,i,a,o);return e.setTextRange(s,e.moveRangePastDecorators(r)),e.setEmitFlags(s,1536),s}}function Y(t){return e.visitNode(t.expression,k,e.isExpression)}function X(t,r){var n;if(t){n=[];for(var i=0,a=t;ic&&(a||e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c,_-c)),c=_)}N(d,o,s.createThis()),n&&e.addRange(d,e.visitNodes(n.body.statements,v,e.isStatement,c));return d=s.mergeLexicalEnvironment(d,u()),e.setTextRange(s.createBlock(e.setTextRange(s.createNodeArray(d),n?n.body.statements:r.members),!0),n?n.body:void 0)}(r,i,n);if(!c)return;return e.startOnNewLine(e.setOriginalNode(e.setTextRange(s.createConstructorDeclaration(void 0,void 0,null!=o?o:[],c),i||r),i))}(r,n);return d&&c.push(d),e.addRange(c,e.visitNodes(r.members,D,e.isClassElement)),e.setTextRange(s.createNodeArray(c),r.members)}function F(r){return!(!e.isPropertyDeclaration(r)||e.hasStaticModifier(r))&&(t.getCompilerOptions().useDefineForClassFields?p<99:e.isInitializedProperty(r)||f&&e.isPrivateIdentifierPropertyDeclaration(r))}function N(t,r,n){for(var i=0,a=r;i=0;--t){var r,n=y[t];if(n)if(r=n.get(e.escapedText))return r}}function M(r){var n=s.getGeneratedNameForNode(r),i=O(r.name);if(!i)return e.visitEachChild(r,v,t);var a=r.expression;return(e.isThisProperty(r)||e.isSuperProperty(r)||!e.isSimpleCopiableExpression(r.expression))&&(a=s.createTempVariable(c,!0),w().push(s.createBinaryExpression(a,62,r.expression))),s.createPropertyAccessExpression(s.createParenthesizedExpression(s.createObjectLiteralExpression([s.createSetAccessorDeclaration(void 0,void 0,"value",[s.createParameterDeclaration(void 0,void 0,void 0,n,void 0,void 0,void 0)],s.createBlock([s.createExpressionStatement(T(i,a,n,62))]))])),"value")}function L(t){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=M(r);return e.isAssignmentExpression(t)?s.updateBinaryExpression(t,n,t.operatorToken,e.visitNode(t.right,v,e.isExpression)):e.isSpreadElement(t)?s.updateSpreadElement(t,n):n}return e.visitNode(t,h)}function R(t){if(e.isPropertyAssignment(t)){var r=e.getTargetOfBindingOrAssignmentElement(t);if(r&&e.isPrivateIdentifierPropertyAccessExpression(r)){var n=e.getInitializerOfBindingOrAssignmentElement(t),i=M(r);return s.updatePropertyAssignment(t,e.visitNode(t.name,v),n?s.createAssignment(i,e.visitNode(n,v)):i)}return s.updatePropertyAssignment(t,e.visitNode(t.name,v),e.visitNode(t.initializer,h))}return e.visitNode(t,v)}}}(u||(u={})),function(e){var t,n;function i(t,r,n,i){var a=0!=(4096&r.getNodeCheckFlags(n)),o=[];return i.forEach((function(r,n){var i=e.unescapeLeadingUnderscores(n),s=[];s.push(t.createPropertyAssignment("get",t.createArrowFunction(void 0,void 0,[],void 0,void 0,e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4)))),a&&s.push(t.createPropertyAssignment("set",t.createArrowFunction(void 0,void 0,[t.createParameterDeclaration(void 0,void 0,void 0,"v",void 0,void 0,void 0)],void 0,void 0,t.createAssignment(e.setEmitFlags(t.createPropertyAccessExpression(e.setEmitFlags(t.createSuper(),4),i),4),t.createIdentifier("v"))))),o.push(t.createPropertyAssignment(i,t.createObjectLiteralExpression(s)))})),t.createVariableStatement(void 0,t.createVariableDeclarationList([t.createVariableDeclaration(t.createUniqueName("_super",48),void 0,void 0,t.createCallExpression(t.createPropertyAccessExpression(t.createIdentifier("Object"),"create"),void 0,[t.createNull(),t.createObjectLiteralExpression(o,!0)]))],2))}!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),function(e){e[e.NonTopLevel=1]="NonTopLevel",e[e.HasLexicalThis=2]="HasLexicalThis"}(n||(n={})),e.transformES2017=function(t){var n,a,o,s,c=t.factory,u=t.getEmitHelperFactory,l=t.resumeLexicalEnvironment,d=t.endLexicalEnvironment,_=t.hoistVariableDeclaration,p=t.getEmitResolver(),f=t.getCompilerOptions(),g=e.getEmitScriptTarget(f),m=0,y=[],v=0,h=t.onEmitNode,D=t.onSubstituteNode;return t.onEmitNode=function(t,r,i){if(1&n&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var a=6144&p.getNodeCheckFlags(r);if(a!==m){var o=m;return m=a,h(t,r,i),void(m=o)}}else if(n&&y[e.getNodeId(r)]){o=m;return m=0,h(t,r,i),void(m=o)}h(t,r,i)},t.onSubstituteNode=function(t,n){if(n=D(t,n),1===t&&m)return function(t){switch(t.kind){case 201:return J(t);case 202:return K(t);case 203:return function(t){var n=t.expression;if(e.isSuperProperty(n)){var i=e.isPropertyAccessExpression(n)?J(n):K(n);return c.createCallExpression(c.createPropertyAccessExpression(i,"call"),void 0,r([c.createThis()],t.arguments))}return t}(t)}return t}(n);return n},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;x(1,!1),x(2,!e.isEffectiveStrictModeSourceFile(r,f));var n=e.visitEachChild(r,T,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function x(e,t){v=t?v|e:v&~e}function b(e){return 0!=(v&e)}function S(){return b(2)}function E(e,t,r){var n=e&~v;if(n){x(n,!0);var i=t(r);return x(n,!1),i}return t(r)}function C(r){return e.visitEachChild(r,T,t)}function T(r){if(0==(64&r.transformFlags))return r;switch(r.kind){case 129:return;case 213:return function(r){if(!b(1))return e.visitEachChild(r,T,t);return e.setOriginalNode(e.setTextRange(c.createYieldExpression(void 0,e.visitNode(r.expression,T,e.isExpression)),r),r)}(r);case 165:return E(3,A,r);case 251:return E(3,F,r);case 208:return E(3,N,r);case 209:return E(1,P,r);case 201:return o&&e.isPropertyAccessExpression(r)&&105===r.expression.kind&&o.add(r.name.escapedText),e.visitEachChild(r,T,t);case 202:return o&&105===r.expression.kind&&(s=!0),e.visitEachChild(r,T,t);case 167:case 168:case 166:case 252:case 221:return E(3,C,r);default:return e.visitEachChild(r,T,t)}}function k(r){if(e.isNodeWithPossibleHoistedDeclaration(r))switch(r.kind){case 232:return function(r){if(I(r.declarationList)){var n=O(r.declarationList,!1);return n?c.createExpressionStatement(n):void 0}return e.visitEachChild(r,T,t)}(r);case 237:return function(t){var r=t.initializer;return c.updateForStatement(t,I(r)?O(r,!1):e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.condition,T,e.isExpression),e.visitNode(t.incrementor,T,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 238:return function(t){return c.updateForInStatement(t,I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.expression,T,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 239:return function(t){return c.updateForOfStatement(t,e.visitNode(t.awaitModifier,T,e.isToken),I(t.initializer)?O(t.initializer,!0):e.visitNode(t.initializer,T,e.isForInitializer),e.visitNode(t.expression,T,e.isExpression),e.visitNode(t.statement,k,e.isStatement,c.liftToBlock))}(r);case 287:return function(r){var n,i=new e.Set;if(w(r.variableDeclaration,i),i.forEach((function(t,r){a.has(r)&&(n||(n=new e.Set(a)),n.delete(r))})),n){var o=a;a=n;var s=e.visitEachChild(r,k,t);return a=o,s}return e.visitEachChild(r,k,t)}(r);case 230:case 244:case 258:case 284:case 285:case 247:case 235:case 236:case 234:case 243:case 245:return e.visitEachChild(r,k,t);default:return e.Debug.assertNever(r,"Unhandled node.")}return T(r)}function A(r){return c.updateMethodDeclaration(r,void 0,e.visitNodes(r.modifiers,T,e.isModifier),r.asteriskToken,r.name,void 0,void 0,e.visitParameterList(r.parameters,T,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,T,t))}function F(r){return c.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,T,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,T,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,T,t))}function N(r){return c.updateFunctionExpression(r,e.visitNodes(r.modifiers,T,e.isModifier),r.asteriskToken,r.name,void 0,e.visitParameterList(r.parameters,T,t),void 0,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,T,t))}function P(r){return c.updateArrowFunction(r,e.visitNodes(r.modifiers,T,e.isModifier),void 0,e.visitParameterList(r.parameters,T,t),void 0,r.equalsGreaterThanToken,2&e.getFunctionFlags(r)?B(r):e.visitFunctionBody(r.body,T,t))}function w(t,r){var n=t.name;if(e.isIdentifier(n))r.add(n.escapedText);else for(var i=0,a=n.elements;i=2&&6144&p.getNodeCheckFlags(r);if(P&&(0==(1&n)&&(n|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232)),o.size)){var I=i(c,p,r,o);y[e.getNodeId(I)]=!0,e.insertStatementsAfterStandardPrologue(F,[I])}var O=c.createBlock(F,!0);e.setTextRange(O,r.body),P&&s&&(4096&p.getNodeCheckFlags(r)?e.addEmitHelper(O,e.advancedAsyncSuperHelper):2048&p.getNodeCheckFlags(r)&&e.addEmitHelper(O,e.asyncSuperHelper)),b=O}return a=h,m||(o=E,s=C),b}function j(t,r){return e.isBlock(t)?c.updateBlock(t,e.visitNodes(t.statements,k,e.isStatement,r)):c.converters.convertToFunctionBlock(e.visitNode(t,k,e.isConciseBody))}function J(t){return 105===t.expression.kind?e.setTextRange(c.createPropertyAccessExpression(c.createUniqueName("_super",48),t.name),t):t}function K(t){return 105===t.expression.kind?(r=t.argumentExpression,n=t,4096&m?e.setTextRange(c.createPropertyAccessExpression(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),"value"),n):e.setTextRange(c.createCallExpression(c.createUniqueName("_superIndex",48),void 0,[r]),n)):t;var r,n}},e.createSuperAccessVariableStatement=i}(u||(u={})),function(e){var t,n;!function(e){e[e.AsyncMethodsWithSuper=1]="AsyncMethodsWithSuper"}(t||(t={})),function(e){e[e.None=0]="None",e[e.HasLexicalThis=1]="HasLexicalThis",e[e.IterationContainer=2]="IterationContainer",e[e.AncestorFactsMask=3]="AncestorFactsMask",e[e.SourceFileIncludes=1]="SourceFileIncludes",e[e.SourceFileExcludes=2]="SourceFileExcludes",e[e.StrictModeSourceFileIncludes=0]="StrictModeSourceFileIncludes",e[e.ClassOrFunctionIncludes=1]="ClassOrFunctionIncludes",e[e.ClassOrFunctionExcludes=2]="ClassOrFunctionExcludes",e[e.ArrowFunctionIncludes=0]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=2]="ArrowFunctionExcludes",e[e.IterationStatementIncludes=2]="IterationStatementIncludes",e[e.IterationStatementExcludes=0]="IterationStatementExcludes"}(n||(n={})),e.transformES2018=function(t){var n=t.factory,i=t.getEmitHelperFactory,a=t.resumeLexicalEnvironment,o=t.endLexicalEnvironment,s=t.hoistVariableDeclaration,c=t.getEmitResolver(),u=t.getCompilerOptions(),l=e.getEmitScriptTarget(u),d=t.onEmitNode;t.onEmitNode=function(t,r,n){if(1&p&&function(e){var t=e.kind;return 252===t||166===t||165===t||167===t||168===t}(r)){var i=6144&c.getNodeCheckFlags(r);if(i!==D){var a=D;return D=i,d(t,r,n),void(D=a)}}else if(p&&b[e.getNodeId(r)]){a=D;return D=0,d(t,r,n),void(D=a)}d(t,r,n)};var _=t.onSubstituteNode;t.onSubstituteNode=function(t,i){if(i=_(t,i),1===t&&D)return function(t){switch(t.kind){case 201:return W(t);case 202:return H(t);case 203:return function(t){var i=t.expression;if(e.isSuperProperty(i)){var a=e.isPropertyAccessExpression(i)?W(i):H(i);return n.createCallExpression(n.createPropertyAccessExpression(a,"call"),void 0,r([n.createThis()],t.arguments))}return t}(t)}return t}(i);return i};var p,f,g,m,y,v,h=!1,D=0,x=0,b=[];return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;g=r;var i=function(r){var i=S(2,e.isEffectiveStrictModeSourceFile(r,u)?0:1);h=!1;var a=e.visitEachChild(r,T,t),o=e.concatenate(a.statements,m&&[n.createVariableStatement(void 0,n.createVariableDeclarationList(m))]),s=n.updateSourceFile(a,e.setTextRange(n.createNodeArray(o),r.statements));return E(i),s}(r);return e.addEmitHelpers(i,t.readEmitHelpers()),g=void 0,m=void 0,i}));function S(e,t){var r=x;return x=3&(x&~e|t),r}function E(e){x=e}function C(t){m=e.append(m,n.createVariableDeclaration(t))}function T(e){return P(e,!1)}function k(e){return P(e,!0)}function A(e){if(129!==e.kind)return e}function F(e,t,r,n){if(function(e,t){return x!==(x&~e|t)}(r,n)){var i=S(r,n),a=e(t);return E(i),a}return e(t)}function N(r){return e.visitEachChild(r,T,t)}function P(a,o){if(0==(32&a.transformFlags))return a;switch(a.kind){case 213:return function(r){if(2&f&&1&f)return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(e.visitNode(r.expression,T,e.isExpression))),r),r);return e.visitEachChild(r,T,t)}(a);case 219:return function(r){if(2&f&&1&f){if(r.asteriskToken){var a=e.visitNode(e.Debug.assertDefined(r.expression),T,e.isExpression);return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,i().createAwaitHelper(n.updateYieldExpression(r,r.asteriskToken,e.setTextRange(i().createAsyncDelegatorHelper(e.setTextRange(i().createAsyncValuesHelper(a),a)),a)))),r),r)}return e.setOriginalNode(e.setTextRange(n.createYieldExpression(void 0,M(r.expression?e.visitNode(r.expression,T,e.isExpression):n.createVoidZero())),r),r)}return e.visitEachChild(r,T,t)}(a);case 242:return function(r){if(2&f&&1&f)return n.updateReturnStatement(r,M(r.expression?e.visitNode(r.expression,T,e.isExpression):n.createVoidZero()));return e.visitEachChild(r,T,t)}(a);case 245:return function(r){if(2&f){var i=e.unwrapInnermostStatementOfLabel(r);return 239===i.kind&&i.awaitModifier?O(i,r):n.restoreEnclosingLabel(e.visitNode(i,T,e.isStatement,n.liftToBlock),r)}return e.visitEachChild(r,T,t)}(a);case 200:return function(r){if(16384&r.transformFlags){var a=function(t){for(var r,i=[],a=0,o=t;a1){for(var s=1;s=2&&6144&c.getNodeCheckFlags(r);if(g){0==(1&p)&&(p|=1,t.enableSubstitution(203),t.enableSubstitution(201),t.enableSubstitution(202),t.enableEmitNotification(252),t.enableEmitNotification(165),t.enableEmitNotification(167),t.enableEmitNotification(168),t.enableEmitNotification(166),t.enableEmitNotification(232));var m=e.createSuperAccessVariableStatement(n,c,r,y);b[e.getNodeId(m)]=!0,e.insertStatementsAfterStandardPrologue(s,[m])}s.push(f),e.insertStatementsAfterStandardPrologue(s,o());var h=n.updateBlock(r.body,s);return g&&v&&(4096&c.getNodeCheckFlags(r)?e.addEmitHelper(h,e.advancedAsyncSuperHelper):2048&c.getNodeCheckFlags(r)&&e.addEmitHelper(h,e.asyncSuperHelper)),y=d,v=_,h}function V(t){var r;a();var i=0,s=[],c=null!==(r=e.visitNode(t.body,T,e.isConciseBody))&&void 0!==r?r:n.createBlock([]);e.isBlock(c)&&(i=n.copyPrologue(c.statements,s,!1,T)),e.addRange(s,q(void 0,t));var u=o();if(i>0||e.some(s)||e.some(u)){var l=n.converters.convertToFunctionBlock(c,!0);return e.insertStatementsAfterStandardPrologue(s,u),e.addRange(s,l.statements.slice(i)),n.updateBlock(l,e.setTextRange(n.createNodeArray(s),l.statements))}return c}function q(r,i){for(var a=0,o=i.parameters;a1?"jsxs":"jsx"}(e))}function l(t){var r,n,o="createElement"===t?i.importSpecifier:e.getJSXRuntimeImport(i.importSpecifier,s),c=null===(n=null===(r=i.utilizedImplicitRuntimeImports)||void 0===r?void 0:r.get(o))||void 0===n?void 0:n.get(t);if(c)return c.name;i.utilizedImplicitRuntimeImports||(i.utilizedImplicitRuntimeImports=e.createMap());var u=i.utilizedImplicitRuntimeImports.get(o);u||(u=e.createMap(),i.utilizedImplicitRuntimeImports.set(o,u));var l=a.createUniqueName("_"+t,112),d=a.createImportSpecifier(a.createIdentifier(t),l);return l.generatedImportReference=d,u.set(t,d),l}function d(t){return 2&t.transformFlags?function(t){switch(t.kind){case 273:return f(t,!1);case 274:return g(t,!1);case 277:return m(t,!1);case 283:return F(t);default:return e.visitEachChild(t,d,r)}}(t):t}function _(t){switch(t.kind){case 11:return function(t){var r=function(t){for(var r,n=0,i=-1,a=0;a1?a.createTrue():a.createFalse());var f=e.getLineAndCharacterOfPosition(p,d.pos);_.push(a.createObjectLiteralExpression([a.createPropertyAssignment("fileName",c()),a.createPropertyAssignment("lineNumber",a.createNumericLiteral(f.line+1)),a.createPropertyAssignment("columnNumber",a.createNumericLiteral(f.character+1))])),_.push(a.createThis())}}var g=e.setTextRange(a.createCallExpression(u(o),void 0,_),d);return l&&e.startOnNewLine(g),g}function D(t,c,u,d){var p,f=A(t),g=t.attributes.properties;if(0===g.length)p=a.createNull();else{var m=e.flatten(e.spanMap(g,e.isJsxSpreadAttribute,(function(t,r){return r?e.map(t,S):a.createObjectLiteralExpression(e.map(t,E))})));e.isJsxSpreadAttribute(g[0])&&m.unshift(a.createObjectLiteralExpression()),(p=e.singleOrUndefined(m))||(p=o().createAssignHelper(m))}var y=void 0===i.importSpecifier?e.createJsxFactoryExpression(a,r.getEmitResolver().getJsxFactoryEntity(n),s.reactNamespace,t):l("createElement"),v=e.createExpressionForJsxElement(a,y,f,p,e.mapDefined(c,_),d);return u&&e.startOnNewLine(v),v}function x(t,r,n,i){var o;if(r&&r.length){var s=y(r);s&&(o=s)}return h(l("Fragment"),o||a.createObjectLiteralExpression([]),void 0,e.length(e.getSemanticJsxChildren(r)),n,i)}function b(t,i,o,c){var u=e.createExpressionForJsxFragment(a,r.getEmitResolver().getJsxFactoryEntity(n),r.getEmitResolver().getJsxFragmentFactoryEntity(n),s.reactNamespace,e.mapDefined(i,_),t,c);return o&&e.startOnNewLine(u),u}function S(t){return e.visitNode(t.expression,d,e.isExpression)}function E(t){var r=function(t){var r=t.name,n=e.idText(r);return/^[A-Za-z_]\w*$/.test(n)?r:a.createStringLiteral(n)}(t),n=C(t.initializer);return a.createPropertyAssignment(r,n)}function C(t){if(void 0===t)return a.createTrue();if(10===t.kind){var r=void 0!==t.singleQuote?t.singleQuote:!e.isStringDoubleQuoted(t,n),i=a.createStringLiteral((o=t.text,((s=k(o))===o?void 0:s)||t.text),r);return e.setTextRange(i,t)}return 283===t.kind?void 0===t.expression?a.createTrue():e.visitNode(t.expression,d,e.isExpression):e.Debug.failBadSyntaxKind(t);var o,s}function T(e,t){var r=k(t);return void 0===e?r:e+" "+r}function k(r){return r.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g,(function(r,n,i,a,o,s,c){if(o)return e.utf16EncodeAsString(parseInt(o,10));if(s)return e.utf16EncodeAsString(parseInt(s,16));var u=t.get(c);return u?e.utf16EncodeAsString(u):r}))}function A(t){if(273===t.kind)return A(t.openingElement);var r=t.tagName;return e.isIdentifier(r)&&e.isIntrinsicJsxName(r.escapedText)?a.createStringLiteral(e.idText(r)):e.createExpressionFromEntityName(a,r)}function F(t){return e.visitNode(t.expression,d,e.isExpression)}};var t=new e.Map(e.getEntries({quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}))}(u||(u={})),function(e){e.transformES2016=function(t){var r=t.factory,n=t.hoistVariableDeclaration;return e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;return e.visitEachChild(r,i,t)}));function i(a){if(0==(128&a.transformFlags))return a;switch(a.kind){case 216:return function(a){switch(a.operatorToken.kind){case 66:return function(t){var a,o,s=e.visitNode(t.left,i,e.isExpression),c=e.visitNode(t.right,i,e.isExpression);if(e.isElementAccessExpression(s)){var u=r.createTempVariable(n),l=r.createTempVariable(n);a=e.setTextRange(r.createElementAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),e.setTextRange(r.createAssignment(l,s.argumentExpression),s.argumentExpression)),s),o=e.setTextRange(r.createElementAccessExpression(u,l),s)}else if(e.isPropertyAccessExpression(s)){u=r.createTempVariable(n);a=e.setTextRange(r.createPropertyAccessExpression(e.setTextRange(r.createAssignment(u,s.expression),s.expression),s.name),s),o=e.setTextRange(r.createPropertyAccessExpression(u,s.name),s)}else a=s,o=s;return e.setTextRange(r.createAssignment(a,e.setTextRange(r.createGlobalMethodCall("Math","pow",[o,c]),t)),t)}(a);case 42:return function(t){var n=e.visitNode(t.left,i,e.isExpression),a=e.visitNode(t.right,i,e.isExpression);return e.setTextRange(r.createGlobalMethodCall("Math","pow",[n,a]),t)}(a);default:return e.visitEachChild(a,i,t)}}(a);default:return e.visitEachChild(a,i,t)}}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.CapturedThis=1]="CapturedThis",e[e.BlockScopedBindings=2]="BlockScopedBindings"}(t||(t={})),function(e){e[e.Body=1]="Body",e[e.Initializer=2]="Initializer"}(n||(n={})),function(e){e[e.ToOriginal=0]="ToOriginal",e[e.ToOutParameter=1]="ToOutParameter"}(i||(i={})),function(e){e[e.Break=2]="Break",e[e.Continue=4]="Continue",e[e.Return=8]="Return"}(a||(a={})),function(e){e[e.None=0]="None",e[e.Function=1]="Function",e[e.ArrowFunction=2]="ArrowFunction",e[e.AsyncFunctionBody=4]="AsyncFunctionBody",e[e.NonStaticClassElement=8]="NonStaticClassElement",e[e.CapturesThis=16]="CapturesThis",e[e.ExportedVariableStatement=32]="ExportedVariableStatement",e[e.TopLevel=64]="TopLevel",e[e.Block=128]="Block",e[e.IterationStatement=256]="IterationStatement",e[e.IterationStatementBlock=512]="IterationStatementBlock",e[e.IterationContainer=1024]="IterationContainer",e[e.ForStatement=2048]="ForStatement",e[e.ForInOrForOfStatement=4096]="ForInOrForOfStatement",e[e.ConstructorWithCapturedSuper=8192]="ConstructorWithCapturedSuper",e[e.AncestorFactsMask=16383]="AncestorFactsMask",e[e.BlockScopeIncludes=0]="BlockScopeIncludes",e[e.BlockScopeExcludes=7104]="BlockScopeExcludes",e[e.SourceFileIncludes=64]="SourceFileIncludes",e[e.SourceFileExcludes=8064]="SourceFileExcludes",e[e.FunctionIncludes=65]="FunctionIncludes",e[e.FunctionExcludes=16286]="FunctionExcludes",e[e.AsyncFunctionBodyIncludes=69]="AsyncFunctionBodyIncludes",e[e.AsyncFunctionBodyExcludes=16278]="AsyncFunctionBodyExcludes",e[e.ArrowFunctionIncludes=66]="ArrowFunctionIncludes",e[e.ArrowFunctionExcludes=15232]="ArrowFunctionExcludes",e[e.ConstructorIncludes=73]="ConstructorIncludes",e[e.ConstructorExcludes=16278]="ConstructorExcludes",e[e.DoOrWhileStatementIncludes=1280]="DoOrWhileStatementIncludes",e[e.DoOrWhileStatementExcludes=0]="DoOrWhileStatementExcludes",e[e.ForStatementIncludes=3328]="ForStatementIncludes",e[e.ForStatementExcludes=5056]="ForStatementExcludes",e[e.ForInOrForOfStatementIncludes=5376]="ForInOrForOfStatementIncludes",e[e.ForInOrForOfStatementExcludes=3008]="ForInOrForOfStatementExcludes",e[e.BlockIncludes=128]="BlockIncludes",e[e.BlockExcludes=6976]="BlockExcludes",e[e.IterationStatementBlockIncludes=512]="IterationStatementBlockIncludes",e[e.IterationStatementBlockExcludes=7104]="IterationStatementBlockExcludes",e[e.NewTarget=16384]="NewTarget",e[e.CapturedLexicalThis=32768]="CapturedLexicalThis",e[e.SubtreeFactsMask=-16384]="SubtreeFactsMask",e[e.ArrowFunctionSubtreeExcludes=0]="ArrowFunctionSubtreeExcludes",e[e.FunctionSubtreeExcludes=49152]="FunctionSubtreeExcludes"}(o||(o={})),e.transformES2015=function(t){var n,i,a,o,s,c,u=t.factory,l=t.getEmitHelperFactory,d=t.startLexicalEnvironment,_=t.resumeLexicalEnvironment,p=t.endLexicalEnvironment,f=t.hoistVariableDeclaration,g=t.getCompilerOptions(),m=t.getEmitResolver(),y=t.onSubstituteNode,v=t.onEmitNode;function h(t){o=e.append(o,u.createVariableDeclaration(t))}return t.onEmitNode=function(t,r,n){if(1&c&&e.isFunctionLike(r)){var i=D(16286,8&e.getEmitFlags(r)?81:65);return v(t,r,n),void x(i,0,0)}v(t,r,n)},t.onSubstituteNode=function(t,r){if(r=y(t,r),1===t)return function(t){switch(t.kind){case 78:return function(t){if(2&c&&!e.isInternalName(t)){var r=m.getReferencedDeclarationWithCollidingName(t);if(r&&(!e.isClassLike(r)||!function(t,r){var n=e.getParseTreeNode(r);if(!n||n===t||n.end<=t.pos||n.pos>=t.end)return!1;var i=e.getEnclosingBlockScopeContainer(t);for(;n;){if(n===i||n===t)return!1;if(e.isClassElement(n)&&n.parent===t)return!0;n=n.parent}return!1}(r,t)))return e.setTextRange(u.getGeneratedNameForNode(e.getNameOfDeclaration(r)),t)}return t}(t);case 107:return function(t){if(1&c&&16&a)return e.setTextRange(u.createUniqueName("_this",48),t);return t}(t)}return t}(r);if(e.isIdentifier(r))return function(t){if(2&c&&!e.isInternalName(t)){var r=e.getParseTreeNode(t,e.isIdentifier);if(r&&function(e){switch(e.parent.kind){case 198:case 252:case 255:case 249:return e.parent.name===e&&m.isDeclarationWithCollidingName(e.parent)}return!1}(r))return e.setTextRange(u.getGeneratedNameForNode(r),t)}return t}(r);return r},e.chainBundle(t,(function(r){if(r.isDeclarationFile)return r;n=r,i=r.text;var s=function(t){var r=D(8064,64),n=[],i=[];d();var a=u.copyPrologue(t.statements,n,!1,E);e.addRange(i,e.visitNodes(t.statements,E,e.isStatement,a)),o&&i.push(u.createVariableStatement(void 0,u.createVariableDeclarationList(o)));return u.mergeLexicalEnvironment(n,p()),j(n,t),x(r,0,0),u.updateSourceFile(t,e.setTextRange(u.createNodeArray(e.concatenate(n,i)),t.statements))}(r);return e.addEmitHelpers(s,t.readEmitHelpers()),n=void 0,i=void 0,o=void 0,a=0,s}));function D(e,t){var r=a;return a=16383&(a&~e|t),r}function x(e,t,r){a=-16384&(a&~t|r)|e}function b(e){return 0!=(8192&a)&&242===e.kind&&!e.expression}function S(t){return 0!=(256&t.transformFlags)||void 0!==s||8192&a&&function(t){return 1048576&t.transformFlags&&(e.isReturnStatement(t)||e.isIfStatement(t)||e.isWithStatement(t)||e.isSwitchStatement(t)||e.isCaseBlock(t)||e.isCaseClause(t)||e.isDefaultClause(t)||e.isTryStatement(t)||e.isCatchClause(t)||e.isLabeledStatement(t)||e.isIterationStatement(t,!1)||e.isBlock(t))}(t)||e.isIterationStatement(t,!1)&&de(t)||0!=(33554432&e.getEmitFlags(t))}function E(e){return S(e)?k(e,!1):e}function C(e){return S(e)?k(e,!0):e}function T(e){return 105===e.kind?we(!0):E(e)}function k(i,o){switch(i.kind){case 123:return;case 252:return function(t){var r=u.createVariableDeclaration(u.getLocalName(t,!0),void 0,void 0,N(t));e.setOriginalNode(r,t);var n=[],i=u.createVariableStatement(void 0,u.createVariableDeclarationList([r]));if(e.setOriginalNode(i,t),e.setTextRange(i,t),e.startOnNewLine(i),n.push(i),e.hasSyntacticModifier(t,1)){var a=e.hasSyntacticModifier(t,512)?u.createExportDefault(u.getLocalName(t)):u.createExternalModuleExport(u.getLocalName(t));e.setOriginalNode(a,i),n.push(a)}var o=e.getEmitFlags(t);0==(4194304&o)&&(n.push(u.createEndOfDeclarationMarker(t)),e.setEmitFlags(i,4194304|o));return e.singleOrMany(n)}(i);case 221:return function(e){return N(e)}(i);case 160:return function(t){return t.dotDotDotToken?void 0:e.isBindingPattern(t.name)?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,u.getGeneratedNameForNode(t),void 0,void 0,void 0),t),t):t.initializer?e.setOriginalNode(e.setTextRange(u.createParameterDeclaration(void 0,void 0,void 0,t.name,void 0,void 0,void 0),t),t):t}(i);case 251:return function(r){var n=s;s=void 0;var i=D(16286,65),o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(i,49152,0),s=n,u.updateFunctionDeclaration(r,void 0,e.visitNodes(r.modifiers,E,e.isModifier),r.asteriskToken,l,void 0,o,void 0,c)}(i);case 209:return function(r){4096&r.transformFlags&&(a|=32768);var n=s;s=void 0;var i=D(15232,66),o=u.createFunctionExpression(void 0,void 0,void 0,void 0,e.visitParameterList(r.parameters,E,t),void 0,H(r));e.setTextRange(o,r),e.setOriginalNode(o,r),e.setEmitFlags(o,8),32768&a&&Oe();return x(i,0,0),s=n,o}(i);case 208:return function(r){var n=262144&e.getEmitFlags(r)?D(16278,69):D(16286,65),i=s;s=void 0;var o=e.visitParameterList(r.parameters,E,t),c=H(r),l=16384&a?u.getLocalName(r):r.name;return x(n,49152,0),s=i,u.updateFunctionExpression(r,void 0,r.asteriskToken,l,void 0,o,void 0,c)}(i);case 249:return X(i);case 78:return F(i);case 250:return function(r){if(3&r.flags||131072&r.transformFlags){3&r.flags&&Ie();var n=e.flatMap(r.declarations,1&r.flags?Y:X),i=u.createVariableDeclarationList(n);return e.setOriginalNode(i,r),e.setTextRange(i,r),e.setCommentRange(i,r),131072&r.transformFlags&&(e.isBindingPattern(r.declarations[0].name)||e.isBindingPattern(e.last(r.declarations).name))&&e.setSourceMapRange(i,function(t){for(var r=-1,n=-1,i=0,a=t;i0?(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(n,E,t,0,u.getGeneratedNameForNode(n)))),1048576)),!0):!!a&&(e.insertStatementAfterCustomPrologue(r,e.setEmitFlags(u.createExpressionStatement(u.createAssignment(u.getGeneratedNameForNode(n),e.visitNode(a,E,e.isExpression))),1048576)),!0)}function R(t,r,n,i){i=e.visitNode(i,E,e.isExpression);var a=u.createIfStatement(u.createTypeCheck(u.cloneNode(n),"undefined"),e.setEmitFlags(e.setTextRange(u.createBlock([u.createExpressionStatement(e.setEmitFlags(e.setTextRange(u.createAssignment(e.setEmitFlags(e.setParent(e.setTextRange(u.cloneNode(n),n),n.parent),48),e.setEmitFlags(i,1584|e.getEmitFlags(i))),r),1536))]),r),1953));e.startOnNewLine(a),e.setTextRange(a,r),e.setEmitFlags(a,1050528),e.insertStatementAfterCustomPrologue(t,a)}function B(r,n,i){var a=[],o=e.lastOrUndefined(n.parameters);if(!function(e,t){return!(!e||!e.dotDotDotToken||t)}(o,i))return!1;var s=78===o.name.kind?e.setParent(e.setTextRange(u.cloneNode(o.name),o.name),o.name.parent):u.createTempVariable(void 0);e.setEmitFlags(s,48);var c=78===o.name.kind?u.cloneNode(o.name):s,l=n.parameters.length-1,d=u.createLoopVariable();a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(s,void 0,void 0,u.createArrayLiteralExpression([]))])),o),1048576));var _=u.createForStatement(e.setTextRange(u.createVariableDeclarationList([u.createVariableDeclaration(d,void 0,void 0,u.createNumericLiteral(l))]),o),e.setTextRange(u.createLessThan(d,u.createPropertyAccessExpression(u.createIdentifier("arguments"),"length")),o),e.setTextRange(u.createPostfixIncrement(d),o),u.createBlock([e.startOnNewLine(e.setTextRange(u.createExpressionStatement(u.createAssignment(u.createElementAccessExpression(c,0===l?d:u.createSubtract(d,u.createNumericLiteral(l))),u.createElementAccessExpression(u.createIdentifier("arguments"),d))),o))]));return e.setEmitFlags(_,1048576),e.startOnNewLine(_),a.push(_),78!==o.name.kind&&a.push(e.setEmitFlags(e.setTextRange(u.createVariableStatement(void 0,u.createVariableDeclarationList(e.flattenDestructuringBinding(o,E,t,0,c))),o),1048576)),e.insertStatementsAfterCustomPrologue(r,a),!0}function j(e,t){return!!(32768&a&&209!==t.kind)&&(J(e,t,u.createThis()),!0)}function J(t,r,n){Oe();var i=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName("_this",48),void 0,void 0,n)]));e.setEmitFlags(i,1050112),e.setSourceMapRange(i,r),e.insertStatementAfterCustomPrologue(t,i)}function K(t,r,n){if(16384&a){var i=void 0;switch(r.kind){case 209:return t;case 165:case 167:case 168:i=u.createVoidZero();break;case 166:i=u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),"constructor");break;case 251:case 208:i=u.createConditionalExpression(u.createLogicalAnd(e.setEmitFlags(u.createThis(),4),u.createBinaryExpression(e.setEmitFlags(u.createThis(),4),101,u.getLocalName(r))),void 0,u.createPropertyAccessExpression(e.setEmitFlags(u.createThis(),4),"constructor"),void 0,u.createVoidZero());break;default:return e.Debug.failBadSyntaxKind(r)}var o=u.createVariableStatement(void 0,u.createVariableDeclarationList([u.createVariableDeclaration(u.createUniqueName("_newTarget",48),void 0,void 0,i)]));e.setEmitFlags(o,1050112),n&&(t=t.slice()),e.insertStatementAfterCustomPrologue(t,o)}return t}function z(t){return e.setTextRange(u.createEmptyStatement(),t)}function U(r,n,i){var a,o=e.getCommentRange(n),s=e.getSourceMapRange(n),c=W(n,n,void 0,i),l=e.visitNode(n.name,E,e.isPropertyName);if(!e.isPrivateIdentifier(l)&&t.getCompilerOptions().useDefineForClassFields){var d=e.isComputedPropertyName(l)?l.expression:e.isIdentifier(l)?u.createStringLiteral(e.unescapeLeadingUnderscores(l.escapedText)):l;a=u.createObjectDefinePropertyCall(r,d,u.createPropertyDescriptor({value:c,enumerable:!1,writable:!0,configurable:!0}))}else{var _=e.createMemberAccessForPropertyName(u,r,l,n.name);a=u.createAssignment(_,c)}e.setEmitFlags(c,1536),e.setSourceMapRange(c,s);var p=e.setTextRange(u.createExpressionStatement(a),n);return e.setOriginalNode(p,n),e.setCommentRange(p,o),e.setEmitFlags(p,48),p}function V(t,r,n){var i=u.createExpressionStatement(q(t,r,n,!1));return e.setEmitFlags(i,1536),e.setSourceMapRange(i,e.getSourceMapRange(r.firstAccessor)),i}function q(t,r,n,i){var a=r.firstAccessor,o=r.getAccessor,s=r.setAccessor,c=e.setParent(e.setTextRange(u.cloneNode(t),t),t.parent);e.setEmitFlags(c,1568),e.setSourceMapRange(c,a.name);var l=e.visitNode(a.name,E,e.isPropertyName);if(e.isPrivateIdentifier(l))return e.Debug.failBadSyntaxKind(l,"Encountered unhandled private identifier while transforming ES2015.");var d=e.createExpressionForPropertyName(u,l);e.setEmitFlags(d,1552),e.setSourceMapRange(d,a.name);var _=[];if(o){var p=W(o,void 0,void 0,n);e.setSourceMapRange(p,e.getSourceMapRange(o)),e.setEmitFlags(p,512);var f=u.createPropertyAssignment("get",p);e.setCommentRange(f,e.getCommentRange(o)),_.push(f)}if(s){var g=W(s,void 0,void 0,n);e.setSourceMapRange(g,e.getSourceMapRange(s)),e.setEmitFlags(g,512);var m=u.createPropertyAssignment("set",g);e.setCommentRange(m,e.getCommentRange(s)),_.push(m)}_.push(u.createPropertyAssignment("enumerable",o||s?u.createFalse():u.createTrue()),u.createPropertyAssignment("configurable",u.createTrue()));var y=u.createCallExpression(u.createPropertyAccessExpression(u.createIdentifier("Object"),"defineProperty"),void 0,[c,d,u.createObjectLiteralExpression(_,!0)]);return i&&e.startOnNewLine(y),y}function W(r,n,i,o){var c=s;s=void 0;var l=o&&e.isClassLike(o)&&!e.hasSyntacticModifier(r,32)?D(16286,73):D(16286,65),d=e.visitParameterList(r.parameters,E,t),_=H(r);return 16384&a&&!i&&(251===r.kind||208===r.kind)&&(i=u.getGeneratedNameForNode(r)),x(l,49152,0),s=c,e.setOriginalNode(e.setTextRange(u.createFunctionExpression(void 0,r.asteriskToken,i,void 0,d,void 0,_),n),r)}function H(t){var r,i,a,o=!1,s=!1,c=[],l=[],d=t.body;if(_(),e.isBlock(d)&&(a=u.copyStandardPrologue(d.statements,c,!1),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedFunction),a=u.copyCustomPrologue(d.statements,l,a,E,e.isHoistedVariableStatement)),o=M(l,t)||o,o=B(l,t,!1)||o,e.isBlock(d))a=u.copyCustomPrologue(d.statements,l,a,E),r=d.statements,e.addRange(l,e.visitNodes(d.statements,E,e.isStatement,a)),!o&&d.multiLine&&(o=!0);else{e.Debug.assert(209===t.kind),r=e.moveRangeEnd(d,-1);var f=t.equalsGreaterThanToken;e.nodeIsSynthesized(f)||e.nodeIsSynthesized(d)||(e.rangeEndIsOnSameLineAsRangeStart(f,d,n)?s=!0:o=!0);var g=e.visitNode(d,E,e.isExpression),m=u.createReturnStatement(g);e.setTextRange(m,d),e.moveSyntheticComments(m,d),e.setEmitFlags(m,1440),l.push(m),i=d}if(u.mergeLexicalEnvironment(c,p()),K(c,t,!1),j(c,t),e.some(c)&&(o=!0),l.unshift.apply(l,c),e.isBlock(d)&&e.arrayIsEqualTo(l,d.statements))return d;var y=u.createBlock(e.setTextRange(u.createNodeArray(l),r),o);return e.setTextRange(y,t.body),!o&&s&&e.setEmitFlags(y,1),i&&e.setTokenSourceMapRange(y,19,i),e.setOriginalNode(y,t.body),y}function G(r,n){return e.isDestructuringAssignment(r)?e.flattenDestructuringAssignment(r,E,t,0,!n):27===r.operatorToken.kind?u.updateBinaryExpression(r,e.visitNode(r.left,C,e.isExpression),r.operatorToken,e.visitNode(r.right,n?C:E,e.isExpression)):e.visitEachChild(r,E,t)}function Y(r){var n=r.name;return e.isBindingPattern(n)?X(r):!r.initializer&&function(e){var t=m.getNodeCheckFlags(e),r=262144&t,n=524288&t;return!(0!=(64&a)||r&&n&&0!=(512&a))&&0==(4096&a)&&(!m.isDeclarationWithCollidingName(e)||n&&!r&&0==(6144&a))}(r)?u.updateVariableDeclaration(r,r.name,void 0,void 0,u.createVoidZero()):e.visitEachChild(r,E,t)}function X(r){var n,i=D(32,0);return n=e.isBindingPattern(r.name)?e.flattenDestructuringBinding(r,E,t,0,void 0,0!=(32&i)):e.visitEachChild(r,E,t),x(i,0,0),n}function Q(t){s.labels.set(e.idText(t.label),!0)}function $(t){s.labels.set(e.idText(t.label),!1)}function Z(r,n,i,o,c){var l=D(r,n),_=function(r,n,i,o){if(!de(r)){var c=void 0;s&&(c=s.allowedNonLabeledJumps,s.allowedNonLabeledJumps=6);var l=o?o(r,n,void 0,i):u.restoreEnclosingLabel(e.isForStatement(r)?function(t){return u.updateForStatement(t,e.visitNode(t.initializer,C,e.isForInitializer),e.visitNode(t.condition,E,e.isExpression),e.visitNode(t.incrementor,C,e.isExpression),e.visitNode(t.statement,E,e.isStatement,u.liftToBlock))}(r):e.visitEachChild(r,E,t),n,s&&$);return s&&(s.allowedNonLabeledJumps=c),l}var _=function(t){var r;switch(t.kind){case 237:case 238:case 239:var n=t.initializer;n&&250===n.kind&&(r=n)}var i=[],a=[];if(r&&3&e.getCombinedNodeFlags(r))for(var o=ue(t),c=0,u=r.declarations;c=80&&r<=115)return e.setTextRange(i.createStringLiteralFromNode(t),t)}}}(u||(u={})),function(e){var t,n,i,a,o;!function(e){e[e.Nop=0]="Nop",e[e.Statement=1]="Statement",e[e.Assign=2]="Assign",e[e.Break=3]="Break",e[e.BreakWhenTrue=4]="BreakWhenTrue",e[e.BreakWhenFalse=5]="BreakWhenFalse",e[e.Yield=6]="Yield",e[e.YieldStar=7]="YieldStar",e[e.Return=8]="Return",e[e.Throw=9]="Throw",e[e.Endfinally=10]="Endfinally"}(t||(t={})),function(e){e[e.Open=0]="Open",e[e.Close=1]="Close"}(n||(n={})),function(e){e[e.Exception=0]="Exception",e[e.With=1]="With",e[e.Switch=2]="Switch",e[e.Loop=3]="Loop",e[e.Labeled=4]="Labeled"}(i||(i={})),function(e){e[e.Try=0]="Try",e[e.Catch=1]="Catch",e[e.Finally=2]="Finally",e[e.Done=3]="Done"}(a||(a={})),function(e){e[e.Next=0]="Next",e[e.Throw=1]="Throw",e[e.Return=2]="Return",e[e.Break=3]="Break",e[e.Yield=4]="Yield",e[e.YieldStar=5]="YieldStar",e[e.Catch=6]="Catch",e[e.Endfinally=7]="Endfinally"}(o||(o={})),e.transformGenerators=function(t){var n,i,a,o,s,c,u,l,d,_,p=t.factory,f=t.getEmitHelperFactory,g=t.resumeLexicalEnvironment,m=t.endLexicalEnvironment,y=t.hoistFunctionDeclaration,v=t.hoistVariableDeclaration,h=t.getCompilerOptions(),D=e.getEmitScriptTarget(h),x=t.getEmitResolver(),b=t.onSubstituteNode;t.onSubstituteNode=function(t,r){if(r=b(t,r),1===t)return function(t){if(e.isIdentifier(t))return function(t){if(!e.isGeneratedIdentifier(t)&&n&&n.has(e.idText(t))){var r=e.getOriginalNode(t);if(e.isIdentifier(r)&&r.parent){var a=x.getReferencedValueDeclaration(r);if(a){var o=i[e.getOriginalNodeId(a)];if(o){var s=e.setParent(e.setTextRange(p.cloneNode(o),o),o.parent);return e.setSourceMapRange(s,t),e.setCommentRange(s,t),s}}}}return t}(t);return t}(r);return r};var S,E,C,T,k,A,F,N,P,w,I,O,M=1,L=0,R=0;return e.chainBundle(t,(function(r){if(r.isDeclarationFile||0==(512&r.transformFlags))return r;var n=e.visitEachChild(r,B,t);return e.addEmitHelpers(n,t.readEmitHelpers()),n}));function B(r){var n=r.transformFlags;return o?function(r){switch(r.kind){case 235:case 236:return function(r){return o?(oe(),r=e.visitEachChild(r,B,t),ce(),r):e.visitEachChild(r,B,t)}(r);case 244:return function(r){o&&re({kind:2,isScript:!0,breakLabel:-1});r=e.visitEachChild(r,B,t),o&&ue();return r}(r);case 245:return function(r){o&&re({kind:4,isScript:!0,labelText:e.idText(r.label),breakLabel:-1});r=e.visitEachChild(r,B,t),o&&le();return r}(r);default:return j(r)}}(r):a?j(r):e.isFunctionLikeDeclaration(r)&&r.asteriskToken?function(t){switch(t.kind){case 251:return J(t);case 208:return K(t);default:return e.Debug.failBadSyntaxKind(t)}}(r):512&n?e.visitEachChild(r,B,t):r}function j(r){switch(r.kind){case 251:return J(r);case 208:return K(r);case 167:case 168:return function(r){var n=a,i=o;return a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i,r}(r);case 232:return function(t){if(262144&t.transformFlags)return void G(t.declarationList);if(1048576&e.getEmitFlags(t))return t;for(var r=0,n=t.declarationList.declarations;r0?p.inlineExpressions(e.map(c,Y)):void 0,e.visitNode(r.condition,B,e.isExpression),e.visitNode(r.incrementor,B,e.isExpression),e.visitNode(r.statement,B,e.isStatement,p.liftToBlock))}else r=e.visitEachChild(r,B,t);o&&ce();return r}(r);case 238:return function(r){o&&oe();var n=r.initializer;if(e.isVariableDeclarationList(n)){for(var i=0,a=n.declarations;i0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 240:return function(r){if(o){var n=me(r.label&&e.idText(r.label));if(n>0)return he(n,r)}return e.visitEachChild(r,B,t)}(r);case 242:return function(t){return r=e.visitNode(t.expression,B,e.isExpression),n=t,e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression(r?[ve(2),r]:[ve(2)])),n);var r,n}(r);default:return 262144&r.transformFlags?function(r){switch(r.kind){case 216:return function(r){var n=e.getExpressionAssociativity(r);switch(n){case 0:return function(r){if(X(r.right))return e.isLogicalOperator(r.operatorToken.kind)?function(t){var r=ee(),n=Z();be(n,e.visitNode(t.left,B,e.isExpression),t.left),55===t.operatorToken.kind?Ce(r,n,t.left):Ee(r,n,t.left);return be(n,e.visitNode(t.right,B,e.isExpression),t.right),te(r),n}(r):27===r.operatorToken.kind?U(r):p.updateBinaryExpression(r,$(e.visitNode(r.left,B,e.isExpression)),r.operatorToken,e.visitNode(r.right,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 1:return function(r){var n=r.left,i=r.right;if(X(i)){var a=void 0;switch(n.kind){case 201:a=p.updatePropertyAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),n.name);break;case 202:a=p.updateElementAccessExpression(n,$(e.visitNode(n.expression,B,e.isLeftHandSideExpression)),$(e.visitNode(n.argumentExpression,B,e.isExpression)));break;default:a=e.visitNode(n,B,e.isExpression)}var o=r.operatorToken.kind;return e.isCompoundAssignment(o)?e.setTextRange(p.createAssignment(a,e.setTextRange(p.createBinaryExpression($(a),e.getNonAssignmentOperatorForCompoundAssignment(o),e.visitNode(i,B,e.isExpression)),r)),r):p.updateBinaryExpression(r,a,r.operatorToken,e.visitNode(i,B,e.isExpression))}return e.visitEachChild(r,B,t)}(r);default:return e.Debug.assertNever(n)}}(r);case 337:return function(t){for(var r=[],n=0,i=t.elements;n0&&(Te(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(a,B,e.isExpression)))}return p.inlineExpressions(r)}(r);case 217:return function(r){if(X(r.whenTrue)||X(r.whenFalse)){var n=ee(),i=ee(),a=Z();return Ce(n,e.visitNode(r.condition,B,e.isExpression),r.condition),be(a,e.visitNode(r.whenTrue,B,e.isExpression),r.whenTrue),Se(i),te(n),be(a,e.visitNode(r.whenFalse,B,e.isExpression),r.whenFalse),te(i),a}return e.visitEachChild(r,B,t)}(r);case 219:return function(t){var r=ee(),n=e.visitNode(t.expression,B,e.isExpression);if(t.asteriskToken){!function(e,t){Te(7,[e],t)}(0==(8388608&e.getEmitFlags(t.expression))?e.setTextRange(f().createValuesHelper(n),t):n,t)}else!function(e,t){Te(6,[e],t)}(n,t);return te(r),function(t){return e.setTextRange(p.createCallExpression(p.createPropertyAccessExpression(T,"sent"),void 0,[]),t)}(t)}(r);case 199:return function(e){return V(e.elements,void 0,void 0,e.multiLine)}(r);case 200:return function(t){var r=t.properties,n=t.multiLine,i=Q(r),a=Z();be(a,p.createObjectLiteralExpression(e.visitNodes(r,B,e.isObjectLiteralElementLike,0,i),n));var o=e.reduceLeft(r,s,[],i);return o.push(n?e.startOnNewLine(e.setParent(e.setTextRange(p.cloneNode(a),a),a.parent)):a),p.inlineExpressions(o);function s(r,i){X(i)&&r.length>0&&(xe(p.createExpressionStatement(p.inlineExpressions(r))),r=[]);var o=e.createExpressionForObjectLiteralElementLike(p,t,i,a),s=e.visitNode(o,B,e.isExpression);return s&&(n&&e.startOnNewLine(s),r.push(s)),r}}(r);case 202:return function(r){if(X(r.argumentExpression))return p.updateElementAccessExpression(r,$(e.visitNode(r.expression,B,e.isLeftHandSideExpression)),e.visitNode(r.argumentExpression,B,e.isExpression));return e.visitEachChild(r,B,t)}(r);case 203:return function(r){if(!e.isImportCall(r)&&e.forEach(r.arguments,X)){var n=p.createCallBinding(r.expression,v,D,!0),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createFunctionApplyCall($(e.visitNode(i,B,e.isLeftHandSideExpression)),a,V(r.arguments)),r),r)}return e.visitEachChild(r,B,t)}(r);case 204:return function(r){if(e.forEach(r.arguments,X)){var n=p.createCallBinding(p.createPropertyAccessExpression(r.expression,"bind"),v),i=n.target,a=n.thisArg;return e.setOriginalNode(e.setTextRange(p.createNewExpression(p.createFunctionApplyCall($(e.visitNode(i,B,e.isExpression)),a,V(r.arguments,p.createVoidZero())),void 0,[]),r),r)}return e.visitEachChild(r,B,t)}(r);default:return e.visitEachChild(r,B,t)}}(r):1049088&r.transformFlags?e.visitEachChild(r,B,t):r}}function J(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionDeclaration(void 0,r.modifiers,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return a?void y(r):r}function K(r){if(r.asteriskToken)r=e.setOriginalNode(e.setTextRange(p.createFunctionExpression(void 0,void 0,r.name,void 0,e.visitParameterList(r.parameters,B,t),void 0,z(r.body)),r),r);else{var n=a,i=o;a=!1,o=!1,r=e.visitEachChild(r,B,t),a=n,o=i}return r}function z(t){var r=[],n=a,i=o,f=s,y=c,v=u,h=l,D=d,x=_,b=M,k=S,A=E,F=C,N=T;a=!0,o=!1,s=void 0,c=void 0,u=void 0,l=void 0,d=void 0,_=void 0,M=1,S=void 0,E=void 0,C=void 0,T=p.createTempVariable(void 0),g();var P=p.copyPrologue(t.statements,r,!1,B);q(t.statements,P);var w=ke();return e.insertStatementsAfterStandardPrologue(r,m()),r.push(p.createReturnStatement(w)),a=n,o=i,s=f,c=y,u=v,l=h,d=D,_=x,M=b,S=k,E=A,C=F,T=N,e.setTextRange(p.createBlock(r,t.multiLine),t)}function U(t){var r=[];return n(t.left),n(t.right),p.inlineExpressions(r);function n(t){e.isBinaryExpression(t)&&27===t.operatorToken.kind?(n(t.left),n(t.right)):(X(t)&&r.length>0&&(Te(1,[p.createExpressionStatement(p.inlineExpressions(r))]),r=[]),r.push(e.visitNode(t,B,e.isExpression)))}}function V(t,n,i,a){var o,s=Q(t);if(s>0){o=Z();var c=e.visitNodes(t,B,e.isExpression,0,s);be(o,p.createArrayLiteralExpression(n?r([n],c):c)),n=void 0}var u=e.reduceLeft(t,(function(t,i){if(X(i)&&t.length>0){var s=void 0!==o;o||(o=Z()),be(o,s?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(t,a)]):p.createArrayLiteralExpression(n?r([n],t):t,a)),n=void 0,t=[]}return t.push(e.visitNode(i,B,e.isExpression)),t}),[],s);return o?p.createArrayConcatCall(o,[p.createArrayLiteralExpression(u,a)]):e.setTextRange(p.createArrayLiteralExpression(n?r([n],u):u,a),i)}function q(e,t){void 0===t&&(t=0);for(var r=e.length,n=t;n0?Se(r,t):xe(t)}(r);case 241:return function(t){var r=ge(t.label?e.idText(t.label):void 0);r>0?Se(r,t):xe(t)}(r);case 242:return function(t){r=e.visitNode(t.expression,B,e.isExpression),n=t,Te(8,[r],n);var r,n}(r);case 243:return function(t){X(t)?(r=$(e.visitNode(t.expression,B,e.isExpression)),n=ee(),i=ee(),te(n),re({kind:1,expression:r,startLabel:n,endLabel:i}),W(t.statement),e.Debug.assert(1===ae()),te(ne().endLabel)):xe(e.visitNode(t,B,e.isStatement));var r,n,i}(r);case 244:return function(t){if(X(t.caseBlock)){for(var r=t.caseBlock,n=r.clauses.length,i=(re({kind:2,isScript:!1,breakLabel:f=ee()}),f),a=$(e.visitNode(t.expression,B,e.isExpression)),o=[],s=-1,c=0;c0)break;d.push(p.createCaseClause(e.visitNode(u.expression,B,e.isExpression),[he(o[c],u.expression)]))}else _++}d.length&&(xe(p.createSwitchStatement(a,p.createCaseBlock(d))),l+=d.length,d=[]),_>0&&(l+=_,_=0)}Se(s>=0?o[s]:i);for(c=0;c0)break;u.push(Y(i))}u.length&&(xe(p.createExpressionStatement(p.inlineExpressions(u))),c+=u.length,u=[])}}function Y(t){return e.setSourceMapRange(p.createAssignment(e.setSourceMapRange(p.cloneNode(t.name),t.name),e.visitNode(t.initializer,B,e.isExpression)),t)}function X(e){return!!e&&0!=(262144&e.transformFlags)}function Q(e){for(var t=e.length,r=0;r=0;r--){var n=l[r];if(!_e(n))break;if(n.labelText===e)return!0}return!1}function ge(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(_e(r=l[t])&&r.labelText===e)return r.breakLabel;if(de(r)&&fe(e,t-1))return r.breakLabel}else for(t=l.length-1;t>=0;t--){var r;if(de(r=l[t]))return r.breakLabel}return 0}function me(e){if(l)if(e)for(var t=l.length-1;t>=0;t--){if(pe(r=l[t])&&fe(e,t-1))return r.continueLabel}else for(t=l.length-1;t>=0;t--){var r;if(pe(r=l[t]))return r.continueLabel}return 0}function ye(e){if(void 0!==e&&e>0){void 0===_&&(_=[]);var t=p.createNumericLiteral(-1);return void 0===_[e]?_[e]=[t]:_[e].push(t),t}return p.createOmittedExpression()}function ve(t){var r=p.createNumericLiteral(t);return e.addSyntheticTrailingComment(r,3,function(e){switch(e){case 2:return"return";case 3:return"break";case 4:return"yield";case 5:return"yield*";case 7:return"endfinally";default:return}}(t)),r}function he(t,r){return e.Debug.assertLessThan(0,t,"Invalid label"),e.setTextRange(p.createReturnStatement(p.createArrayLiteralExpression([ve(3),ye(t)])),r)}function De(){Te(0)}function xe(e){e?Te(1,[e]):De()}function be(e,t,r){Te(2,[e,t],r)}function Se(e,t){Te(3,[e],t)}function Ee(e,t,r){Te(4,[e,t],r)}function Ce(e,t,r){Te(5,[e,t],r)}function Te(e,t,r){void 0===S&&(S=[],E=[],C=[]),void 0===d&&te(ee());var n=S.length;S[n]=e,E[n]=t,C[n]=r}function ke(){L=0,R=0,k=void 0,A=!1,F=!1,N=void 0,P=void 0,w=void 0,I=void 0,O=void 0;var t=function(){if(S){for(var t=0;t0)),524288))}function Ae(e){(function(e){if(!F)return!0;if(!d||!_)return!1;for(var t=0;t=0;t--){var r=O[t];P=[p.createWithStatement(r.expression,p.createBlock(P))]}if(I){var n=I.startLabel,i=I.catchLabel,a=I.finallyLabel,o=I.endLabel;P.unshift(p.createExpressionStatement(p.createCallExpression(p.createPropertyAccessExpression(p.createPropertyAccessExpression(T,"trys"),"push"),void 0,[p.createArrayLiteralExpression([ye(n),ye(i),ye(a),ye(o)])]))),I=void 0}e&&P.push(p.createExpressionStatement(p.createAssignment(p.createPropertyAccessExpression(T,"label"),p.createNumericLiteral(R+1))))}N.push(p.createCaseClause(p.createNumericLiteral(R),P||[])),P=void 0}function Ne(e){if(d)for(var t=0;t=2?2:0)),t),t))}else n&&e.isDefaultImport(t)&&(r=e.append(r,i.createVariableStatement(void 0,i.createVariableDeclarationList([e.setOriginalNode(e.setTextRange(i.createVariableDeclaration(i.cloneNode(n.name),void 0,void 0,i.getGeneratedNameForNode(t)),t),t)],_>=2?2:0))));if(j(t)){var o=e.getOriginalNodeId(t);x[o]=J(x[o],t)}else r=J(r,t);return e.singleOrMany(r)}(t);case 260:return function(t){var r;e.Debug.assert(e.isExternalModuleImportEqualsDeclaration(t),"import= for internal module references should be handled in an earlier transformer."),p!==e.ModuleKind.AMD?r=e.hasSyntacticModifier(t,1)?e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(t.name,L(t))),t),t)):e.append(r,e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(i.cloneNode(t.name),void 0,void 0,L(t))],_>=2?2:0)),t),t)):e.hasSyntacticModifier(t,1)&&(r=e.append(r,e.setOriginalNode(e.setTextRange(i.createExpressionStatement(G(i.getExportName(t),i.getLocalName(t))),t),t)));if(j(t)){var n=e.getOriginalNodeId(t);x[n]=K(x[n],t)}else r=K(r,t);return e.singleOrMany(r)}(t);case 267:return function(t){if(!t.moduleSpecifier)return;var r=i.getGeneratedNameForNode(t);if(t.exportClause&&e.isNamedExports(t.exportClause)){var n=[];p!==e.ModuleKind.AMD&&n.push(e.setOriginalNode(e.setTextRange(i.createVariableStatement(void 0,i.createVariableDeclarationList([i.createVariableDeclaration(r,void 0,void 0,L(t))])),t),t));for(var o=0,s=t.exportClause.elements;o(e.isExportName(t)?1:0);return!1}function I(t,r){var n,o=i.createUniqueName("resolve"),s=i.createUniqueName("reject"),c=[i.createParameterDeclaration(void 0,void 0,void 0,o),i.createParameterDeclaration(void 0,void 0,void 0,s)],l=i.createBlock([i.createExpressionStatement(i.createCallExpression(i.createIdentifier("require"),void 0,[i.createArrayLiteralExpression([t||i.createOmittedExpression()]),o,s]))]);_>=2?n=i.createArrowFunction(void 0,void 0,c,void 0,void 0,l):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,c,void 0,l),r&&e.setEmitFlags(n,8));var d=i.createNewExpression(i.createIdentifier("Promise"),void 0,[n]);return u.esModuleInterop?i.createCallExpression(i.createPropertyAccessExpression(d,i.createIdentifier("then")),void 0,[a().createImportStarCallbackHelper()]):d}function O(t,r){var n,o=i.createCallExpression(i.createPropertyAccessExpression(i.createIdentifier("Promise"),"resolve"),void 0,[]),s=i.createCallExpression(i.createIdentifier("require"),void 0,t?[t]:[]);return u.esModuleInterop&&(s=a().createImportStarHelper(s)),_>=2?n=i.createArrowFunction(void 0,void 0,[],void 0,void 0,s):(n=i.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,i.createBlock([i.createReturnStatement(s)])),r&&e.setEmitFlags(n,8)),i.createCallExpression(i.createPropertyAccessExpression(o,"then"),void 0,[n])}function M(t,r){return!u.esModuleInterop||67108864&e.getEmitFlags(t)?r:e.getImportNeedsImportStarHelper(t)?a().createImportStarHelper(r):e.getImportNeedsImportDefaultHelper(t)?a().createImportDefaultHelper(r):r}function L(t){var r=e.getExternalModuleNameLiteral(i,t,m,d,l,u),n=[];return r&&n.push(r),i.createCallExpression(i.createIdentifier("require"),void 0,n)}function R(t,r,n){var a=Q(t);if(a){for(var o=e.isExportName(t)?r:i.createAssignment(t,r),s=0,c=a;se.ModuleKind.ES2015)return t;if(!t.exportClause||!e.isNamespaceExport(t.exportClause)||!t.moduleSpecifier)return t;var r=t.exportClause.name,n=i.getGeneratedNameForNode(r),a=i.createImportDeclaration(void 0,void 0,i.createImportClause(!1,void 0,i.createNamespaceImport(n)),t.moduleSpecifier);e.setOriginalNode(a,t.exportClause);var s=e.isExportNamespaceAsDefaultDeclaration(t)?i.createExportDefault(n):i.createExportDeclaration(void 0,void 0,!1,i.createNamedExports([i.createExportSpecifier(n,r)]));return e.setOriginalNode(s,t),[a,s]}(t)}return t}}}(u||(u={})),function(e){function t(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isPropertyAccessExpression(t)||e.isBindingElement(t)||e.isConstructorDeclaration(t)?r:e.isSetAccessor(t)||e.isGetAccessor(t)?function(r){var n;n=168===t.kind?e.hasSyntacticModifier(t,32)?r.errorModuleName?e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:n,errorNode:t.name,typeName:t.name}}:e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isIndexSignatureDeclaration(t)?function(r){var n;switch(t.kind){case 170:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 169:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 171:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 165:case 164:n=e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:252===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 251:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}:e.isParameter(t)?e.isParameterPropertyDeclaration(t,t.parent)&&e.hasSyntacticModifier(t.parent,8)?r:function(r){var n=function(r){switch(t.parent.kind){case 166:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 170:case 175:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 169:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 171:return r.errorModuleName?e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 165:case 164:return e.hasSyntacticModifier(t.parent,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 251:case 174:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 168:case 167:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return e.Debug.fail("Unknown parent for parameter: "+e.SyntaxKind[t.parent.kind])}}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}:e.isTypeParameterDeclaration(t)?function(){var r;switch(t.parent.kind){case 252:r=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 253:r=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 190:r=e.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 175:case 170:r=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 169:r=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 165:case 164:r=e.hasSyntacticModifier(t.parent,32)?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:252===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 174:case 251:r=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 254:r=e.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:r,errorNode:t,typeName:t.name}}:e.isExpressionWithTypeArguments(t)?function(){var r;r=e.isClassDeclaration(t.parent.parent)?e.isHeritageClause(t.parent)&&116===t.parent.token?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:t.parent.parent.name?e.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:e.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:t,typeName:e.getNameOfDeclaration(t.parent.parent)}}:e.isImportEqualsDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}:e.isTypeAliasDeclaration(t)?function(){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}:e.Debug.assertNever(t,"Attempted to set a declaration diagnostic context for unhandled node kind: "+e.SyntaxKind[t.kind]);function r(r){var n=function(r){return 249===t.kind||198===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:163===t.kind||201===t.kind||162===t.kind||160===t.kind&&e.hasSyntacticModifier(t.parent,8)?e.hasSyntacticModifier(t,32)?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===t.parent.kind||160===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}(r);return void 0!==n?{diagnosticMessage:n,errorNode:t,typeName:t.name}:void 0}}e.canProduceDiagnostics=function(t){return e.isVariableDeclaration(t)||e.isPropertyDeclaration(t)||e.isPropertySignature(t)||e.isBindingElement(t)||e.isSetAccessor(t)||e.isGetAccessor(t)||e.isConstructSignatureDeclaration(t)||e.isCallSignatureDeclaration(t)||e.isMethodDeclaration(t)||e.isMethodSignature(t)||e.isFunctionDeclaration(t)||e.isParameter(t)||e.isTypeParameterDeclaration(t)||e.isExpressionWithTypeArguments(t)||e.isImportEqualsDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isConstructorDeclaration(t)||e.isIndexSignatureDeclaration(t)||e.isPropertyAccessExpression(t)},e.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return e.isSetAccessor(r)||e.isGetAccessor(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:e.isMethodSignature(r)||e.isMethodDeclaration(r)?function(t){var n=function(t){return e.hasSyntacticModifier(r,32)?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:252===r.parent.kind?t.errorModuleName?2===t.accessibility?e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(t);return void 0!==n?{diagnosticMessage:n,errorNode:r,typeName:r.name}:void 0}:t(r)},e.createGetSymbolAccessibilityDiagnosticForNode=t}(u||(u={})),function(e){function t(t,r){var n=r.text.substring(t.pos,t.end);return e.stringContains(n,"@internal")}function i(r,n){var i=e.getParseTreeNode(r);if(i&&160===i.kind){var a=i.parent.parameters.indexOf(i),o=a>0?i.parent.parameters[a-1]:void 0,s=n.text,c=o?e.concatenate(e.getTrailingCommentRanges(s,e.skipTrivia(s,o.end+1,!1,!0)),e.getLeadingCommentRanges(s,r.pos)):e.getTrailingCommentRanges(s,e.skipTrivia(s,r.pos,!1,!0));return c&&c.length&&t(e.last(c),n)}var u=i&&e.getLeadingCommentRangesOfNode(i,n);return!!e.forEach(u,(function(e){return t(e,n)}))}e.getDeclarationDiagnostics=function(t,r,n){var i=t.getCompilerOptions();return e.transformNodes(r,t,e.factory,i,n?[n]:e.filter(t.getSourceFiles(),e.isSourceFileNotJson),[o],!1).diagnostics},e.isInternalDeclaration=i;var a=531469;function o(t){var o,u,l,d,_,p,f,g,m,y,v,h=function(){return e.Debug.fail("Diagnostic emitted without context")},D=h,x=!0,b=!1,S=!1,E=!1,C=!1,T=t.factory,k=t.getEmitHost(),A={trackSymbol:function(e,t,r){if(262144&e.flags)return;O(F.isSymbolAccessible(e,t,r,!0)),I(F.getTypeReferenceDirectivesForSymbol(e,r))},reportInaccessibleThisError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),"this"))},reportInaccessibleUniqueSymbolError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary,e.declarationNameToString(f),"unique symbol"))},reportCyclicStructureError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary,e.declarationNameToString(f)))},reportPrivateInBaseOfClassExpression:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected,r))},reportLikelyUnsafeImportRequiredError:function(r){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary,e.declarationNameToString(f),r))},reportTruncationError:function(){f&&t.addDiagnostic(e.createDiagnosticForNode(f,e.Diagnostics.The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed))},moduleResolverHost:k,trackReferencedAmbientModule:function(t,r){var n=F.getTypeReferenceDirectivesForSymbol(r,67108863);if(e.length(n))return I(n);var i=e.getSourceFileOfNode(t);m.set(e.getOriginalNodeId(i),i)},trackExternalModuleSymbolOfImportTypeNode:function(e){b||(p||(p=[])).push(e)},reportNonlocalAugmentation:function(r,n,i){for(var a=e.find(n.declarations,(function(t){return e.getSourceFileOfNode(t)===r})),o=e.filter(i.declarations,(function(t){return e.getSourceFileOfNode(t)!==r})),s=0,c=o;s0?e.parameters[0].type:void 0}e.transformDeclarations=o}(u||(u={})),function(e){var t,n;function i(t,r,n){if(n)return e.emptyArray;var i=e.getEmitScriptTarget(t),a=e.getEmitModuleKind(t),o=[];return e.addRange(o,r&&e.map(r.before,s)),o.push(e.transformTypeScript),o.push(e.transformClassFields),e.getJSXTransformEnabled(t)&&o.push(e.transformJsx),i<99&&o.push(e.transformESNext),i<7&&o.push(e.transformES2020),i<6&&o.push(e.transformES2019),i<5&&o.push(e.transformES2018),i<4&&o.push(e.transformES2017),i<3&&o.push(e.transformES2016),i<2&&(o.push(e.transformES2015),o.push(e.transformGenerators)),o.push(function(t){switch(t){case e.ModuleKind.ESNext:case e.ModuleKind.ES2020:case e.ModuleKind.ES2015:return e.transformECMAScriptModule;case e.ModuleKind.System:return e.transformSystemModule;default:return e.transformModule}}(a)),i<1&&o.push(e.transformES5),e.addRange(o,r&&e.map(r.after,s)),o}function a(t){var r=[];return r.push(e.transformDeclarations),e.addRange(r,t&&e.map(t.afterDeclarations,c)),r}function o(t,r){return function(n){var i=t(n);return"function"==typeof i?r(n,i):function(t){return function(r){return e.isBundle(r)?t.transformBundle(r):t.transformSourceFile(r)}}(i)}}function s(t){return o(t,e.chainBundle)}function c(e){return o(e,(function(e,t){return t}))}function u(e,t){return t}function l(e,t,r){r(e,t)}!function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initialized=1]="Initialized",e[e.Completed=2]="Completed",e[e.Disposed=3]="Disposed"}(t||(t={})),function(e){e[e.Substitution=1]="Substitution",e[e.EmitNotifications=2]="EmitNotifications"}(n||(n={})),e.noTransformers={scriptTransformers:e.emptyArray,declarationTransformers:e.emptyArray},e.getTransformers=function(e,t,r){return{scriptTransformers:i(e,t,r),declarationTransformers:a(t)}},e.noEmitSubstitution=u,e.noEmitNotification=l,e.transformNodes=function(t,n,i,a,o,s,c){for(var d,_,p,f,g=new Array(341),m=0,y=[],v=[],h=[],D=[],x=0,b=!1,S=u,E=l,C=0,T=[],k={factory:i,getCompilerOptions:function(){return a},getEmitResolver:function(){return t},getEmitHost:function(){return n},getEmitHelperFactory:e.memoize((function(){return e.createEmitHelperFactory(k)})),startLexicalEnvironment:function(){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!b,"Lexical environment is suspended."),y[x]=d,v[x]=_,h[x]=p,D[x]=m,x++,d=void 0,_=void 0,p=void 0,m=0},suspendLexicalEnvironment:function(){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!b,"Lexical environment is already suspended."),b=!0},resumeLexicalEnvironment:function(){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(b,"Lexical environment is not suspended."),b=!1},endLexicalEnvironment:function(){var t;if(e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.Debug.assert(!b,"Lexical environment is suspended."),d||_||p){if(_&&(t=r(_)),d){var n=i.createVariableStatement(void 0,i.createVariableDeclarationList(d));e.setEmitFlags(n,1048576),t?t.push(n):t=[n]}p&&(t=t?r(t,p):r(p))}x--,d=y[x],_=v[x],p=h[x],m=D[x],0===x&&(y=[],v=[],h=[],D=[]);return t},setLexicalEnvironmentFlags:function(e,t){m=t?m|e:m&~e},getLexicalEnvironmentFlags:function(){return m},hoistVariableDeclaration:function(t){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed.");var r=e.setEmitFlags(i.createVariableDeclaration(t),64);d?d.push(r):d=[r];1&m&&(m|=2)},hoistFunctionDeclaration:function(t){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),_?_.push(t):_=[t]},addInitializationStatement:function(t){e.Debug.assert(C>0,"Cannot modify the lexical environment during initialization."),e.Debug.assert(C<2,"Cannot modify the lexical environment after transformation has completed."),e.setEmitFlags(t,1048576),p?p.push(t):p=[t]},requestEmitHelper:function t(r){if(e.Debug.assert(C>0,"Cannot modify the transformation context during initialization."),e.Debug.assert(C<2,"Cannot modify the transformation context after transformation has completed."),e.Debug.assert(!r.scoped,"Cannot request a scoped emit helper."),r.dependencies)for(var n=0,i=r.dependencies;n0,"Cannot modify the transformation context during initialization."),e.Debug.assert(C<2,"Cannot modify the transformation context after transformation has completed.");var t=f;return f=void 0,t},enableSubstitution:function(t){e.Debug.assert(C<2,"Cannot modify the transformation context after transformation has completed."),g[t]|=1},enableEmitNotification:function(t){e.Debug.assert(C<2,"Cannot modify the transformation context after transformation has completed."),g[t]|=2},isSubstitutionEnabled:R,isEmitNotificationEnabled:B,get onSubstituteNode(){return S},set onSubstituteNode(t){e.Debug.assert(C<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),S=t},get onEmitNode(){return E},set onEmitNode(t){e.Debug.assert(C<1,"Cannot modify transformation hooks after initialization has completed."),e.Debug.assert(void 0!==t,"Value must not be 'undefined'"),E=t},addDiagnostic:function(e){T.push(e)}},A=0,F=o;A"],e[8192]=["[","]"],e}(),a={pos:-1,end:-1};function o(t,r,n,i,a,o){void 0===i&&(i=!1);var c=e.isArray(n)?n:e.getSourceFilesToEmit(t,n,i),l=t.getCompilerOptions();if(e.outFile(l)){var d=t.getPrependNodes();if(c.length||d.length){var _=e.factory.createBundle(c,d);if(g=r(u(_,t,i),_))return g}}else{if(!a)for(var p=0,f=c;p"),It(),De(e.type),ir(e)}(r);case 308:return function(e){Ft("function"),Dt(e,e.parameters),kt(":"),De(e.type)}(r);case 175:return function(e){nr(e),Ft("new"),It(),ht(e,e.typeParameters),Dt(e,e.parameters),It(),kt("=>"),It(),De(e.type),ir(e)}(r);case 176:return function(e){Ft("typeof"),It(),De(e.exprName)}(r);case 177:return function(t){kt("{");var r=1&e.getEmitFlags(t)?768:32897;bt(t,t.members,524288|r),kt("}")}(r);case 178:return function(e){De(e.elementType),kt("["),kt("]")}(r);case 179:return function(t){Je(22,t.pos,kt,t);var r=1&e.getEmitFlags(t)?528:657;bt(t,t.elements,524288|r),Je(23,t.elements.end,kt,t)}(r);case 180:return function(e){De(e.type),kt("?")}(r);case 182:return function(e){bt(e,e.types,516)}(r);case 183:return function(e){bt(e,e.types,520)}(r);case 184:return function(e){De(e.checkType),It(),Ft("extends"),It(),De(e.extendsType),It(),kt("?"),It(),De(e.trueType),It(),kt(":"),It(),De(e.falseType)}(r);case 185:return function(e){Ft("infer"),It(),De(e.typeParameter)}(r);case 186:return function(e){kt("("),De(e.type),kt(")")}(r);case 223:return function(e){be(e.expression),vt(e,e.typeArguments)}(r);case 187:return void Ft("this");case 188:return function(e){Jt(e.operator,Ft),It(),De(e.type)}(r);case 189:return function(e){De(e.objectType),kt("["),De(e.indexType),kt("]")}(r);case 190:return function(t){var r=e.getEmitFlags(t);kt("{"),1&r?It():(Mt(),Lt());t.readonlyToken&&(De(t.readonlyToken),142!==t.readonlyToken.kind&&Ft("readonly"),It());kt("["),Ee(3,t.typeParameter),t.nameType&&(It(),Ft("as"),It(),De(t.nameType));kt("]"),t.questionToken&&(De(t.questionToken),57!==t.questionToken.kind&&kt("?"));kt(":"),It(),De(t.type),At(),1&r?It():(Mt(),Rt());kt("}")}(r);case 191:return function(e){be(e.literal)}(r);case 193:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 195:return function(e){e.isTypeOf&&(Ft("typeof"),It());Ft("import"),kt("("),De(e.argument),kt(")"),e.qualifier&&(kt("."),De(e.qualifier));vt(e,e.typeArguments)}(r);case 303:return void kt("*");case 304:return void kt("?");case 305:return function(e){kt("?"),De(e.type)}(r);case 306:return function(e){kt("!"),De(e.type)}(r);case 307:return function(e){De(e.type),kt("=")}(r);case 181:case 309:return function(e){kt("..."),De(e.type)}(r);case 192:return function(e){De(e.dotDotDotToken),De(e.name),De(e.questionToken),Je(58,e.name.end,kt,e),It(),De(e.type)}(r);case 196:return function(e){kt("{"),bt(e,e.elements,525136),kt("}")}(r);case 197:return function(e){kt("["),bt(e,e.elements,524880),kt("]")}(r);case 198:return function(e){De(e.dotDotDotToken),e.propertyName&&(De(e.propertyName),kt(":"),It());De(e.name),pt(e.initializer,e.name.end,e)}(r);case 228:return function(e){be(e.expression),De(e.literal)}(r);case 229:return void At();case 230:return function(e){Le(e,!e.multiLine&&Zt(e))}(r);case 232:return function(e){dt(e,e.modifiers),De(e.declarationList),At()}(r);case 231:return Re(!1);case 233:return function(t){be(t.expression),(!e.isJsonSourceFile(n)||e.nodeIsSynthesized(t.expression))&&At()}(r);case 234:return function(e){var t=Je(98,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.thenStatement),e.elseStatement&&(Kt(e,e.thenStatement,e.elseStatement),Je(90,e.thenStatement.end,Ft,e),234===e.elseStatement.kind?(It(),De(e.elseStatement)):mt(e,e.elseStatement))}(r);case 235:return function(t){Je(89,t.pos,Ft,t),mt(t,t.statement),e.isBlock(t.statement)&&!B?It():Kt(t,t.statement,t.expression);Be(t,t.statement.end),At()}(r);case 236:return function(e){Be(e,e.pos),mt(e,e.statement)}(r);case 237:return function(e){var t=Je(96,e.pos,Ft,e);It();var r=Je(20,t,kt,e);je(e.initializer),r=Je(26,e.initializer?e.initializer.end:r,kt,e),gt(e.condition),r=Je(26,e.condition?e.condition.end:r,kt,e),gt(e.incrementor),Je(21,e.incrementor?e.incrementor.end:r,kt,e),mt(e,e.statement)}(r);case 238:return function(e){var t=Je(96,e.pos,Ft,e);It(),Je(20,t,kt,e),je(e.initializer),It(),Je(100,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 239:return function(e){var t=Je(96,e.pos,Ft,e);It(),function(e){e&&(De(e),It())}(e.awaitModifier),Je(20,t,kt,e),je(e.initializer),It(),Je(156,e.initializer.end,Ft,e),It(),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 240:return function(e){Je(85,e.pos,Ft,e),ft(e.label),At()}(r);case 241:return function(e){Je(80,e.pos,Ft,e),ft(e.label),At()}(r);case 242:return function(e){Je(104,e.pos,Ft,e),gt(e.expression),At()}(r);case 243:return function(e){var t=Je(115,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),mt(e,e.statement)}(r);case 244:return function(e){var t=Je(106,e.pos,Ft,e);It(),Je(20,t,kt,e),be(e.expression),Je(21,e.expression.end,kt,e),It(),De(e.caseBlock)}(r);case 245:return function(e){De(e.label),Je(58,e.label.end,kt,e),It(),De(e.statement)}(r);case 246:return function(e){Je(108,e.pos,Ft,e),gt(e.expression),At()}(r);case 247:return function(e){Je(110,e.pos,Ft,e),It(),De(e.tryBlock),e.catchClause&&(Kt(e,e.tryBlock,e.catchClause),De(e.catchClause));e.finallyBlock&&(Kt(e,e.catchClause||e.tryBlock,e.finallyBlock),Je(95,(e.catchClause||e.tryBlock).end,Ft,e),It(),De(e.finallyBlock))}(r);case 248:return function(e){Bt(86,e.pos,Ft),At()}(r);case 249:return function(e){De(e.name),De(e.exclamationToken),_t(e.type),pt(e.initializer,e.type?e.type.end:e.name.end,e)}(r);case 250:return function(t){Ft(e.isLet(t)?"let":e.isVarConst(t)?"const":"var"),It(),bt(t,t.declarations,528)}(r);case 251:return function(e){Ke(e)}(r);case 252:return function(e){Ge(e)}(r);case 253:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft("interface"),It(),De(e.name),ht(e,e.typeParameters),bt(e,e.heritageClauses,512),It(),kt("{"),bt(e,e.members,129),kt("}")}(r);case 254:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ft("type"),It(),De(e.name),ht(e,e.typeParameters),It(),kt("="),It(),De(e.type),At()}(r);case 255:return function(e){dt(e,e.modifiers),Ft("enum"),It(),De(e.name),It(),kt("{"),bt(e,e.members,145),kt("}")}(r);case 256:return function(e){dt(e,e.modifiers),1024&~e.flags&&(Ft(16&e.flags?"namespace":"module"),It());De(e.name);var t=e.body;if(!t)return At();for(;256===t.kind;)kt("."),De(t.name),t=t.body;It(),De(t)}(r);case 257:return function(t){nr(t),e.forEach(t.statements,or),Le(t,Zt(t)),ir(t)}(r);case 258:return function(e){Je(18,e.pos,kt,e),bt(e,e.clauses,129),Je(19,e.clauses.end,kt,e,!0)}(r);case 259:return function(e){var t=Je(92,e.pos,Ft,e);It(),t=Je(126,t,Ft,e),It(),t=Je(140,t,Ft,e),It(),De(e.name),At()}(r);case 260:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),De(e.name),It(),Je(62,e.name.end,kt,e),It(),function(e){78===e.kind?be(e):De(e)}(e.moduleReference),At()}(r);case 261:return function(e){dt(e,e.modifiers),Je(99,e.modifiers?e.modifiers.end:e.pos,Ft,e),It(),e.importClause&&(De(e.importClause),It(),Je(153,e.importClause.end,Ft,e),It());be(e.moduleSpecifier),At()}(r);case 262:return function(e){e.isTypeOnly&&(Je(149,e.pos,Ft,e),It());De(e.name),e.name&&e.namedBindings&&(Je(27,e.name.end,kt,e),It());De(e.namedBindings)}(r);case 263:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 269:return function(e){var t=Je(41,e.pos,kt,e);It(),Je(126,t,Ft,e),It(),De(e.name)}(r);case 264:return function(e){Ye(e)}(r);case 265:return function(e){Xe(e)}(r);case 266:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isExportEquals?Je(62,t,Nt,e):Je(87,t,Ft,e);It(),be(e.expression),At()}(r);case 267:return function(e){var t=Je(92,e.pos,Ft,e);It(),e.isTypeOnly&&(t=Je(149,t,Ft,e),It());e.exportClause?De(e.exportClause):t=Je(41,t,kt,e);if(e.moduleSpecifier){It(),Je(153,e.exportClause?e.exportClause.end:t,Ft,e),It(),be(e.moduleSpecifier)}At()}(r);case 268:return function(e){Ye(e)}(r);case 270:return function(e){Xe(e)}(r);case 271:return;case 272:return function(e){Ft("require"),kt("("),be(e.expression),kt(")")}(r);case 11:return function(e){f.writeLiteral(e.text)}(r);case 275:case 278:return function(t){if(kt("<"),e.isJsxOpeningElement(t)){var r=Yt(t.tagName,t);Qe(t.tagName),vt(t,t.typeArguments),t.attributes.properties&&t.attributes.properties.length>0&&It(),De(t.attributes),Xt(t.attributes,t),Vt(r)}kt(">")}(r);case 276:case 279:return function(t){kt("")}(r);case 280:return function(e){De(e.name),function(e,t,r,n){r&&(t(e),n(r))}("=",kt,e.initializer,Se)}(r);case 281:return function(e){bt(e,e.properties,262656)}(r);case 282:return function(e){kt("{..."),be(e.expression),kt("}")}(r);case 283:return function(e){e.expression&&(kt("{"),De(e.dotDotDotToken),be(e.expression),kt("}"))}(r);case 284:return function(e){Je(81,e.pos,Ft,e),It(),be(e.expression),$e(e,e.statements,e.expression.end)}(r);case 285:return function(e){var t=Je(87,e.pos,Ft,e);$e(e,e.statements,t)}(r);case 286:return function(e){It(),Jt(e.token,Ft),It(),bt(e,e.types,528)}(r);case 287:return function(e){var t=Je(82,e.pos,Ft,e);It(),e.variableDeclaration&&(Je(20,t,kt,e),De(e.variableDeclaration),Je(21,e.variableDeclaration.end,kt,e),It());De(e.block)}(r);case 288:return function(t){De(t.name),kt(":"),It();var r=t.initializer;if(Ar&&0==(512&e.getEmitFlags(r))){Ar(e.getCommentRange(r).pos)}be(r)}(r);case 289:return function(e){De(e.name),e.objectAssignmentInitializer&&(It(),kt("="),It(),be(e.objectAssignmentInitializer))}(r);case 290:return function(e){e.expression&&(Je(25,e.pos,kt,e),be(e.expression))}(r);case 291:return function(e){De(e.name),pt(e.initializer,e.name.end,e)}(r);case 326:case 333:return function(e){tt(e.tagName),nt(e.typeExpression),It(),e.isBracketed&&kt("[");De(e.name),e.isBracketed&&kt("]");rt(e.comment)}(r);case 327:case 329:case 328:case 325:return tt((i=r).tagName),nt(i.typeExpression),void rt(i.comment);case 316:case 315:return function(e){tt(e.tagName),It(),kt("{"),De(e.class),kt("}"),rt(e.comment)}(r);case 330:return function(e){tt(e.tagName),nt(e.constraint),It(),bt(e,e.typeParameters,528),rt(e.comment)}(r);case 331:return function(e){tt(e.tagName),e.typeExpression&&(301===e.typeExpression.kind?nt(e.typeExpression):(It(),kt("{"),j("Object"),e.typeExpression.isArrayType&&(kt("["),kt("]")),kt("}")));e.fullName&&(It(),De(e.fullName));rt(e.comment),e.typeExpression&&312===e.typeExpression.kind&&Ze(e.typeExpression)}(r);case 324:return function(e){tt(e.tagName),e.name&&(It(),De(e.name));rt(e.comment),et(e.typeExpression)}(r);case 313:return et(r);case 312:return Ze(r);case 319:case 314:return function(e){tt(e.tagName),rt(e.comment)}(r);case 332:return function(e){tt(e.tagName),De(e.name),rt(e.comment)}(r);case 302:return function(e){It(),kt("{"),De(e.name),kt("}")}(r);case 311:return function(e){if(j("/**"),e.comment)for(var t=0,r=e.comment.split(/\r\n?|\n/g);t=1&&!e.isJsonSourceFile(n)?64:0;bt(t,t.properties,526226|a|i),r&&Rt()}(r);case 201:return function(t){var r=e.cast(be(t.expression),e.isExpression),n=t.questionDotToken||e.setTextRangePosEnd(e.factory.createToken(24),t.expression.end,t.name.pos),i=$t(t,t.expression,n),a=$t(t,n,t.name);Ut(i,!1),28===n.kind||!function(t){if(t=e.skipPartiallyEmittedExpressions(t),e.isNumericLiteral(t)){var r=rr(t,!0,!1);return!t.numericLiteralFlags&&!e.stringContains(r,e.tokenToString(24))}if(e.isAccessExpression(t)){var n=e.getConstantValue(t);return"number"==typeof n&&isFinite(n)&&Math.floor(n)===n}}(r)||f.hasTrailingComment()||f.hasTrailingWhitespace()||kt(".");t.questionDotToken?De(n):Je(n.kind,t.expression.end,kt,t);Ut(a,!1),De(t.name),Vt(i,a)}(r);case 202:return function(e){be(e.expression),De(e.questionDotToken),Je(22,e.expression.end,kt,e),be(e.argumentExpression),Je(23,e.argumentExpression.end,kt,e)}(r);case 203:return function(e){be(e.expression),De(e.questionDotToken),vt(e,e.typeArguments),St(e,e.arguments,2576)}(r);case 204:return function(e){Je(102,e.pos,Ft,e),It(),be(e.expression),vt(e,e.typeArguments),St(e,e.arguments,18960)}(r);case 205:return function(e){be(e.tag),vt(e,e.typeArguments),It(),be(e.template)}(r);case 206:return function(e){kt("<"),De(e.type),kt(">"),be(e.expression)}(r);case 207:return function(e){var t=Je(20,e.pos,kt,e),r=Yt(e.expression,e);be(e.expression),Xt(e.expression,e),Vt(r),Je(21,e.expression?e.expression.end:t,kt,e)}(r);case 208:return function(e){cr(e.name),Ke(e)}(r);case 209:return function(e){yt(e,e.decorators),dt(e,e.modifiers),Ue(e,Me)}(r);case 210:return function(e){Je(88,e.pos,Ft,e),It(),be(e.expression)}(r);case 211:return function(e){Je(111,e.pos,Ft,e),It(),be(e.expression)}(r);case 212:return function(e){Je(113,e.pos,Ft,e),It(),be(e.expression)}(r);case 213:return function(e){Je(130,e.pos,Ft,e),It(),be(e.expression)}(r);case 214:return function(e){Jt(e.operator,Nt),function(e){var t=e.operand;return 214===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&It();be(e.operand)}(r);case 215:return function(e){be(e.operand),Jt(e.operator,Nt)}(r);case 216:return function(t){var r=[t],n=[0],i=0;for(;i>=0;)switch(t=r[i],n[i]){case 0:c(t.left);break;case 1:var a=27!==t.operatorToken.kind,o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right);Ut(o,a),Tr(t.operatorToken.pos),jt(t.operatorToken,100===t.operatorToken.kind?Ft:Nt),Ar(t.operatorToken.end,!0),Ut(s,!0),c(t.right);break;case 2:Vt(o=$t(t,t.left,t.operatorToken),s=$t(t,t.operatorToken,t.right)),i--;break;default:return e.Debug.fail("Invalid state "+n[i]+" for emitBinaryExpressionWorker")}function c(t){n[i]++;var a=b,o=S;b=t,S=void 0;var s=Ce(0,1,t);s===Ae&&e.isBinaryExpression(t)?(i++,n[i]=0,r[i]=t):s(1,t),e.Debug.assert(b===t),b=a,S=o}}(r);case 217:return function(e){var t=$t(e,e.condition,e.questionToken),r=$t(e,e.questionToken,e.whenTrue),n=$t(e,e.whenTrue,e.colonToken),i=$t(e,e.colonToken,e.whenFalse);be(e.condition),Ut(t,!0),De(e.questionToken),Ut(r,!0),be(e.whenTrue),Vt(t,r),Ut(n,!0),De(e.colonToken),Ut(i,!0),be(e.whenFalse),Vt(n,i)}(r);case 218:return function(e){De(e.head),bt(e,e.templateSpans,262144)}(r);case 219:return function(e){Je(124,e.pos,Ft,e),De(e.asteriskToken),gt(e.expression)}(r);case 220:return function(e){Je(25,e.pos,kt,e),be(e.expression)}(r);case 221:return function(e){cr(e.name),Ge(e)}(r);case 222:return;case 224:return function(e){be(e.expression),e.type&&(It(),Ft("as"),It(),De(e.type))}(r);case 225:return function(e){be(e.expression),Nt("!")}(r);case 226:return function(e){Bt(e.keywordToken,e.pos,kt),kt("."),De(e.name)}(r);case 273:return function(e){De(e.openingElement),bt(e,e.children,262144),De(e.closingElement)}(r);case 274:return function(e){kt("<"),Qe(e.tagName),vt(e,e.typeArguments),It(),De(e.attributes),kt("/>")}(r);case 277:return function(e){De(e.openingFragment),bt(e,e.children,262144),De(e.closingFragment)}(r);case 336:return function(e){be(e.expression)}(r);case 337:return function(e){St(e,e.elements,528)}(r)}}function Fe(t,r){e.Debug.assert(b===r||S===r),Te(1,t,r)(t,S),e.Debug.assert(b===r||S===r)}function Ne(r){var i=!1,a=298===r.kind?r:void 0;if(!a||L!==e.ModuleKind.None){for(var o=a?a.prepends.length:0,s=a?a.sourceFiles.length+o:1,c=0;c0)return!1;r=o}return!0}(t)?We:He;Dr?Dr(t,t.statements,r):r(t),Rt(),Bt(19,t.statements.end,kt,t)}function We(e){He(e,!0)}function He(e,t){var r=ot(e.statements),n=f.getTextPos();Ne(e),0===r&&n===f.getTextPos()&&t?(Rt(),bt(e,e.statements,768),Lt()):bt(e,e.statements,1,r)}function Ge(t){e.forEach(t.members,sr),yt(t,t.decorators),dt(t,t.modifiers),Ft("class"),t.name&&(It(),xe(t.name));var r=65536&e.getEmitFlags(t);r&&Lt(),ht(t,t.typeParameters),bt(t,t.heritageClauses,0),It(),kt("{"),bt(t,t.members,129),kt("}"),r&&Rt()}function Ye(e){kt("{"),bt(e,e.elements,525136),kt("}")}function Xe(e){e.propertyName&&(De(e.propertyName),It(),Je(126,e.propertyName.end,Ft,e),It()),De(e.name)}function Qe(e){78===e.kind?be(e):De(e)}function $e(t,r,i){var a=163969;1===r.length&&(e.nodeIsSynthesized(t)||e.nodeIsSynthesized(r[0])||e.rangeStartPositionsAreOnSameLine(t,r[0],n))?(Bt(58,i,kt,t),It(),a&=-130):Je(58,i,kt,t),bt(t,r,a)}function Ze(t){bt(t,e.factory.createNodeArray(t.jsDocPropertyTags),33)}function et(t){t.typeParameters&&bt(t,e.factory.createNodeArray(t.typeParameters),33),t.parameters&&bt(t,e.factory.createNodeArray(t.parameters),33),t.type&&(Mt(),It(),kt("*"),It(),De(t.type))}function tt(e){kt("@"),De(e)}function rt(e){e&&(It(),j(e))}function nt(e){e&&(It(),kt("{"),De(e.type),kt("}"))}function it(e,t,r,i){if(e){var a=f.getTextPos();wt('/// '),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:"no-default-lib"}),Mt()}if(n&&n.moduleName&&(wt('/// '),Mt()),n&&n.amdDependencies)for(var o=0,s=n.amdDependencies;o'):wt('/// '),Mt()}for(var u=0,l=t;u'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:"reference",data:d.fileName}),Mt()}for(var _=0,p=r;_'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:"type",data:d.fileName}),Mt()}for(var g=0,m=i;g'),J&&J.sections.push({pos:a,end:f.getTextPos(),kind:"lib",data:d.fileName}),Mt()}}function at(t){var r=t.statements;nr(t),e.forEach(t.statements,or),Ne(t);var n=e.findIndex(r,(function(t){return!e.isPrologueDirective(t)}));!function(e){e.isDeclarationFile&&it(e.hasNoDefaultLib,e.referencedFiles,e.typeReferenceDirectives,e.libReferenceDirectives)}(t),bt(t,r,1,-1===n?r.length:n),ir(t)}function ot(t,r,n,i){for(var a=!!r,o=0;o=a.length||0===c;if(l&&32768&o)return N&&N(a),void(P&&P(a));if(15360&o&&(kt(function(e){return i[15360&e][0]}(o)),l&&!u&&Ar(a.pos,!0)),N&&N(a),l)!(1&o)||B&&e.rangeIsOnSingleLine(r,n)?256&o&&!(524288&o)&&It():Mt();else{var d=0==(262144&o),_=d,f=qt(r,a,o);f?(Mt(f),_=!1):256&o&&It(),128&o&&Lt();for(var g=void 0,m=void 0,y=!1,v=0;v0?(0==(131&o)&&(Lt(),y=!0),Mt(D),_=!1):g&&512&o&&It()}if(m=ce(h),_){if(Ar)Ar(e.getCommentRange(h).pos)}else _=d;p=h.pos,t(h),y&&(Rt(),y=!1),g=h}var x=64&o&&a.hasTrailingComma;16&o&&x&&kt(","),g&&60&o&&g.end!==r.end&&!(1024&e.getEmitFlags(g))&&Tr(g.end),128&o&&Rt(),ue(m);var b=Ht(r,a,o);b?Mt(b):2097408&o&&It()}P&&P(a),15360&o&&(l&&!u&&Tr(a.end),kt(function(e){return i[15360&e][1]}(o)))}}function Tt(e,t){f.writeSymbol(e,t)}function kt(e){f.writePunctuation(e)}function At(){f.writeTrailingSemicolon(";")}function Ft(e){f.writeKeyword(e)}function Nt(e){f.writeOperator(e)}function Pt(e){f.writeParameter(e)}function wt(e){f.writeComment(e)}function It(){f.writeSpace(" ")}function Ot(e){f.writeProperty(e)}function Mt(e){void 0===e&&(e=1);for(var t=0;t0)}function Lt(){f.increaseIndent()}function Rt(){f.decreaseIndent()}function Bt(t,r,n,i){return q?Jt(t,n,r):function(t,r,n,i,a){if(q||t&&e.isInJsonFile(t))return a(r,n,i);var o=t&&t.emitNode,s=o&&o.flags||0,c=o&&o.tokenSourceMapRanges&&o.tokenSourceMapRanges[r],u=c&&c.source||v;i=Mr(u,c?c.pos:i),0==(128&s)&&i>=0&&Rr(u,i);i=a(r,n,i),c&&(i=c.end);0==(256&s)&&i>=0&&Rr(u,i);return i}(i,t,n,r,Jt)}function jt(t,r){w&&w(t),r(e.tokenToString(t.kind)),I&&I(t)}function Jt(t,r,n){var i=e.tokenToString(t);return r(i),n<0?n:n+i.length}function Kt(t,r,n){if(1&e.getEmitFlags(t))It();else if(B){var i=$t(t,r,n);i?Mt(i):It()}else Mt()}function zt(t){for(var r=t.split(/\r\n?|\n/g),n=e.guessIndentation(r),i=0,a=r;i0||o>0)&&a!==o&&(c||xr(a,s),(!c||a>=0&&0!=(512&n))&&(G=a),(!u||o>=0&&0!=(1024&n))&&(Y=o,250===r.kind&&(X=o))),e.forEach(e.getSyntheticLeadingComments(r),yr),te();var p=Te(2,t,r);2048&n?($=!0,p(t,r),$=!1):p(t,r),ee(),e.forEach(e.getSyntheticTrailingComments(r),vr),(a>0||o>0)&&a!==o&&(G=l,Y=d,X=_,!u&&s&&function(e){Pr(e,kr)}(o)),te(),e.Debug.assert(b===r||S===r)}function yr(e){(e.hasLeadingNewline||2===e.kind)&&f.writeLine(),hr(e),e.hasTrailingNewLine||2===e.kind?f.writeLine():f.writeSpace(" ")}function vr(e){f.isAtStartOfLine()||f.writeSpace(" "),hr(e),e.hasTrailingNewLine&&f.writeLine()}function hr(t){var r=function(e){return 3===e.kind?"/*"+e.text+"*/":"//"+e.text}(t),n=3===t.kind?e.computeLineStarts(r):void 0;e.writeCommentRange(r,n,f,0,r.length,M)}function Dr(t,r,i){ee();var a=r.pos,o=r.end,s=e.getEmitFlags(t),c=$||o<0||0!=(1024&s);a<0||0!=(512&s)||function(t){var r=e.emitDetachedComments(n.text,he(),f,wr,t,M,$);r&&(x?x.push(r):x=[r])}(r),te(),2048&s&&!$?($=!0,i(t),$=!1):i(t),ee(),c||(xr(r.end,!0),Q&&!f.isAtStartOfLine()&&f.writeLine()),te()}function xr(e,t){Q=!1,t?0===e&&(null==n?void 0:n.isDeclarationFile)?Nr(e,Sr):Nr(e,Cr):0===e&&Nr(e,br)}function br(e,t,r,n,i){Ir(e,t)&&Cr(e,t,r,n,i)}function Sr(e,t,r,n,i){Ir(e,t)||Cr(e,t,r,n,i)}function Er(r,n){return!t.onlyPrintJsDocStyle||(e.isJSDocLikeText(r,n)||e.isPinnedComment(r,n))}function Cr(t,r,i,a,o){Er(n.text,t)&&(Q||(e.emitNewLineBeforeLeadingCommentOfPosition(he(),f,o,t),Q=!0),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():3===i&&f.writeSpace(" "))}function Tr(e){$||-1===e||xr(e,!0)}function kr(t,r,i,a){Er(n.text,t)&&(f.isAtStartOfLine()||f.writeSpace(" "),Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a&&f.writeLine())}function Ar(e,t){$||(ee(),Pr(e,t?kr:Fr),te())}function Fr(t,r,i,a){Lr(t),e.writeCommentRange(n.text,he(),f,t,r,M),Lr(r),a?f.writeLine():f.writeSpace(" ")}function Nr(t,r){!n||-1!==G&&t===G||(function(t){return void 0!==x&&e.last(x).nodePos===t}(t)?function(t){var r=e.last(x).detachedCommentEndPos;x.length-1?x.pop():x=void 0;e.forEachLeadingCommentRange(n.text,r,t,r)}(r):e.forEachLeadingCommentRange(n.text,t,r,t))}function Pr(t,r){n&&(-1===Y||t!==Y&&t!==X)&&e.forEachTrailingCommentRange(n.text,t,r)}function wr(t,r,i,a,o,s){Er(n.text,a)&&(Lr(a),e.writeCommentRange(t,r,i,a,o,s),Lr(o))}function Ir(t,r){return e.isRecognizedTripleSlashComment(n.text,t,r)}function Or(t,r){e.Debug.assert(b===r||S===r);var n=Te(3,t,r);if(e.isUnparsedSource(r)||e.isUnparsedPrepend(r))n(t,r);else if(e.isUnparsedNode(r)){var i=function(t){return void 0===t.parsedSourceMap&&void 0!==t.sourceMapText&&(t.parsedSourceMap=e.tryParseRawSourceMap(t.sourceMapText)||!1),t.parsedSourceMap||void 0}(r.parent);i&&y&&y.appendSourceMap(f.getLine(),f.getColumn(),i,r.parent.sourceMapPath,r.parent.getLineAndCharacterOfPosition(r.pos),r.parent.getLineAndCharacterOfPosition(r.end)),n(t,r)}else{var a=e.getSourceMapRange(r),o=a.pos,s=a.end,c=a.source,u=void 0===c?v:c,l=e.getEmitFlags(r);335!==r.kind&&0==(16&l)&&o>=0&&Rr(u,Mr(u,o)),64&l?(q=!0,n(t,r),q=!1):n(t,r),335!==r.kind&&0==(32&l)&&s>=0&&Rr(u,s)}e.Debug.assert(b===r||S===r)}function Mr(t,r){return t.skipTrivia?t.skipTrivia(r):e.skipTrivia(t.text,r)}function Lr(t){if(!(q||e.positionIsSynthesized(t)||jr(v))){var r=e.getLineAndCharacterOfPosition(v,t),n=r.line,i=r.character;y.addMapping(f.getLine(),f.getColumn(),W,n,i,void 0)}}function Rr(e,t){if(e!==v){var r=v,n=W;Br(e),Lr(t),function(e,t){v=e,W=t}(r,n)}else Lr(t)}function Br(e){q||(v=e,e!==h?jr(e)||(W=y.addSource(e.fileName),t.inlineSources&&y.setSourceContent(W,e.text),h=e,H=W):W=H)}function jr(t){return e.fileExtensionIs(t.fileName,".json")}}e.isBuildInfoFile=function(t){return e.fileExtensionIs(t,".tsbuildinfo")},e.forEachEmittedFile=o,e.getTsBuildInfoEmitOutputFilePath=s,e.getOutputPathsForBundle=c,e.getOutputPathsFor=u,e.getOutputExtension=d,e.getOutputDeclarationFileName=p,e.getAllProjectOutputs=function(t,r){var n=g(),i=n.addOutput,a=n.getOutputs;if(e.outFile(t.options))m(t,i);else{for(var o=0,c=t.fileNames;o=4,v=(f+1+"").length;y&&(v=Math.max("...".length,v));for(var h="",D=l;D<=f;D++){h+=o.getNewLine(),y&&l+11}))&&Zt(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files,"outDir")}w.useDefineForClassFields&&0===d&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_target_is_ES3,"useDefineForClassFields");w.checkJs&&!e.getAllowJSCompilerOption(w)&&te.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"checkJs","allowJs"));w.emitDeclarationOnly&&(e.getEmitDeclarations(w)||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1_or_option_2,"emitDeclarationOnly","declaration","composite"),w.noEmit&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"emitDeclarationOnly","noEmit"));w.emitDecoratorMetadata&&!w.experimentalDecorators&&Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators");w.jsxFactory?(w.reactNamespace&&Zt(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"reactNamespace","jsxFactory"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFactory",e.inverseJsxOptionMap.get(""+w.jsx)),e.parseIsolatedEntityName(w.jsxFactory,d)||er("jsxFactory",e.Diagnostics.Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFactory)):w.reactNamespace&&!e.isIdentifierText(w.reactNamespace,d)&&er("reactNamespace",e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,w.reactNamespace);w.jsxFragmentFactory&&(w.jsxFactory||Zt(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"jsxFragmentFactory","jsxFactory"),4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxFragmentFactory",e.inverseJsxOptionMap.get(""+w.jsx)),e.parseIsolatedEntityName(w.jsxFragmentFactory,d)||er("jsxFragmentFactory",e.Diagnostics.Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name,w.jsxFragmentFactory));w.reactNamespace&&(4!==w.jsx&&5!==w.jsx||Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"reactNamespace",e.inverseJsxOptionMap.get(""+w.jsx)));w.jsxImportSource&&2===w.jsx&&Zt(e.Diagnostics.Option_0_cannot_be_specified_when_option_jsx_is_1,"jsxImportSource",e.inverseJsxOptionMap.get(""+w.jsx));if(!w.noEmit&&!w.suppressOutputPathCheck){var v=Ze(),h=new e.Set;e.forEachEmittedFile(v,(function(e){w.emitDeclarationOnly||D(e.jsFilePath,h),D(e.declarationFilePath,h)}))}function D(t,r){if(t){var n=Xe(t);if(ye.has(n)){var i=void 0;w.configFilePath||(i=e.chainDiagnosticMessages(void 0,e.Diagnostics.Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig)),i=e.chainDiagnosticMessages(i,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file,t),ar(t,e.createCompilerDiagnosticFromMessageChain(i))}var a=X.useCaseSensitiveFileNames()?n:e.toFileNameLowerCase(n);r.has(a)?ar(t,e.createCompilerDiagnostic(e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,t)):r.add(a)}}}(),e.performance.mark("afterProgram"),e.performance.measure("Program","beforeProgram","afterProgram"),e.tracing.end.apply(e.tracing,q),Ve;function qe(t,r,n){if(!t.length)return e.emptyArray;var i=e.getNormalizedAbsolutePath(r.originalFileName,re),a=He(r);e.tracing.push("program","resolveModuleNamesWorker",{containingFileName:i}),e.performance.mark("beforeResolveModule");var o=G(t,i,n,a);return e.performance.mark("afterResolveModule"),e.performance.measure("ResolveModule","beforeResolveModule","afterResolveModule"),e.tracing.pop(),o}function We(t,r){if(!t.length)return[];var n=e.isString(r)?r:e.getNormalizedAbsolutePath(r.originalFileName,re),i=e.isString(r)?void 0:He(r);e.tracing.push("program","resolveTypeReferenceDirectiveNamesWorker",{containingFileName:n}),e.performance.mark("beforeResolveTypeReference");var a=Y(t,n,i);return e.performance.mark("afterResolveTypeReference"),e.performance.measure("ResolveTypeReference","beforeResolveTypeReference","afterResolveTypeReference"),e.tracing.pop(),a}function He(t){var r=Ot(t.originalFileName);if(r||!e.fileExtensionIs(t.originalFileName,".d.ts"))return r;var n=Ge(t.originalFileName,t.path);if(n)return n;if(X.realpath&&w.preserveSymlinks&&e.stringContains(t.originalFileName,e.nodeModulesPathPart)){var i=X.realpath(t.originalFileName),a=Xe(i);return a===t.path?void 0:Ge(i,a)}}function Ge(t,r){var n=Lt(t);return e.isString(n)?Ot(n):n?Mt((function(t){var n=e.outFile(t.commandLine.options);if(n)return Xe(n)===r?t:void 0})):void 0}function Ye(t){if(e.containsPath(ee,t.fileName,!1)){var r=e.getBaseFileName(t.fileName);if("lib.d.ts"===r||"lib.es6.d.ts"===r)return 0;var n=e.removeSuffix(e.removePrefix(r,"lib."),".d.ts"),i=e.libs.indexOf(n);if(-1!==i)return i+1}return e.libs.length+2}function Xe(t){return e.toPath(t,re,Vt)}function Qe(){if(void 0===C){var t=e.filter(f,(function(t){return e.sourceFileMayBeEmitted(t,Ve)}));w.rootDir&&Wt(t,w.rootDir)?C=e.getNormalizedAbsolutePath(w.rootDir,re):w.composite&&w.configFilePath?Wt(t,C=e.getDirectoryPath(e.normalizeSlashes(w.configFilePath))):(r=t,C=n(e.mapDefined(r,(function(e){return e.isDeclarationFile?void 0:e.fileName})),re,Vt)),C&&C[C.length-1]!==e.directorySeparator&&(C+=e.directorySeparator)}var r;return C}function $e(t,r){if(0===Ee&&!r.ambientModuleNames.length)return qe(t,r,void 0);var n,i,a,o=M&&M.getSourceFile(r.fileName);if(o!==r&&r.resolvedModules){for(var s=[],c=0,u=t;c=0;){if(r.markUsed(o))return o;var s=n.text.slice(a[o],a[o+1]).trim();if(""!==s&&!/^(\s*)\/\/(.*)$/.test(s))return-1;o--}return-1}(t,i)})),directives:i}}function mt(e,t){return vt(e,t,B,yt)}function yt(t,r){return dt((function(){var n=nt().getEmitResolver(t,r);return e.getDeclarationDiagnostics(Ze(e.noop),n,t)||e.emptyArray}))}function vt(t,r,n,i){var a,o=t?null===(a=n.perFile)||void 0===a?void 0:a.get(t.path):n.allDiagnostics;if(o)return o;var s=i(t,r);return t?(n.perFile||(n.perFile=new e.Map)).set(t.path,s):n.allDiagnostics=s,s}function ht(e,t){return e.isDeclarationFile?[]:mt(e,t)}function Dt(t,r,n){Tt(e.normalizePath(t),r,n,void 0)}function xt(e,t){return e.fileName===t.fileName}function bt(e,t){return 78===e.kind?78===t.kind&&e.escapedText===t.escapedText:10===t.kind&&e.text===t.text}function St(t,r){var n=e.factory.createStringLiteral(t),i=e.factory.createImportDeclaration(void 0,void 0,void 0,n);return e.addEmitFlags(i,67108864),e.setParent(n,i),e.setParent(i,r),n.flags&=-9,i.flags&=-9,n}function Et(t){if(!t.imports){var r,n,i,a=e.isSourceFileJS(t),o=e.isExternalModule(t);if((w.isolatedModules||o)&&!t.isDeclarationFile){w.importHelpers&&(r=[St(e.externalHelpersModuleNameText,t)]);var s=e.getJSXRuntimeImport(e.getJSXImplicitImportBase(w,t),w);s&&(r||(r=[])).push(St(s,t))}for(var c=0,u=t.statements;c0),Object.defineProperties(o,{id:{get:function(){return this.redirectInfo.redirectTarget.id},set:function(e){this.redirectInfo.redirectTarget.id=e}},symbol:{get:function(){return this.redirectInfo.redirectTarget.symbol},set:function(e){this.redirectInfo.redirectTarget.symbol=e}}}),o}(D,v,t,r,Xe(t),d);return me.add(D.path,t),Nt(x,r,l),ge.set(r,o.name),p.push(x),x}v&&(fe.set(h,v),ge.set(r,o.name))}if(Nt(v,r,l),v){if(V.set(r,z>0),v.fileName=t,v.path=r,v.resolvedPath=Xe(t),v.originalFileName=d,Ft(t,v,a),X.useCaseSensitiveFileNames()){var b=e.toFileNameLowerCase(r),S=ve.get(b);S?kt(t,S,a):ve.set(b,v)}$=$||v.hasNoDefaultLib&&!i,w.noResolve||(jt(v,n),Jt(v)),w.noLib||zt(v),qt(v),n?_.push(v):p.push(v)}return v}(t,r,n,i,a,o);return e.tracing.pop(),s}function Ft(t,r,n){n&&r&&(F||(F=e.createMultiMap())).add(r.path,{referencedFileName:t,kind:n.kind,index:n.index,file:n.file.path})}function Nt(e,t,r){r?(ye.set(r,e),ye.set(t,e||!1)):ye.set(t,e)}function Pt(e){var t=wt(e);return t&&It(t,e)}function wt(t){if(le&&le.length&&!e.fileExtensionIs(t,".d.ts")&&!e.fileExtensionIs(t,".json"))return Ot(t)}function It(t,r){var n=e.outFile(t.commandLine.options);return n?e.changeExtension(n,".d.ts"):e.getOutputDeclarationFileName(r,t.commandLine,!X.useCaseSensitiveFileNames())}function Ot(t){void 0===_e&&(_e=new e.Map,Mt((function(e){Xe(w.configFilePath)!==e.sourceFile.path&&e.commandLine.fileNames.forEach((function(t){return _e.set(Xe(t),e.sourceFile.path)}))})));var r=_e.get(Xe(t));return r&&Bt(r)}function Mt(t){return e.forEachResolvedProjectReference(le,t)}function Lt(t){if(e.isDeclarationFileName(t))return void 0===pe&&(pe=new e.Map,Mt((function(t){var r=e.outFile(t.commandLine.options);if(r){var n=e.changeExtension(r,".d.ts");pe.set(Xe(n),!0)}else e.forEach(t.commandLine.fileNames,(function(r){if(!e.fileExtensionIs(r,".d.ts")&&!e.fileExtensionIs(r,".json")){var n=e.getOutputDeclarationFileName(r,t.commandLine,X.useCaseSensitiveFileNames());pe.set(Xe(n),r)}}))}))),pe.get(Xe(t))}function Rt(e){return he&&!!Ot(e)}function Bt(e){if(de)return de.get(e)||void 0}function jt(r,n){e.forEach(r.referencedFiles,(function(i,a){Tt(t(i.fileName,r.fileName),n,!1,void 0,{kind:e.RefFileKind.ReferenceFile,index:a,file:r,pos:i.pos,end:i.end})}))}function Jt(t){var r=e.map(t.typeReferenceDirectives,(function(t){return e.toFileNameLowerCase(t.fileName)}));if(r)for(var n=We(r,t),i=0;iK,d=u&&!S(w,a)&&!w.noResolve&&ir&&(te.add(e.createDiagnosticForNodeInSourceFile(w.configFile,p.elements[r],n,i,a,o)),s=!1)}}s&&te.add(e.createCompilerDiagnostic(n,i,a,o))}function Qt(t,r,n,i){for(var a=!0,o=0,s=$t();or?te.add(e.createDiagnosticForNodeInSourceFile(t||w.configFile,o.elements[r],n,i,a)):te.add(e.createCompilerDiagnostic(n,i,a))}function rr(t,r,n,i,a,o,s){var c=nr();(!c||!ir(c,t,r,n,i,a,o,s))&&te.add(e.createCompilerDiagnostic(i,a,o,s))}function nr(){if(void 0===W){W=null;var t=e.getTsConfigObjectLiteralExpression(w.configFile);if(t)for(var r=0,n=e.getPropertyAssignment(t,"compilerOptions");r0)for(var s=t.getTypeChecker(),c=0,u=r.imports;c0)for(var _=0,p=r.referencedFiles;_1&&b(x)}return o;function b(t){for(var n=0,i=t.declarations;n1?f.outputFiles[1]:void 0:f.outputFiles.length>0?f.outputFiles[0]:void 0;g?(e.Debug.assert(e.fileExtensionIs(g.name,".d.ts"),"File extension for signature expected to be dts",(function(){return"Found: "+e.getAnyExtensionFromPath(g.name)+" for "+g.name+":: All output files: "+JSON.stringify(f.outputFiles.map((function(e){return e.name})))})),d=(c||e.generateDjb2Hash)(g.text),u&&d!==_&&function(t,r,i){if(!r)return void i.set(t.resolvedPath,!1);var a;function o(t){t&&(a||(a=new e.Set),a.add(t))}r.forEach((function(e){return o(n(e))})),i.set(t.resolvedPath,a||!1)}(a,f.exportedModulesFromDeclarationEmit,u)):d=_}return o.set(a.resolvedPath,d),!_||d!==_}function d(t,r){if(!t.allFileNames){var n=r.getSourceFiles();t.allFileNames=n===e.emptyArray?e.emptyArray:n.map((function(e){return e.fileName}))}return t.allFileNames}function _(t,r){return e.arrayFrom(e.mapDefinedIterator(t.referencedMap.entries(),(function(e){var t=e[0];return e[1].has(r)?t:void 0})))}function p(t){return function(t){return e.some(t.moduleAugmentations,(function(t){return e.isGlobalScopeAugmentation(t.parent)}))}(t)||!e.isExternalModule(t)&&!function(t){for(var r=0,n=t.statements;r0;){var g=d.pop();if(!u.has(g)){var m=r.getSourceFileByPath(g);u.set(g,m),m&&l(t,r,m,i,a,o,s)&&d.push.apply(d,_(t,m.resolvedPath))}}return e.arrayFrom(e.mapDefinedIterator(u.values(),(function(e){return e})))}r.canReuseOldState=s,r.create=function(t,r,n){var i=new e.Map,a=t.getCompilerOptions().module!==e.ModuleKind.None?new e.Map:void 0,c=a?new e.Map:void 0,u=new e.Set,l=s(a,n);t.getTypeChecker();for(var d=0,_=t.getSourceFiles();d<_.length;d++){var f=_[d],g=e.Debug.checkDefined(f.version,"Program intended to be used with Builder should have source files with versions set"),m=l?n.fileInfos.get(f.resolvedPath):void 0;if(a){var y=o(t,f,r);if(y&&a.set(f.resolvedPath,y),l){var v=n.exportedModulesMap.get(f.resolvedPath);v&&c.set(f.resolvedPath,v)}}i.set(f.resolvedPath,{version:g,signature:m&&m.signature,affectsGlobalScope:p(f)})}return{fileInfos:i,referencedMap:a,exportedModulesMap:c,hasCalledUpdateShapeSignature:u}},r.releaseCache=function(e){e.allFilesExcludingDefaultLibraryFile=void 0,e.allFileNames=void 0},r.clone=function(t){return{fileInfos:new e.Map(t.fileInfos),referencedMap:t.referencedMap&&new e.Map(t.referencedMap),exportedModulesMap:t.exportedModulesMap&&new e.Map(t.exportedModulesMap),hasCalledUpdateShapeSignature:new e.Set(t.hasCalledUpdateShapeSignature)}},r.getFilesAffectedBy=function(t,r,n,i,a,o,s){var u=o||new e.Map,d=r.getSourceFileByPath(n);if(!d)return e.emptyArray;if(!l(t,r,d,u,i,a,s))return[d];var _=(t.referencedMap?m:g)(t,r,d,u,i,a,s);return o||c(t,u),_},r.updateSignaturesFromCache=c,r.updateSignatureOfFile=u,r.updateShapeSignature=l,r.updateExportedFilesMapFromCache=function(t,r){r&&(e.Debug.assert(!!t.exportedModulesMap),r.forEach((function(e,r){e?t.exportedModulesMap.set(r,e):t.exportedModulesMap.delete(r)})))},r.getAllDependencies=function(t,r,n){var i=r.getCompilerOptions();if(e.outFile(i))return d(t,r);if(!t.referencedMap||p(n))return d(t,r);for(var a=new e.Set,o=[n.resolvedPath];o.length;){var s=o.pop();if(!a.has(s)){a.add(s);var c=t.referencedMap.get(s);if(c)for(var u=c.keys(),l=u.next();!l.done;l=u.next())o.push(l.value)}}return e.arrayFrom(e.mapDefinedIterator(a.keys(),(function(e){var t,n;return null!==(n=null===(t=r.getSourceFileByPath(e))||void 0===t?void 0:t.fileName)&&void 0!==n?n:e})))},r.getReferencedByPaths=_,r.getAllFilesExcludingDefaultLibraryFile=f}(e.BuilderState||(e.BuilderState={}))}(u||(u={})),function(e){var t;function r(t,r,n){var a=e.BuilderState.create(t,r,n);a.program=t;var o=t.getCompilerOptions();a.compilerOptions=o,e.outFile(o)||(a.semanticDiagnosticsPerFile=new e.Map),a.changedFilesSet=new e.Set;var s=e.BuilderState.canReuseOldState(a.referencedMap,n),c=s?n.compilerOptions:void 0,u=s&&n.semanticDiagnosticsPerFile&&!!a.semanticDiagnosticsPerFile&&!e.compilerOptionsAffectSemanticDiagnostics(o,c);if(s){if(!n.currentChangedFilePath){var l=n.currentAffectedFilesSignatures;e.Debug.assert(!(n.affectedFiles||l&&l.size),"Cannot reuse if only few affected files of currentChangedFile were iterated")}var d=n.changedFilesSet;u&&e.Debug.assert(!d||!e.forEachKey(d,(function(e){return n.semanticDiagnosticsPerFile.has(e)})),"Semantic diagnostics shouldnt be available for changed files"),null==d||d.forEach((function(e){return a.changedFilesSet.add(e)})),!e.outFile(o)&&n.affectedFilesPendingEmit&&(a.affectedFilesPendingEmit=n.affectedFilesPendingEmit.slice(),a.affectedFilesPendingEmitKind=n.affectedFilesPendingEmitKind&&new e.Map(n.affectedFilesPendingEmitKind),a.affectedFilesPendingEmitIndex=n.affectedFilesPendingEmitIndex,a.seenAffectedFiles=new e.Set)}var _=a.referencedMap,p=s?n.referencedMap:void 0,f=u&&!o.skipLibCheck==!c.skipLibCheck,g=f&&!o.skipDefaultLibCheck==!c.skipDefaultLibCheck;return a.fileInfos.forEach((function(o,c){var l,d,m,y;if(!s||!(l=n.fileInfos.get(c))||l.version!==o.version||(m=d=_&&_.get(c),y=p&&p.get(c),m!==y&&(void 0===m||void 0===y||m.size!==y.size||e.forEachKey(m,(function(e){return!y.has(e)}))))||d&&e.forEachKey(d,(function(e){return!a.fileInfos.has(e)&&n.fileInfos.has(e)})))a.changedFilesSet.add(c);else if(u){var v=t.getSourceFileByPath(c);if(v.isDeclarationFile&&!f)return;if(v.hasNoDefaultLib&&!g)return;var h=n.semanticDiagnosticsPerFile.get(c);h&&(a.semanticDiagnosticsPerFile.set(c,n.hasReusableDiagnostic?function(t,r,n){if(!t.length)return e.emptyArray;var a=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(r.getCompilerOptions()),r.getCurrentDirectory()));return t.map((function(e){var t=i(e,r,o);t.reportsUnnecessary=e.reportsUnnecessary,t.reportsDeprecated=e.reportDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return i(e,r,o)})):[]:void 0,t}));function o(t){return e.toPath(t,a,n)}}(h,t,r):h),a.semanticDiagnosticsFromOldState||(a.semanticDiagnosticsFromOldState=new e.Set),a.semanticDiagnosticsFromOldState.add(c))}})),s&&e.forEachEntry(n.fileInfos,(function(e,t){return e.affectsGlobalScope&&!a.fileInfos.has(t)}))?e.BuilderState.getAllFilesExcludingDefaultLibraryFile(a,t,void 0).forEach((function(e){return a.changedFilesSet.add(e.resolvedPath)})):c&&!e.outFile(o)&&e.compilerOptionsAffectEmit(o,c)&&(t.getSourceFiles().forEach((function(e){return D(a,e.resolvedPath,1)})),e.Debug.assert(!a.seenAffectedFiles||!a.seenAffectedFiles.size),a.seenAffectedFiles=a.seenAffectedFiles||new e.Set),a.buildInfoEmitPending=!!a.changedFilesSet.size,a}function i(e,t,r){var i=e.file;return n(n({},e),{file:i?t.getSourceFileByPath(r(i)):void 0})}function a(t,r){e.Debug.assert(!r||!t.affectedFiles||t.affectedFiles[t.affectedFilesIndex-1]!==r||!t.semanticDiagnosticsPerFile.has(r.resolvedPath))}function o(t,r,n){for(;;){var i=t.affectedFiles;if(i){for(var a=t.seenAffectedFiles,o=t.affectedFilesIndex;o0;){var o=a.pop();if(!i.has(o))if(i.set(o,!0),n(t,o)&&u(t,o)){var s=e.Debug.checkDefined(t.program).getSourceFileByPath(o);a.push.apply(a,e.BuilderState.getReferencedByPaths(t,s.resolvedPath))}}}e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap);var c=new e.Set;if(e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,i){return e&&e.has(r.resolvedPath)&&l(t,i,c,n)})))return;e.forEachEntry(t.exportedModulesMap,(function(e,i){return!t.currentAffectedFilesExportedModulesMap.has(i)&&e.has(r.resolvedPath)&&l(t,i,c,n)}))}(t,r,(function(t,r){return function(t,r,n,i){if(c(t,r),!t.changedFilesSet.has(r)){var a=e.Debug.checkDefined(t.program),o=a.getSourceFileByPath(r);o&&(e.BuilderState.updateShapeSignature(t,a,o,e.Debug.checkDefined(t.currentAffectedFilesSignatures),n,i,t.currentAffectedFilesExportedModulesMap),e.getEmitDeclarations(t.compilerOptions)&&D(t,r,0))}return!1}(t,r,n,i)}));else if(!t.cleanedDiagnosticsOfLibFiles){t.cleanedDiagnosticsOfLibFiles=!0;var a=e.Debug.checkDefined(t.program),o=a.getCompilerOptions();e.forEach(a.getSourceFiles(),(function(r){return a.isSourceFileDefaultLibrary(r)&&!e.skipTypeChecking(r,o,a)&&c(t,r.resolvedPath)}))}}function c(e,t){return!e.semanticDiagnosticsFromOldState||(e.semanticDiagnosticsFromOldState.delete(t),e.semanticDiagnosticsPerFile.delete(t),!e.semanticDiagnosticsFromOldState.size)}function u(t,r){return e.Debug.checkDefined(t.currentAffectedFilesSignatures).get(r)!==e.Debug.checkDefined(t.fileInfos.get(r)).signature}function l(t,r,n,i){return e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&d(t,a,n,i)}))}function d(t,r,n,i){return!!e.tryAddToSet(n,r)&&(!!i(t,r)||(e.Debug.assert(!!t.currentAffectedFilesExportedModulesMap),!!e.forEachEntry(t.currentAffectedFilesExportedModulesMap,(function(e,a){return e&&e.has(r)&&d(t,a,n,i)}))||(!!e.forEachEntry(t.exportedModulesMap,(function(e,a){return!t.currentAffectedFilesExportedModulesMap.has(a)&&e.has(r)&&d(t,a,n,i)}))||!!e.forEachEntry(t.referencedMap,(function(e,a){return e.has(r)&&!n.has(a)&&i(t,a)})))))}function _(t,r,n,i,a){a?t.buildInfoEmitPending=!1:r===t.program?(t.changedFilesSet.clear(),t.programEmitComplete=!0):(t.seenAffectedFiles.add(r.resolvedPath),void 0!==n&&(t.seenEmittedFiles||(t.seenEmittedFiles=new e.Map)).set(r.resolvedPath,n),i?(t.affectedFilesPendingEmitIndex++,t.buildInfoEmitPending=!0):t.affectedFilesIndex++)}function p(e,t,r){return _(e,r),{result:t,affected:r}}function f(e,t,r,n,i,a){return _(e,r,n,i,a),{result:t,affected:r}}function g(t,r,n){return e.concatenate(function(t,r,n){var i=r.resolvedPath;if(t.semanticDiagnosticsPerFile){var a=t.semanticDiagnosticsPerFile.get(i);if(a)return e.filterSemanticDiagnotics(a,t.compilerOptions)}var o=e.Debug.checkDefined(t.program).getBindAndCheckDiagnostics(r,n);t.semanticDiagnosticsPerFile&&t.semanticDiagnosticsPerFile.set(i,o);return e.filterSemanticDiagnotics(o,t.compilerOptions)}(t,r,n),e.Debug.checkDefined(t.program).getProgramDiagnostics(r))}function m(t,r){var n={},i=e.getOptionsNameMap().optionsNameMap;for(var a in t)e.hasProperty(t,a)&&(n[a]=y(i.get(a.toLowerCase()),t[a],r));return n.configFilePath&&(n.configFilePath=r(n.configFilePath)),n}function y(e,t,r){if(e)if("list"===e.type){var n=t;if(e.element.isFilePath&&n.length)return n.map(r)}else if(e.isFilePath)return r(t);return t}function v(t,r){return e.Debug.assert(!!t.length),t.map((function(e){var t=h(e,r);t.reportsUnnecessary=e.reportsUnnecessary,t.reportDeprecated=e.reportsDeprecated,t.source=e.source,t.skippedOn=e.skippedOn;var n=e.relatedInformation;return t.relatedInformation=n?n.length?n.map((function(e){return h(e,r)})):[]:void 0,t}))}function h(e,t){var r=e.file;return n(n({},e),{file:r?t(r.resolvedPath):void 0})}function D(t,r,n){t.affectedFilesPendingEmit||(t.affectedFilesPendingEmit=[]),t.affectedFilesPendingEmitKind||(t.affectedFilesPendingEmitKind=new e.Map);var i=t.affectedFilesPendingEmitKind.get(r);t.affectedFilesPendingEmit.push(r),t.affectedFilesPendingEmitKind.set(r,i||n),void 0===t.affectedFilesPendingEmitIndex&&(t.affectedFilesPendingEmitIndex=0)}function x(t,r){if(t){var n=new e.Map;for(var i in t)e.hasProperty(t,i)&&n.set(r(i),new e.Set(t[i].map(r)));return n}}function b(t,r){return{getState:e.notImplemented,backupState:e.noop,restoreState:e.noop,getProgram:n,getProgramOrUndefined:function(){return t.program},releaseProgram:function(){return t.program=void 0},getCompilerOptions:function(){return t.compilerOptions},getSourceFile:function(e){return n().getSourceFile(e)},getSourceFiles:function(){return n().getSourceFiles()},getOptionsDiagnostics:function(e){return n().getOptionsDiagnostics(e)},getGlobalDiagnostics:function(e){return n().getGlobalDiagnostics(e)},getConfigFileParsingDiagnostics:function(){return r},getSyntacticDiagnostics:function(e,t){return n().getSyntacticDiagnostics(e,t)},getDeclarationDiagnostics:function(e,t){return n().getDeclarationDiagnostics(e,t)},getSemanticDiagnostics:function(e,t){return n().getSemanticDiagnostics(e,t)},emit:function(e,t,r,i,a){return n().emit(e,t,r,i,a)},emitBuildInfo:function(e,t){return n().emitBuildInfo(e,t)},getAllDependencies:e.notImplemented,getCurrentDirectory:function(){return n().getCurrentDirectory()},close:e.noop};function n(){return e.Debug.checkDefined(t.program)}}!function(e){e[e.DtsOnly=0]="DtsOnly",e[e.Full=1]="Full"}(e.BuilderFileEmit||(e.BuilderFileEmit={})),function(e){e[e.SemanticDiagnosticsBuilderProgram=0]="SemanticDiagnosticsBuilderProgram",e[e.EmitAndSemanticDiagnosticsBuilderProgram=1]="EmitAndSemanticDiagnosticsBuilderProgram"}(t=e.BuilderProgramKind||(e.BuilderProgramKind={})),e.getBuilderCreationParameters=function(t,r,n,i,a,o){var s,c,u;return void 0===t?(e.Debug.assert(void 0===r),s=n,u=i,e.Debug.assert(!!u),c=u.getProgram()):e.isArray(t)?(u=i,c=e.createProgram({rootNames:t,options:r,host:n,oldProgram:u&&u.getProgramOrUndefined(),configFileParsingDiagnostics:a,projectReferences:o}),s=n):(c=t,s=r,u=n,a=i),{host:s,newProgram:c,oldProgram:u,configFileParsingDiagnostics:a||e.emptyArray}},e.createBuilderProgram=function(n,i){var s=i.newProgram,c=i.host,u=i.oldProgram,l=i.configFileParsingDiagnostics,d=u&&u.getState();if(d&&s===d.program&&l===s.getConfigFileParsingDiagnostics())return s=void 0,d=void 0,u;var y,h=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),x=e.maybeBind(c,c.createHash),S=r(s,h,d);s.getProgramBuildInfo=function(){return function(t,r){if(!e.outFile(t.compilerOptions)){var n=e.Debug.checkDefined(t.program).getCurrentDirectory(),i=e.getDirectoryPath(e.getNormalizedAbsolutePath(e.getTsBuildInfoEmitOutputFilePath(t.compilerOptions),n)),a={};t.fileInfos.forEach((function(e,r){var n=t.currentAffectedFilesSignatures&&t.currentAffectedFilesSignatures.get(r);a[T(r)]=void 0===n?e:{version:e.version,signature:n,affectsGlobalScope:e.affectsGlobalScope}}));var o={fileInfos:a,options:m(t.compilerOptions,(function(t){return T(e.getNormalizedAbsolutePath(t,n))}))};if(t.referencedMap){for(var s={},c=0,u=e.arrayFrom(t.referencedMap.keys()).sort(e.compareStringsCaseSensitive);c1||47!==t.charCodeAt(0);if(a&&0!==t.search(/[a-zA-Z]:/)&&0===i.search(/[a-zA-z]\$\//)){if(-1===(n=t.indexOf(e.directorySeparator,n+1)))return!1;i=t.substring(r+i.length,n+1)}if(a&&0!==i.search(/users\//i))return!0;for(var o=n+1,s=2;s>0;s--)if(0===(o=t.indexOf(e.directorySeparator,o)+1))return!1;return!0}e.removeIgnoredPath=t,e.canWatchDirectory=r,e.createResolutionCache=function(n,i,a){var o,s,c,u=e.createMultiMap(),l=[],d=e.createMultiMap(),_=!1,p=[],f=[],g=[],m=e.memoize((function(){return n.getCurrentDirectory()})),y=n.getCachedDirectoryStructureHost(),v=new e.Map,h=e.createCacheWithRedirects(),D=e.createCacheWithRedirects(),x=e.createModuleResolutionCacheWithMaps(h,D,m(),n.getCanonicalFileName),b=new e.Map,S=e.createCacheWithRedirects(),E=[".ts",".tsx",".js",".jsx",".json"],C=new e.Map,T=new e.Map,k=i&&e.removeTrailingDirectorySeparator(e.getNormalizedAbsolutePath(i,m())),A=k&&n.toPath(k),F=void 0!==A?A.split(e.directorySeparator).length:0,N=new e.Map;return{startRecordingFilesWithChangedResolutions:function(){o=[]},finishRecordingFilesWithChangedResolutions:function(){var e=o;return o=void 0,e},startCachingPerDirectoryResolution:M,finishCachingPerDirectoryResolution:function(){c=void 0,M(),T.forEach((function(e,t){0===e.refCount&&(T.delete(t),e.watcher.close())})),_=!1},resolveModuleNames:function(t,r,n,i){return R({names:t,containingFile:r,redirectedReference:i,cache:v,perDirectoryCacheWithRedirects:h,loader:L,getResolutionWithResolvedFileName:P,shouldRetryResolution:function(t){return!t.resolvedModule||!e.resolutionExtensionIsTSOrJson(t.resolvedModule.extension)},reusedNames:n,logChanges:a})},getResolvedModuleWithFailedLookupLocationsFromCache:function(e,t){var r=v.get(n.toPath(t));return r&&r.get(e)},resolveTypeReferenceDirectives:function(t,r,n){return R({names:t,containingFile:r,redirectedReference:n,cache:b,perDirectoryCacheWithRedirects:S,loader:e.resolveTypeReferenceDirective,getResolutionWithResolvedFileName:w,shouldRetryResolution:function(e){return void 0===e.resolvedTypeReferenceDirective}})},removeResolutionsFromProjectReferenceRedirects:function(t){if(!e.fileExtensionIs(t,".json"))return;var r=n.getCurrentProgram();if(!r)return;var i=r.getResolvedProjectReferenceByPath(t);if(!i)return;i.commandLine.fileNames.forEach((function(e){return X(n.toPath(e))}))},removeResolutionsOfFile:X,hasChangedAutomaticTypeDirectiveNames:function(){return _},invalidateResolutionOfFile:function(t){X(t);var r=_;Q(d.get(t),e.returnTrue)&&_&&!r&&n.onChangedAutomaticTypeDirectiveNames()},invalidateResolutionsOfFailedLookupLocations:Z,setFilesWithInvalidatedNonRelativeUnresolvedImports:function(t){e.Debug.assert(c===t||void 0===c),c=t},createHasInvalidatedResolution:function(t){if(Z(),t)return s=void 0,e.returnTrue;var r=s;return s=void 0,function(e){return!!r&&r.has(e)||O(e)}},updateTypeRootsWatch:function(){var t=n.getCompilationSettings();if(t.types)return void te();var r=e.getEffectiveTypeRoots(t,{directoryExists:ne,getCurrentDirectory:m});r?e.mutateMap(N,e.arrayToMap(r,(function(e){return n.toPath(e)})),{createNewValue:re,onDeleteValue:e.closeFileWatcher}):te()},closeTypeRootsWatch:te,clear:function(){e.clearMap(T,e.closeFileWatcherOf),C.clear(),u.clear(),te(),v.clear(),b.clear(),d.clear(),l.length=0,p.length=0,f.length=0,g.length=0,M(),_=!1}};function P(e){return e.resolvedModule}function w(e){return e.resolvedTypeReferenceDirective}function I(t,r){return!(void 0===t||r.length<=t.length)&&(e.startsWith(r,t)&&r[t.length]===e.directorySeparator)}function O(e){if(!c)return!1;var t=c.get(e);return!!t&&!!t.length}function M(){h.clear(),D.clear(),S.clear(),u.forEach(V),u.clear()}function L(t,r,i,a,o){var s,c=e.resolveModuleName(t,r,i,a,x,o);if(!n.getGlobalCache)return c;var u=n.getGlobalCache();if(!(void 0===u||e.isExternalModuleNameRelative(t)||c.resolvedModule&&e.extensionIsTS(c.resolvedModule.extension))){var l=e.loadModuleFromGlobalCache(e.Debug.checkDefined(n.globalCacheResolutionModuleName)(t),n.projectName,i,a,u),d=l.resolvedModule,_=l.failedLookupLocations;if(d)return c.resolvedModule=d,(s=c.failedLookupLocations).push.apply(s,_),c}return c}function R(t){var r,i=t.names,a=t.containingFile,s=t.redirectedReference,c=t.cache,u=t.perDirectoryCacheWithRedirects,l=t.loader,d=t.getResolutionWithResolvedFileName,_=t.shouldRetryResolution,p=t.reusedNames,f=t.logChanges,g=n.toPath(a),m=c.get(g)||c.set(g,new e.Map).get(g),y=e.getDirectoryPath(g),v=u.getOrCreateMapOfCacheRedirects(s),h=v.get(y);h||(h=new e.Map,v.set(y,h));for(var D=[],x=n.getCompilationSettings(),b=f&&O(g),S=n.getCurrentProgram(),E=S&&S.getResolvedProjectReferenceToRedirect(a),C=E?!s||s.sourceFile.path!==E.sourceFile.path:!!s,T=new e.Map,k=0,A=i;kF+1?{dir:i.slice(0,F+1).join(e.directorySeparator),dirPath:n.slice(0,F+1).join(e.directorySeparator)}:{dir:k,dirPath:A,nonRecursive:!1}}return J(e.getDirectoryPath(e.getNormalizedAbsolutePath(t,m())),e.getDirectoryPath(r))}function J(t,n){for(;e.pathContainsNodeModules(n);)t=e.getDirectoryPath(t),n=e.getDirectoryPath(n);if(e.isNodeModulesDirectory(n))return r(e.getDirectoryPath(n))?{dir:t,dirPath:n}:void 0;var i,a,o=!0;if(void 0!==A)for(;!I(n,A);){var s=e.getDirectoryPath(n);if(s===n)break;o=!1,i=n,a=t,n=s,t=e.getDirectoryPath(t)}return r(n)?{dir:a||t,dirPath:i||n,nonRecursive:o}:void 0}function K(t){return e.fileExtensionIsOneOf(t,E)}function z(t,r,i,a){if(r.refCount)r.refCount++,e.Debug.assertDefined(r.files);else{r.refCount=1,e.Debug.assert(0===e.length(r.files)),e.isExternalModuleNameRelative(t)?U(r):u.add(t,r);var o=a(r);o&&o.resolvedFileName&&d.add(n.toPath(o.resolvedFileName),r)}(r.files||(r.files=[])).push(i)}function U(t){e.Debug.assert(!!t.refCount);var r=t.failedLookupLocations;if(r.length){l.push(t);for(var i=!1,a=0,o=r;a1),C.set(_,g-1))),f===A?o=!0:H(f)}}o&&H(A)}}}function H(e){T.get(e).refCount--}function G(e,t,r){return n.watchDirectoryOfFailedLookupLocation(e,(function(e){var r=n.toPath(e);y&&y.addOrDeleteFileOrDirectory(e,r),$(r,t===r)}),r?0:1)}function Y(e,t,r){var n=e.get(t);n&&(n.forEach((function(e){return W(e,t,r)})),e.delete(t))}function X(e){Y(v,e,P),Y(b,e,w)}function Q(t,r){if(!t)return!1;for(var n=!1,i=0,a=t;i1&&r.sort(d),c.push.apply(c,r));var i=e.getDirectoryPath(t);if(i===t)return s=t,"break";s=t=i},l=e.getDirectoryPath(e.toPath(t,i,a));0!==o.size;){var p=u(l);if(l=s,"break"===p)break}if(o.size){var f=e.arrayFrom(o.values());f.length>1&&f.sort(d),c.push.apply(c,f)}return c}function f(t,r,n){for(var i in n)for(var a=0,o=n[i];a=l.length+d.length&&e.startsWith(r,l)&&e.endsWith(r,d)||!d&&r===e.removeTrailingDirectorySeparator(l)){var _=r.substr(l.length,r.length-d.length);return i.replace("*",_)}}else if(c===r||c===t)return i}}function g(t,r,n,i,a){var o=t.path,s=t.isRedirect,c=r.getCanonicalFileName,u=r.sourceDirectory;if(n.fileExists&&n.readFile){var l=function(t){var r,n=0,i=0,a=0,o=0;!function(e){e[e.BeforeNodeModules=0]="BeforeNodeModules",e[e.NodeModules=1]="NodeModules",e[e.Scope=2]="Scope",e[e.PackageContent=3]="PackageContent"}(r||(r={}));var s=0,c=0,u=0;for(;c>=0;)switch(s=c,c=t.indexOf("/",s+1),u){case 0:t.indexOf(e.nodeModulesPathPart,s)===s&&(n=s,i=c,u=1);break;case 1:case 2:1===u&&"@"===t.charAt(s+1)?u=2:(a=c,u=3);break;case 3:u=t.indexOf(e.nodeModulesPathPart,s)===s?1:3}return o=s,u>1?{topLevelNodeModulesIndex:n,topLevelPackageNameIndex:i,packageRootIndex:a,fileNameIndex:o}:void 0}(o);if(l){var d=o,_=!1;if(!a)for(var p=l.packageRootIndex,g=void 0;;){var m=E(p),v=m.moduleFileToTry,h=m.packageRootPath;if(h){d=h,_=!0;break}if(g||(g=v),-1===(p=o.indexOf(e.directorySeparator,p+1))){d=C(g);break}}if(!s||_){var D=n.getGlobalTypingsCacheLocation&&n.getGlobalTypingsCacheLocation(),x=c(d.substring(0,l.topLevelNodeModulesIndex));if(e.startsWith(u,x)||D&&e.startsWith(c(D),x)){var b=d.substring(l.topLevelPackageNameIndex+1),S=e.getPackageNameFromTypesPackageName(b);return e.getEmitModuleResolutionKind(i)!==e.ModuleResolutionKind.NodeJs&&S===b?void 0:S}}}}function E(t){var r=o.substring(0,t),a=e.combinePaths(r,"package.json"),s=o;if(n.fileExists(a)){var u=JSON.parse(n.readFile(a)),l=u.typesVersions?e.getPackageJsonTypesVersionsPaths(u.typesVersions):void 0;if(l){var d=o.slice(r.length+1),_=f(e.removeFileExtension(d),y(d,0,i),l.paths);void 0!==_&&(s=e.combinePaths(r,_))}var p=u.typings||u.types||u.main;if(e.isString(p)){var g=e.toPath(p,r,c);if(e.removeFileExtension(g)===e.removeFileExtension(c(s)))return{packageRootPath:r,moduleFileToTry:s}}}return{moduleFileToTry:s}}function C(t){var r=e.removeFileExtension(t);return"/index"!==c(r.substring(l.fileNameIndex))||function(t,r){if(!t.fileExists)return;for(var n=e.getSupportedExtensions({allowJs:!0},[{extension:"node",isMixedContent:!1},{extension:"json",isMixedContent:!1,scriptKind:6}]),i=0,a=n;i0?e.ExitStatus.DiagnosticsPresent_OutputsSkipped:_.length>0?e.ExitStatus.DiagnosticsPresent_OutputsGenerated:e.ExitStatus.Success}function p(t,r){return void 0===t&&(t=e.sys),{onWatchStatusChange:r||o(t),watchFile:e.maybeBind(t,t.watchFile)||e.returnNoopFileWatcher,watchDirectory:e.maybeBind(t,t.watchDirectory)||e.returnNoopFileWatcher,setTimeout:e.maybeBind(t,t.setTimeout)||e.noop,clearTimeout:e.maybeBind(t,t.clearTimeout)||e.noop}}function f(t,r){var n=e.memoize((function(){return e.getDirectoryPath(e.normalizePath(t.getExecutingFilePath()))}));return{useCaseSensitiveFileNames:function(){return t.useCaseSensitiveFileNames},getNewLine:function(){return t.newLine},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),getDefaultLibLocation:n,getDefaultLibFileName:function(t){return e.combinePaths(n(),e.getDefaultLibFileName(t))},fileExists:function(e){return t.fileExists(e)},readFile:function(e,r){return t.readFile(e,r)},directoryExists:function(e){return t.directoryExists(e)},getDirectories:function(e){return t.getDirectories(e)},readDirectory:function(e,r,n,i,a){return t.readDirectory(e,r,n,i,a)},realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable),trace:function(e){return t.write(e+t.newLine)},createDirectory:function(e){return t.createDirectory(e)},writeFile:function(e,r,n){return t.writeFile(e,r,n)},createHash:e.maybeBind(t,t.createHash),createProgram:r||e.createEmitAndSemanticDiagnosticsBuilderProgram}}function g(t,r,n,i){void 0===t&&(t=e.sys);var a=function(e){return t.write(e+t.newLine)},o=f(t,r);return e.copyProperties(o,p(t,i)),o.afterProgramCreate=function(r){var i=r.getCompilerOptions(),s=e.getNewLineCharacter(i,(function(){return t.newLine}));d(r,n,a,(function(t){return o.onWatchStatusChange(e.createCompilerDiagnostic(c(t),t),s,i,t)}))},o}function m(t,r,n){r(n),t.exit(e.ExitStatus.DiagnosticsPresent_OutputsSkipped)}e.createDiagnosticReporter=n,e.screenStartingMessageCodes=[e.Diagnostics.Starting_compilation_in_watch_mode.code,e.Diagnostics.File_change_detected_Starting_incremental_compilation.code],e.getLocaleTimeString=a,e.createWatchStatusReporter=o,e.parseConfigFileWithSystem=function(t,r,n,i,a){var o=i;o.onUnRecoverableConfigFileDiagnostic=function(e){return m(i,a,e)};var s=e.getParsedCommandLineOfConfigFile(t,r,o,void 0,n);return o.onUnRecoverableConfigFileDiagnostic=void 0,s},e.getErrorCountForSummary=s,e.getWatchErrorSummaryDiagnosticMessage=c,e.getErrorSummaryText=u,e.listFiles=l,e.emitFilesAndReportErrors=d,e.emitFilesAndReportErrorsAndGetExitStatus=_,e.noopFileWatcher={close:e.noop},e.returnNoopFileWatcher=function(){return e.noopFileWatcher},e.createWatchHost=p,e.WatchType={ConfigFile:"Config file",SourceFile:"Source file",MissingFile:"Missing file",WildcardDirectory:"Wild card directory",FailedLookupLocations:"Failed Lookup Locations",TypeRoots:"Type roots"},e.createWatchFactory=function(t,r){var n=t.trace?r.extendedDiagnostics?e.WatchLogLevel.Verbose:r.diagnostics?e.WatchLogLevel.TriggerOnly:e.WatchLogLevel.None:e.WatchLogLevel.None,i=n!==e.WatchLogLevel.None?function(e){return t.trace(e)}:e.noop,a=e.getWatchFactory(n,i);return a.writeLog=i,a},e.createCompilerHostFromProgramHost=function(t,r,n){void 0===n&&(n=t);var i=t.useCaseSensitiveFileNames(),a=e.memoize((function(){return t.getNewLine()}));return{getSourceFile:function(n,i,a){var o;try{e.performance.mark("beforeIORead"),o=t.readFile(n,r().charset),e.performance.mark("afterIORead"),e.performance.measure("I/O Read","beforeIORead","afterIORead")}catch(e){a&&a(e.message),o=""}return void 0!==o?e.createSourceFile(n,o,i):void 0},getDefaultLibLocation:e.maybeBind(t,t.getDefaultLibLocation),getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:function(r,n,i,a){try{e.performance.mark("beforeIOWrite"),e.writeFileEnsuringDirectories(r,n,i,(function(e,r,n){return t.writeFile(e,r,n)}),(function(e){return t.createDirectory(e)}),(function(e){return t.directoryExists(e)})),e.performance.mark("afterIOWrite"),e.performance.measure("I/O Write","beforeIOWrite","afterIOWrite")}catch(e){a&&a(e.message)}},getCurrentDirectory:e.memoize((function(){return t.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return i},getCanonicalFileName:e.createGetCanonicalFileName(i),getNewLine:function(){return e.getNewLineCharacter(r(),a)},fileExists:function(e){return t.fileExists(e)},readFile:function(e){return t.readFile(e)},trace:e.maybeBind(t,t.trace),directoryExists:e.maybeBind(n,n.directoryExists),getDirectories:e.maybeBind(n,n.getDirectories),realpath:e.maybeBind(t,t.realpath),getEnvironmentVariable:e.maybeBind(t,t.getEnvironmentVariable)||function(){return""},createHash:e.maybeBind(t,t.createHash),readDirectory:e.maybeBind(t,t.readDirectory)}},e.setGetSourceFileAsHashVersioned=function(t,n){var i=t.getSourceFile,a=e.maybeBind(n,n.createHash)||e.generateDjb2Hash;t.getSourceFile=function(){for(var e=[],n=0;ne?t:e}function u(t){return e.fileExtensionIs(t,".d.ts")}function l(e){return!!e&&!!e.buildOrder}function d(e){return l(e)?e.buildOrder:e}function _(t,r){return function(n){var i=r?"["+e.formatColorAndReset(e.getLocaleTimeString(t),e.ForegroundColorEscapeSequences.Grey)+"] ":e.getLocaleTimeString(t)+" - ";i+=""+e.flattenDiagnosticMessageText(n.messageText,t.newLine)+(t.newLine+t.newLine),t.write(i)}}function p(t,r,n,i){var a=e.createProgramHost(t,r);return a.getModifiedTime=t.getModifiedTime?function(e){return t.getModifiedTime(e)}:e.returnUndefined,a.setModifiedTime=t.setModifiedTime?function(e,r){return t.setModifiedTime(e,r)}:e.noop,a.deleteFile=t.deleteFile?function(e){return t.deleteFile(e)}:e.noop,a.reportDiagnostic=n||e.createDiagnosticReporter(t),a.reportSolutionBuilderStatus=i||_(t),a.now=e.maybeBind(t,t.now),a}function f(t,r,n,i,a){var o,s,c=r,u=r,l=c.getCurrentDirectory(),d=e.createGetCanonicalFileName(c.useCaseSensitiveFileNames()),_=(o=i,s={},e.commonOptionsWithBuild.forEach((function(t){e.hasProperty(o,t.name)&&(s[t.name]=o[t.name])})),s),p=e.createCompilerHostFromProgramHost(c,(function(){return S.projectCompilerOptions}));e.setGetSourceFileAsHashVersioned(p,c),p.getParsedCommandLine=function(e){return v(S,e,m(S,e))},p.resolveModuleNames=e.maybeBind(c,c.resolveModuleNames),p.resolveTypeReferenceDirectives=e.maybeBind(c,c.resolveTypeReferenceDirectives);var f=p.resolveModuleNames?void 0:e.createModuleResolutionCache(l,d);if(!p.resolveModuleNames){var g=function(t,r,n){return e.resolveModuleName(t,r,S.projectCompilerOptions,p,f,n).resolvedModule};p.resolveModuleNames=function(t,r,n,i){return e.loadWithLocalCache(e.Debug.checkEachDefined(t),r,i,g)}}var y=e.createWatchFactory(u,i),h=y.watchFile,D=y.watchFilePath,x=y.watchDirectory,b=y.writeLog,S={host:c,hostWithWatch:u,currentDirectory:l,getCanonicalFileName:d,parseConfigFileHost:e.parseConfigHostFromCompilerHostLike(c),writeFileName:c.trace?function(e){return c.trace(e)}:void 0,options:i,baseCompilerOptions:_,rootNames:n,baseWatchOptions:a,resolvedConfigFilePaths:new e.Map,configFileCache:new e.Map,projectStatus:new e.Map,buildInfoChecked:new e.Map,extendedConfigCache:new e.Map,builderPrograms:new e.Map,diagnostics:new e.Map,projectPendingBuild:new e.Map,projectErrorsReported:new e.Map,compilerHost:p,moduleResolutionCache:f,buildOrder:void 0,readFileWithCache:function(e){return c.readFile(e)},projectCompilerOptions:_,cache:void 0,allProjectBuildPending:!0,needsSummary:!0,watchAllProjectsPending:t,currentInvalidatedProject:void 0,watch:t,allWatchedWildcardDirectories:new e.Map,allWatchedInputFiles:new e.Map,allWatchedConfigFiles:new e.Map,timerToBuildInvalidatedProject:void 0,reportFileChangeDetected:!1,watchFile:h,watchFilePath:D,watchDirectory:x,writeLog:b};return S}function g(t,r){return e.toPath(r,t.currentDirectory,t.getCanonicalFileName)}function m(e,t){var r=e.resolvedConfigFilePaths,n=r.get(t);if(void 0!==n)return n;var i=g(e,t);return r.set(t,i),i}function y(e){return!!e.options}function v(t,r,n){var i,a=t.configFileCache,o=a.get(n);if(o)return y(o)?o:void 0;var s,c=t.parseConfigFileHost,u=t.baseCompilerOptions,l=t.baseWatchOptions,d=t.extendedConfigCache,_=t.host;return _.getParsedCommandLine?(s=_.getParsedCommandLine(r))||(i=e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,r)):(c.onUnRecoverableConfigFileDiagnostic=function(e){return i=e},s=e.getParsedCommandLineOfConfigFile(r,u,c,d,l),c.onUnRecoverableConfigFileDiagnostic=e.noop),a.set(n,s||i),s}function h(t,r){return e.resolveConfigFileProjectName(e.resolvePath(t.currentDirectory,r))}function D(t,r){for(var n,i,a=new e.Map,o=new e.Map,s=[],c=0,u=r;c0);var o={sourceFile:n.options.configFile,commandLine:n};i.directoryToModuleNameMap.setOwnMap(i.directoryToModuleNameMap.getOrCreateMapOfCacheRedirects(o)),i.moduleNameToDirectoryMap.setOwnMap(i.moduleNameToDirectoryMap.getOrCreateMapOfCacheRedirects(o))}i.directoryToModuleNameMap.setOwnOptions(n.options),i.moduleNameToDirectoryMap.setOwnOptions(n.options)}(l,d,f),D=r.createProgram(f.fileNames,f.options,n,function(t,r,n){var i=t.options,a=t.builderPrograms,o=t.compilerHost;if(i.force)return;var s=a.get(r);return s||e.readBuilderProgram(n.options,o)}(l,_,f),e.getConfigFileParsingDiagnostics(f),f.projectReferences),l.watch&&l.builderPrograms.set(_,D),S++}function F(e,t,r){var n;e.length?(n=M(l,_,D,f,e,t,r),x=n.buildResult,S=n.step):S++}function P(n){e.Debug.assertIsDefined(D),F(r(D.getConfigFileParsingDiagnostics(),D.getOptionsDiagnostics(n),D.getGlobalDiagnostics(n),D.getSyntacticDiagnostics(void 0,n)),t.SyntaxErrors,"Syntactic")}function w(r){F(e.Debug.checkDefined(D).getSemanticDiagnostics(void 0,r),t.TypeErrors,"Semantic")}function L(r,n,o){var s,d;e.Debug.assertIsDefined(D),e.Debug.assert(S===i.Emit),D.backupState();var p=[],m=e.emitFilesAndReportErrors(D,(function(e){return(d||(d=[])).push(e)}),void 0,void 0,(function(e,t,r){return p.push({name:e,text:t,writeByteOrderMark:r})}),n,!1,o).emitResult;if(d)return D.restoreState(),s=M(l,_,D,f,d,t.DeclarationEmitErrors,"Declaration file"),x=s.buildResult,S=s.step,{emitSkipped:!0,diagnostics:m.diagnostics};var y=l.host,v=l.compilerHost,h=t.DeclarationOutputUnchanged,b=a,E=!1,C=e.createDiagnosticCollection(),T=new e.Map;return p.forEach((function(n){var i,a=n.name,o=n.text,s=n.writeByteOrderMark;!E&&u(a)&&(y.fileExists(a)&&l.readFileWithCache(a)===o?i=y.getModifiedTime(a):(h&=~t.DeclarationOutputUnchanged,E=!0)),T.set(g(l,a),a),e.writeFile(r?{writeFile:r}:v,C,a,o,s),void 0!==i&&(b=c(i,b))})),j(C,T,b,E,p.length?p[0].name:e.getFirstProjectOutput(f,!y.useCaseSensitiveFileNames()),h),m}function R(n,a){e.Debug.assertIsDefined(D),e.Debug.assert(S===i.EmitBuildInfo);var o=D.emitBuildInfo(n,a);return o.diagnostics.length&&(ee(l,o.diagnostics),l.diagnostics.set(_,r(l.diagnostics.get(_),o.diagnostics)),x=t.EmitErrors&x),o.emittedFiles&&l.writeFileName&&o.emittedFiles.forEach((function(e){return I(l,f,e)})),O(l,D,f),S=i.QueueReferencingProjects,o}function j(r,n,a,s,c,u){var d,p=r.getDiagnostics();if(p.length)return d=M(l,_,D,f,p,t.EmitErrors,"Emit"),x=d.buildResult,S=d.step,p;l.writeFileName&&n.forEach((function(e){return I(l,f,e)}));var g=B(l,f,a,e.Diagnostics.Updating_unchanged_output_timestamps_of_project_0,n);return l.diagnostics.delete(_),l.projectStatus.set(_,{type:e.UpToDateStatusType.UpToDate,newestDeclarationFileContentChangedTime:s?o:g,oldestOutputFileName:c}),O(l,D,f),S=i.QueueReferencingProjects,x=u,p}function K(r,o){if(e.Debug.assert(s===n.UpdateBundle),l.options.dry)return $(l,e.Diagnostics.A_non_dry_build_would_update_output_of_project_0,d),x=t.Success,void(S=i.QueueReferencingProjects);l.options.verbose&&$(l,e.Diagnostics.Updating_output_of_project_0,d);var c=l.compilerHost;l.projectCompilerOptions=f.options;var u=e.emitUsingBuildInfo(f,c,(function(e){var t=h(l,e.path);return v(l,t,m(l,t))}),o);if(e.isString(u))return $(l,e.Diagnostics.Cannot_update_output_of_project_0_because_there_was_error_reading_file_1,d,Q(l,u)),S=i.BuildInvalidatedProjectOfBundle,b=N(n.Build,l,d,_,p,f,y);e.Debug.assert(!!u.length);var D=e.createDiagnosticCollection(),E=new e.Map;return u.forEach((function(t){var n=t.name,i=t.text,a=t.writeByteOrderMark;E.set(g(l,n),n),e.writeFile(r?{writeFile:r}:c,D,n,i,a)})),{emitSkipped:!1,diagnostics:j(D,E,a,!1,u[0].name,t.DeclarationOutputUnchanged)}}function z(t,r,n,a){for(;S<=t&&So)}}}function P(t,r,n){var i=t.options;return!(r.type===e.UpToDateStatusType.OutOfDateWithPrepend&&!i.force)||(0===n.fileNames.length||!!e.getConfigFileParsingDiagnostics(n).length||!e.isIncrementalCompilation(n.options))}function w(t,r,i){if(t.projectPendingBuild.size&&!l(r)){if(t.currentInvalidatedProject)return e.arrayIsEqualTo(t.currentInvalidatedProject.buildOrder,r)?t.currentInvalidatedProject:void 0;for(var a=t.options,o=t.projectPendingBuild,s=0;ss&&(i=p,s=f)}if(!r.fileNames.length&&!e.canJsonReportNoInputFiles(r.raw))return{type:e.UpToDateStatusType.ContainerOnly};for(var g,y=e.getAllProjectOutputs(r,!l.useCaseSensitiveFileNames()),h="(none)",D=o,x="(none)",b=a,S=a,E=!1,C=0,T=y;Cb&&(b=A,x=k),u(k)&&(S=c(S,l.getModifiedTime(k)||e.missingFileModifiedTime))}var F,N=!1,P=!1;if(r.projectReferences){t.projectStatus.set(n,{type:e.UpToDateStatusType.ComputingUpstream});for(var w=0,I=r.projectReferences;w=0},t.findArgument=function(t){var r=e.sys.args.indexOf(t);return r>=0&&r214)return 2;if(46===e.charCodeAt(0))return 3;if(95===e.charCodeAt(0))return 4;if(t){var r=/^@([^/]+)\/([^/]+)$/.exec(e);if(r){var n=i(r[1],!1);if(0!==n)return{name:r[1],isScopeName:!0,result:n};var a=i(r[2],!1);return 0!==a?{name:r[2],isScopeName:!1,result:a}:0}}return encodeURIComponent(e)!==e?5:0}function a(t,r,n,i){var a=i?"Scope":"Package";switch(r){case 1:return"'"+t+"':: "+a+" name '"+n+"' cannot be empty";case 2:return"'"+t+"':: "+a+" name '"+n+"' should be less than 214 characters";case 3:return"'"+t+"':: "+a+" name '"+n+"' cannot start with '.'";case 4:return"'"+t+"':: "+a+" name '"+n+"' cannot start with '_'";case 5:return"'"+t+"':: "+a+" name '"+n+"' contains non URI safe characters";case 0:return e.Debug.fail();default:throw e.Debug.assertNever(r)}}t.validatePackageName=function(e){return i(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return"object"==typeof e?a(t,e.result,e.name,e.isScopeName):a(t,e,t,!1)}}(e.JsTyping||(e.JsTyping={}))}(u||(u={})),function(e){var t,r;function n(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:!0,indentStyle:t.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:r.Ignore,trimTrailingWhitespace:!0}}!function(e){var t=function(){function e(e){this.text=e}return e.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},e.prototype.getLength=function(){return this.text.length},e.prototype.getChangeRange=function(){},e}();e.fromString=function(e){return new t(e)}}(e.ScriptSnapshot||(e.ScriptSnapshot={})),function(e){e[e.Dependencies=1]="Dependencies",e[e.DevDependencies=2]="DevDependencies",e[e.PeerDependencies=4]="PeerDependencies",e[e.OptionalDependencies=8]="OptionalDependencies",e[e.All=15]="All"}(e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Auto=2]="Auto"}(e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={})),function(e){e[e.Semantic=0]="Semantic",e[e.PartialSemantic=1]="PartialSemantic",e[e.Syntactic=2]="Syntactic"}(e.LanguageServiceMode||(e.LanguageServiceMode={})),e.emptyOptions={},function(e){e.Original="original",e.TwentyTwenty="2020"}(e.SemanticClassificationFormat||(e.SemanticClassificationFormat={})),function(e){e.none="none",e.definition="definition",e.reference="reference",e.writtenReference="writtenReference"}(e.HighlightSpanKind||(e.HighlightSpanKind={})),function(e){e[e.None=0]="None",e[e.Block=1]="Block",e[e.Smart=2]="Smart"}(t=e.IndentStyle||(e.IndentStyle={})),function(e){e.Ignore="ignore",e.Insert="insert",e.Remove="remove"}(r=e.SemicolonPreference||(e.SemicolonPreference={})),e.getDefaultFormatCodeSettings=n,e.testFormatSettings=n("\n"),function(e){e[e.aliasName=0]="aliasName",e[e.className=1]="className",e[e.enumName=2]="enumName",e[e.fieldName=3]="fieldName",e[e.interfaceName=4]="interfaceName",e[e.keyword=5]="keyword",e[e.lineBreak=6]="lineBreak",e[e.numericLiteral=7]="numericLiteral",e[e.stringLiteral=8]="stringLiteral",e[e.localName=9]="localName",e[e.methodName=10]="methodName",e[e.moduleName=11]="moduleName",e[e.operator=12]="operator",e[e.parameterName=13]="parameterName",e[e.propertyName=14]="propertyName",e[e.punctuation=15]="punctuation",e[e.space=16]="space",e[e.text=17]="text",e[e.typeParameterName=18]="typeParameterName",e[e.enumMemberName=19]="enumMemberName",e[e.functionName=20]="functionName",e[e.regularExpressionLiteral=21]="regularExpressionLiteral"}(e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={})),function(e){e.Comment="comment",e.Region="region",e.Code="code",e.Imports="imports"}(e.OutliningSpanKind||(e.OutliningSpanKind={})),function(e){e[e.JavaScript=0]="JavaScript",e[e.SourceMap=1]="SourceMap",e[e.Declaration=2]="Declaration"}(e.OutputFileType||(e.OutputFileType={})),function(e){e[e.None=0]="None",e[e.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",e[e.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",e[e.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",e[e.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",e[e.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",e[e.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition"}(e.EndOfLineState||(e.EndOfLineState={})),function(e){e[e.Punctuation=0]="Punctuation",e[e.Keyword=1]="Keyword",e[e.Operator=2]="Operator",e[e.Comment=3]="Comment",e[e.Whitespace=4]="Whitespace",e[e.Identifier=5]="Identifier",e[e.NumberLiteral=6]="NumberLiteral",e[e.BigIntLiteral=7]="BigIntLiteral",e[e.StringLiteral=8]="StringLiteral",e[e.RegExpLiteral=9]="RegExpLiteral"}(e.TokenClass||(e.TokenClass={})),function(e){e.unknown="",e.warning="warning",e.keyword="keyword",e.scriptElement="script",e.moduleElement="module",e.classElement="class",e.localClassElement="local class",e.interfaceElement="interface",e.typeElement="type",e.enumElement="enum",e.enumMemberElement="enum member",e.variableElement="var",e.localVariableElement="local var",e.functionElement="function",e.localFunctionElement="local function",e.memberFunctionElement="method",e.memberGetAccessorElement="getter",e.memberSetAccessorElement="setter",e.memberVariableElement="property",e.constructorImplementationElement="constructor",e.callSignatureElement="call",e.indexSignatureElement="index",e.constructSignatureElement="construct",e.parameterElement="parameter",e.typeParameterElement="type parameter",e.primitiveType="primitive type",e.label="label",e.alias="alias",e.constElement="const",e.letElement="let",e.directory="directory",e.externalModuleName="external module name",e.jsxAttribute="JSX attribute",e.string="string"}(e.ScriptElementKind||(e.ScriptElementKind={})),function(e){e.none="",e.publicMemberModifier="public",e.privateMemberModifier="private",e.protectedMemberModifier="protected",e.exportedModifier="export",e.ambientModifier="declare",e.staticModifier="static",e.abstractModifier="abstract",e.optionalModifier="optional",e.deprecatedModifier="deprecated",e.dtsModifier=".d.ts",e.tsModifier=".ts",e.tsxModifier=".tsx",e.jsModifier=".js",e.jsxModifier=".jsx",e.jsonModifier=".json"}(e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})),function(e){e.comment="comment",e.identifier="identifier",e.keyword="keyword",e.numericLiteral="number",e.bigintLiteral="bigint",e.operator="operator",e.stringLiteral="string",e.whiteSpace="whitespace",e.text="text",e.punctuation="punctuation",e.className="class name",e.enumName="enum name",e.interfaceName="interface name",e.moduleName="module name",e.typeParameterName="type parameter name",e.typeAliasName="type alias name",e.parameterName="parameter name",e.docCommentTagName="doc comment tag name",e.jsxOpenTagName="jsx open tag name",e.jsxCloseTagName="jsx close tag name",e.jsxSelfClosingTagName="jsx self closing tag name",e.jsxAttribute="jsx attribute",e.jsxText="jsx text",e.jsxAttributeStringLiteralValue="jsx attribute string literal value"}(e.ClassificationTypeNames||(e.ClassificationTypeNames={})),function(e){e[e.comment=1]="comment",e[e.identifier=2]="identifier",e[e.keyword=3]="keyword",e[e.numericLiteral=4]="numericLiteral",e[e.operator=5]="operator",e[e.stringLiteral=6]="stringLiteral",e[e.regularExpressionLiteral=7]="regularExpressionLiteral",e[e.whiteSpace=8]="whiteSpace",e[e.text=9]="text",e[e.punctuation=10]="punctuation",e[e.className=11]="className",e[e.enumName=12]="enumName",e[e.interfaceName=13]="interfaceName",e[e.moduleName=14]="moduleName",e[e.typeParameterName=15]="typeParameterName",e[e.typeAliasName=16]="typeAliasName",e[e.parameterName=17]="parameterName",e[e.docCommentTagName=18]="docCommentTagName",e[e.jsxOpenTagName=19]="jsxOpenTagName",e[e.jsxCloseTagName=20]="jsxCloseTagName",e[e.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",e[e.jsxAttribute=22]="jsxAttribute",e[e.jsxText=23]="jsxText",e[e.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",e[e.bigintLiteral=25]="bigintLiteral"}(e.ClassificationType||(e.ClassificationType={}))}(u||(u={})),function(e){function t(t){switch(t.kind){case 249:return e.isInJSFile(t)&&e.getJSDocEnumTag(t)?7:1;case 160:case 198:case 163:case 162:case 288:case 289:case 165:case 164:case 166:case 167:case 168:case 251:case 208:case 209:case 287:case 280:return 1;case 159:case 253:case 254:case 177:return 2;case 331:return void 0===t.name?3:2;case 291:case 252:return 3;case 256:return e.isAmbientModule(t)||1===e.getModuleInstanceState(t)?5:4;case 255:case 264:case 265:case 260:case 261:case 266:case 267:return 7;case 297:return 5}return 7}function r(t){for(;157===t.parent.kind;)t=t.parent;return e.isInternalModuleImportEqualsDeclaration(t.parent)&&t.parent.moduleReference===t}function i(e){return e.expression}function a(e){return e.tag}function o(e){return e.tagName}function s(t,r,n,i,a){var o=i?u(t):c(t);return a&&(o=e.skipOuterExpressions(o)),!!o&&!!o.parent&&r(o.parent)&&n(o.parent)===o}function c(e){return _(e)?e.parent:e}function u(e){return _(e)||p(e)?e.parent:e}function l(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isBreakOrContinueStatement))||void 0===r?void 0:r.label)===t}function d(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isLabeledStatement))||void 0===r?void 0:r.label)===t}function _(t){var r;return(null===(r=e.tryCast(t.parent,e.isPropertyAccessExpression))||void 0===r?void 0:r.name)===t}function p(t){var r;return(null===(r=e.tryCast(t.parent,e.isElementAccessExpression))||void 0===r?void 0:r.argumentExpression)===t}e.scanner=e.createScanner(99,!0),function(e){e[e.None=0]="None",e[e.Value=1]="Value",e[e.Type=2]="Type",e[e.Namespace=4]="Namespace",e[e.All=7]="All"}(e.SemanticMeaning||(e.SemanticMeaning={})),e.getMeaningFromDeclaration=t,e.getMeaningFromLocation=function(n){return 297===(n=P(n)).kind?1:266===n.parent.kind||272===n.parent.kind||265===n.parent.kind||262===n.parent.kind||e.isImportEqualsDeclaration(n.parent)&&n===n.parent.name?7:r(n)?function(t){var r=157===t.kind?t:e.isQualifiedName(t.parent)&&t.parent.right===t?t.parent:void 0;return r&&260===r.parent.kind?7:4}(n):e.isDeclarationName(n)?t(n.parent):e.isEntityName(n)&&e.isJSDocNameReference(n.parent)?7:function(t){e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);switch(t.kind){case 107:return!e.isExpressionNode(t);case 187:return!0}switch(t.parent.kind){case 173:return!0;case 195:return!t.parent.isTypeOf;case 223:return!e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)}return!1}(n)?2:function(e){return function(e){var t=e,r=!0;if(157===t.parent.kind){for(;t.parent&&157===t.parent.kind;)t=t.parent;r=t.right===e}return 173===t.parent.kind&&!r}(e)||function(e){var t=e,r=!0;if(201===t.parent.kind){for(;t.parent&&201===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&223===t.parent.kind&&286===t.parent.parent.kind){var n=t.parent.parent.parent;return 252===n.kind&&116===t.parent.parent.token||253===n.kind&&93===t.parent.parent.token}return!1}(e)}(n)?4:e.isTypeParameterDeclaration(n.parent)?(e.Debug.assert(e.isJSDocTemplateTag(n.parent.parent)),2):e.isLiteralTypeNode(n.parent)?3:1},e.isInRightSideOfInternalImportEqualsDeclaration=r,e.isCallExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallExpression,i,r,n)},e.isNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isNewExpression,i,r,n)},e.isCallOrNewExpressionTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isCallOrNewExpression,i,r,n)},e.isTaggedTemplateTag=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isTaggedTemplateExpression,a,r,n)},e.isDecoratorTarget=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isDecorator,i,r,n)},e.isJsxOpeningLikeElementTagName=function(t,r,n){return void 0===r&&(r=!1),void 0===n&&(n=!1),s(t,e.isJsxOpeningLikeElement,o,r,n)},e.climbPastPropertyAccess=c,e.climbPastPropertyOrElementAccess=u,e.getTargetLabel=function(e,t){for(;e;){if(245===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},e.hasPropertyAccessExpressionWithName=function(t,r){return!!e.isPropertyAccessExpression(t.expression)&&t.expression.name.text===r},e.isJumpStatementTarget=l,e.isLabelOfLabeledStatement=d,e.isLabelName=function(e){return d(e)||l(e)},e.isTagName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isJSDocTag))||void 0===r?void 0:r.tagName)===t},e.isRightSideOfQualifiedName=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isQualifiedName))||void 0===r?void 0:r.right)===t},e.isRightSideOfPropertyAccess=_,e.isArgumentExpressionOfElementAccess=p,e.isNameOfModuleDeclaration=function(t){var r;return(null===(r=e.tryCast(t.parent,e.isModuleDeclaration))||void 0===r?void 0:r.name)===t},e.isNameOfFunctionDeclaration=function(t){var r;return e.isIdentifier(t)&&(null===(r=e.tryCast(t.parent,e.isFunctionLike))||void 0===r?void 0:r.name)===t},e.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(t){switch(t.parent.kind){case 163:case 162:case 288:case 291:case 165:case 164:case 167:case 168:case 256:return e.getNameOfDeclaration(t.parent)===t;case 202:return t.parent.argumentExpression===t;case 158:return!0;case 191:return 189===t.parent.parent.kind;default:return!1}},e.isExpressionOfExternalModuleImportEqualsDeclaration=function(t){return e.isExternalModuleImportEqualsDeclaration(t.parent.parent)&&e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent)===t},e.getContainerNode=function(t){for(e.isJSDocTypeAlias(t)&&(t=t.parent.parent);;){if(!(t=t.parent))return;switch(t.kind){case 297:case 165:case 164:case 251:case 208:case 167:case 168:case 252:case 253:case 255:case 256:return t}}},e.getNodeKind=function t(r){switch(r.kind){case 297:return e.isExternalModule(r)?"module":"script";case 256:return"module";case 252:case 221:return"class";case 253:return"interface";case 254:case 324:case 331:return"type";case 255:return"enum";case 249:return c(r);case 198:return c(e.getRootDeclaration(r));case 209:case 251:case 208:return"function";case 167:return"getter";case 168:return"setter";case 165:case 164:return"method";case 288:var n=r.initializer;return e.isFunctionLike(n)?"method":"property";case 163:case 162:case 289:case 290:return"property";case 171:return"index";case 170:return"construct";case 169:return"call";case 166:return"constructor";case 159:return"type parameter";case 291:return"enum member";case 160:return e.hasSyntacticModifier(r,92)?"property":"parameter";case 260:case 265:case 270:case 263:case 269:return"alias";case 216:var i=e.getAssignmentDeclarationKind(r),a=r.right;switch(i){case 7:case 8:case 9:case 0:return"";case 1:case 2:var o=t(a);return""===o?"const":o;case 3:return e.isFunctionExpression(a)?"method":"property";case 4:return"property";case 5:return e.isFunctionExpression(a)?"method":"property";case 6:return"local class";default:return e.assertType(i),""}case 78:return e.isImportClause(r.parent)?"alias":"";case 266:var s=t(r.expression);return""===s?"const":s;default:return""}function c(t){return e.isVarConst(t)?"const":e.isLet(t)?"let":"var"}},e.isThis=function(t){switch(t.kind){case 107:return!0;case 78:return e.identifierIsThisKeyword(t)&&160===t.parent.kind;default:return!1}};var f=/^\/\/\/\s*=r.end}function v(e,t,r,n){return Math.max(e,r)t)break;var u=c.getEnd();if(tt.end||e.pos===t.end)&&W(e,n)?r(e):void 0}))}(r)}function L(t,r,n,i){var a=function a(o){if(R(o)&&1!==o.kind)return o;var s=o.getChildren(r),c=e.binarySearchKey(s,t,(function(e,t){return t}),(function(e,r){return t=s[e-1].end?0:1:-1}));if(c>=0&&s[c]){var u=s[c];if(t=t||!W(u,r)||J(u)){var l=j(s,c,r);return l&&B(l,r)}return a(u)}}e.Debug.assert(void 0!==n||297===o.kind||1===o.kind||e.isJSDocCommentContainingNode(o));var d=j(s,s.length,r);return d&&B(d,r)}(n||r);return e.Debug.assert(!(a&&J(a))),a}function R(t){return e.isToken(t)&&!J(t)}function B(e,t){if(R(e))return e;var r=e.getChildren(t);if(0===r.length)return e;var n=j(r,r.length,t);return n&&B(n,t)}function j(t,r,n){for(var i=r-1;i>=0;i--){if(J(t[i]))e.Debug.assert(i>0,"`JsxText` tokens should not be the first child of `JsxElement | JsxSelfClosingElement`");else if(W(t[i],n))return t[i]}}function J(t){return e.isJsxText(t)&&t.containsOnlyTriviaWhiteSpaces}function K(e,t,r){for(var n=e.kind,i=0;;){var a=L(e.getFullStart(),r);if(!a)return;if((e=a).kind===t){if(0===i)return e;i--}else e.kind===n&&i++}}function z(e,t,r){return t?e.getNonNullableType():r?e.getNonOptionalType():e}function U(t,r,n){var i=n.getTypeAtLocation(t);return e.isOptionalChain(t.parent)&&(i=z(i,e.isOptionalChainRoot(t.parent),!0)),(e.isNewExpression(t.parent)?i.getConstructSignatures():i.getCallSignatures()).filter((function(e){return!!e.typeParameters&&e.typeParameters.length>=r}))}function V(t,r){for(var n=t,i=0,a=0;n;){switch(n.kind){case 29:if((n=L(n.getFullStart(),r))&&28===n.kind&&(n=L(n.getFullStart(),r)),!n||!e.isIdentifier(n))return;if(!i)return e.isDeclarationName(n)?void 0:{called:n,nTypeArguments:a};i--;break;case 49:i=3;break;case 48:i=2;break;case 31:i++;break;case 19:if(!(n=K(n,18,r)))return;break;case 21:if(!(n=K(n,20,r)))return;break;case 23:if(!(n=K(n,22,r)))return;break;case 27:a++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 138:case 24:case 51:case 57:case 58:break;default:if(e.isTypeNode(n))break;return}n=L(n.getFullStart(),r)}}function q(t,r,n){return e.formatting.getRangeOfEnclosingComment(t,r,void 0,n)}function W(e,t){return 1===e.kind?!!e.jsDoc:0!==e.getWidth(t)}function H(e,t,r){var n=q(e,t,void 0);return!!n&&r===f.test(e.text.substring(n.pos,n.end))}function G(t,r,n){return e.createTextSpanFromBounds(t.getStart(r),(n||t).getEnd())}function Y(t){if(!t.isUnterminated)return e.createTextSpanFromBounds(t.getStart()+1,t.getEnd()-1)}function X(e,t){return{span:e,newText:t}}function Q(e){return 149===e.kind}function $(t,r){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return r.getCurrentDirectory()},readFile:e.maybeBind(r,r.readFile),useCaseSensitiveFileNames:e.maybeBind(r,r.useCaseSensitiveFileNames),getSymlinkCache:e.maybeBind(r,r.getSymlinkCache)||t.getSymlinkCache,getGlobalTypingsCacheLocation:e.maybeBind(r,r.getGlobalTypingsCacheLocation),getSourceFiles:function(){return t.getSourceFiles()},redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)}}}function Z(e,t){return n(n({},$(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function ee(t,r,n,i,a){return e.factory.createImportDeclaration(void 0,void 0,t||r?e.factory.createImportClause(!!a,t,r&&r.length?e.factory.createNamedImports(r):void 0):void 0,"string"==typeof n?te(n,i):n)}function te(t,r){return e.factory.createStringLiteral(t,0===r)}function re(t,r){return e.isStringDoubleQuoted(t,r)?1:0}function ne(t,r){if(r.quotePreference&&"auto"!==r.quotePreference)return"single"===r.quotePreference?0:1;var n=t.imports&&e.find(t.imports,(function(t){return e.isStringLiteral(t)&&!e.nodeIsSynthesized(t.parent)}));return n?re(n,t):1}function ie(t){return"default"!==t.escapedName?t.escapedName:e.firstDefined(t.declarations,(function(t){var r=e.getNameOfDeclaration(t);return r&&78===r.kind?r.escapedText:void 0}))}function ae(t,r,n,i){var a=new e.Map;return function t(o){if(!(96&o.flags&&e.addToSeen(a,e.getSymbolId(o))))return;return e.firstDefined(o.declarations,(function(a){return e.firstDefined(e.getAllSuperTypeNodes(a),(function(a){var o=n.getTypeAtLocation(a),s=o&&o.symbol&&n.getPropertyOfType(o,r);return o&&s&&(e.firstDefined(n.getRootSymbols(s),i)||t(o.symbol))}))}))}(t)}function oe(t,r,n){return e.textSpanContainsPosition(t,r.getStart(n))&&r.getEnd()<=e.textSpanEnd(t)}function se(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function ce(e){return e.declarations&&e.declarations.length>0&&160===e.declarations[0].kind}e.getLineStartPositionForPosition=function(t,r){return e.getLineStarts(r)[r.getLineAndCharacterOfPosition(t).line]},e.rangeContainsRange=g,e.rangeContainsRangeExclusive=function(e,t){return m(e,t.pos)&&m(e,t.end)},e.rangeContainsPosition=function(e,t){return e.pos<=t&&t<=e.end},e.rangeContainsPositionExclusive=m,e.startEndContainsRange=y,e.rangeContainsStartEnd=function(e,t,r){return e.pos<=t&&e.end>=r},e.rangeOverlapsWithStartEnd=function(e,t,r){return v(e.pos,e.end,t,r)},e.nodeOverlapsWithStartEnd=function(e,t,r,n){return v(e.getStart(t),e.end,r,n)},e.startEndOverlapsWithStartEnd=v,e.positionBelongsToNode=function(t,r,n){return e.Debug.assert(t.pos<=r),rn.getStart(t)&&rn.getStart(t)},e.isInJSXText=function(t,r){var n=I(t,r);return!!e.isJsxText(n)||(!(18!==n.kind||!e.isJsxExpression(n.parent)||!e.isJsxElement(n.parent.parent))||!(29!==n.kind||!e.isJsxOpeningLikeElement(n.parent)||!e.isJsxElement(n.parent.parent)))},e.isInsideJsxElement=function(e,t){return function(r){for(;r;)if(r.kind>=274&&r.kind<=283||11===r.kind||29===r.kind||31===r.kind||78===r.kind||19===r.kind||18===r.kind||43===r.kind)r=r.parent;else{if(273!==r.kind)return!1;if(t>r.getStart(e))return!0;r=r.parent}return!1}(I(e,t))},e.findPrecedingMatchingToken=K,e.removeOptionality=z,e.isPossiblyTypeArgumentPosition=function t(r,n,i){var a=V(r,n);return void 0!==a&&(e.isPartOfTypeNode(a.called)||0!==U(a.called,a.nTypeArguments,i).length||t(a.called,n,i))},e.getPossibleGenericSignatures=U,e.getPossibleTypeArgumentsInfo=V,e.isInComment=q,e.hasDocComment=function(t,r){var n=I(t,r);return!!e.findAncestor(n,e.isJSDoc)},e.getNodeModifiers=function(t){var r=e.isDeclaration(t)?e.getCombinedNodeFlagsAlwaysIncludeJSDoc(t):0,n=[];return 8&r&&n.push("private"),16&r&&n.push("protected"),4&r&&n.push("public"),32&r&&n.push("static"),128&r&&n.push("abstract"),1&r&&n.push("export"),8192&r&&n.push("deprecated"),8388608&t.flags&&n.push("declare"),266===t.kind&&n.push("export"),n.length>0?n.join(","):""},e.getTypeArgumentOrTypeParameterList=function(t){return 173===t.kind||203===t.kind?t.typeArguments:e.isFunctionLike(t)||252===t.kind||253===t.kind?t.typeParameters:void 0},e.isComment=function(e){return 2===e||3===e},e.isStringOrRegularExpressionOrTemplateLiteral=function(t){return!(10!==t&&13!==t&&!e.isTemplateLiteralKind(t))},e.isPunctuation=function(e){return 18<=e&&e<=77},e.isInsideTemplateLiteral=function(t,r,n){return e.isTemplateLiteralKind(t.kind)&&t.getStart(n)=2||!!e.noEmit},e.createModuleSpecifierResolutionHost=$,e.getModuleSpecifierResolverHost=Z,e.makeImportIfNecessary=function(e,t,r,n){return e||t&&t.length?ee(e,t,r,n):void 0},e.makeImport=ee,e.makeStringLiteral=te,function(e){e[e.Single=0]="Single",e[e.Double=1]="Double"}(e.QuotePreference||(e.QuotePreference={})),e.quotePreferenceFromString=re,e.getQuotePreference=ne,e.getQuoteFromPreference=function(t){switch(t){case 0:return"'";case 1:return'"';default:return e.Debug.assertNever(t)}},e.symbolNameNoDefault=function(t){var r=ie(t);return void 0===r?void 0:e.unescapeLeadingUnderscores(r)},e.symbolEscapedNameNoDefault=ie,e.isObjectBindingElementWithoutPropertyName=function(t){return e.isBindingElement(t)&&e.isObjectBindingPattern(t.parent)&&e.isIdentifier(t.name)&&!t.propertyName},e.getPropertySymbolFromBindingElement=function(e,t){var r=e.getTypeAtLocation(t.parent);return r&&e.getPropertyOfType(r,t.name.text)},e.getPropertySymbolsFromBaseTypes=ae,e.isMemberSymbolInBaseType=function(e,t){return ae(e.parent,e.name,t,(function(e){return!0}))||!1},e.getParentNodeInSpan=function(t,r,n){if(t)for(;t.parent;){if(e.isSourceFile(t.parent)||!oe(n,t.parent,r))return t;t=t.parent}},e.findModifier=function(t,r){return t.modifiers&&e.find(t.modifiers,(function(e){return e.kind===r}))},e.insertImports=function(t,r,n,i){var a=232===(e.isArray(n)?n[0]:n).kind?e.isRequireVariableStatement:e.isAnyImportSyntax,o=e.filter(r.statements,a),s=e.isArray(n)?e.stableSort(n,e.OrganizeImports.compareImportsOrRequireStatements):[n];if(o.length)if(o&&e.OrganizeImports.importsAreSorted(o))for(var c=0,u=s;ca&&r&&"..."!==r&&(e.isWhiteSpaceLike(r.charCodeAt(r.length-1))||t.push(de(" ",e.SymbolDisplayPartKind.space)),t.push(de("...",e.SymbolDisplayPartKind.punctuation))),t},writeKeyword:function(t){return c(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return c(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeTrailingSemicolon:function(t){return c(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return c(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return c(t,e.SymbolDisplayPartKind.parameterName)},writeProperty:function(t){return c(t,e.SymbolDisplayPartKind.propertyName)},writeLiteral:function(t){return c(t,e.SymbolDisplayPartKind.stringLiteral)},writeSymbol:function(e,r){if(i>a)return;s(),i+=e.length,t.push(le(e,r))},writeLine:function(){if(i>a)return;i+=1,t.push(fe()),r=!0},write:o,writeComment:o,getText:function(){return""},getTextPos:function(){return 0},getColumn:function(){return 0},getLine:function(){return 0},isAtStartOfLine:function(){return!1},hasTrailingWhitespace:function(){return!1},hasTrailingComment:function(){return!1},rawWrite:e.notImplemented,getIndent:function(){return n},increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:u,trackSymbol:e.noop,reportInaccessibleThisError:e.noop,reportInaccessibleUniqueSymbolError:e.noop,reportPrivateInBaseOfClassExpression:e.noop};function s(){if(!(i>a)&&r){var o=e.getIndentString(n);o&&(i+=o.length,t.push(de(o,e.SymbolDisplayPartKind.space))),r=!1}}function c(e,r){i>a||(s(),i+=e.length,t.push(de(e,r)))}function u(){t=[],r=!0,n=0,i=0}}();function le(t,r){return de(t,function(t){var r=t.flags;if(3&r)return ce(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName;if(4&r)return e.SymbolDisplayPartKind.propertyName;if(32768&r)return e.SymbolDisplayPartKind.propertyName;if(65536&r)return e.SymbolDisplayPartKind.propertyName;if(8&r)return e.SymbolDisplayPartKind.enumMemberName;if(16&r)return e.SymbolDisplayPartKind.functionName;if(32&r)return e.SymbolDisplayPartKind.className;if(64&r)return e.SymbolDisplayPartKind.interfaceName;if(384&r)return e.SymbolDisplayPartKind.enumName;if(1536&r)return e.SymbolDisplayPartKind.moduleName;if(8192&r)return e.SymbolDisplayPartKind.methodName;if(262144&r)return e.SymbolDisplayPartKind.typeParameterName;if(524288&r)return e.SymbolDisplayPartKind.aliasName;if(2097152&r)return e.SymbolDisplayPartKind.aliasName;return e.SymbolDisplayPartKind.text}(r))}function de(t,r){return{text:t,kind:e.SymbolDisplayPartKind[r]}}function _e(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}function pe(t){return de(t,e.SymbolDisplayPartKind.text)}e.symbolPart=le,e.displayPart=de,e.spacePart=function(){return de(" ",e.SymbolDisplayPartKind.space)},e.keywordPart=_e,e.punctuationPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)},e.operatorPart=function(t){return de(e.tokenToString(t),e.SymbolDisplayPartKind.operator)},e.textOrKeywordPart=function(t){var r=e.stringToToken(t);return void 0===r?pe(t):_e(r)},e.textPart=pe;function fe(){return de("\n",e.SymbolDisplayPartKind.lineBreak)}function ge(e){try{return e(ue),ue.displayParts()}finally{ue.clear()}}function me(e){return 0!=(33554432&e.flags)}function ye(e){return 0!=(2097152&e.flags)}function ve(e,t){void 0===t&&(t=!0);var r=e&&De(e);return r&&!t&&xe(r),r}function he(t,r,n){var i=n(t);return i?e.setOriginalNode(i,t):i=De(t,n),i&&!r&&xe(i),i}function De(t,r){var n=r?e.visitEachChild(t,(function(e){return he(e,!0,r)}),e.nullTransformationContext):e.visitEachChild(t,ve,e.nullTransformationContext);if(n===t){var i=e.isStringLiteral(t)?e.setOriginalNode(e.factory.createStringLiteralFromNode(t),t):e.isNumericLiteral(t)?e.setOriginalNode(e.factory.createNumericLiteral(t.text,t.numericLiteralFlags),t):e.factory.cloneNode(t);return e.setTextRange(i,t)}return n.parent=void 0,n}function xe(e){be(e),Se(e)}function be(e){Ee(e,512,Ce)}function Se(t){Ee(t,1024,e.getLastChild)}function Ee(t,r,n){e.addEmitFlags(t,r);var i=n(t);i&&Ee(i,r,n)}function Ce(e){return e.forEachChild((function(e){return e}))}function Te(t,r,n,i,a){e.forEachLeadingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function ke(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.end,Fe(r,n,i,a,e.addSyntheticTrailingComment))}function Ae(t,r,n,i,a){e.forEachTrailingCommentRange(n.text,t.pos,Fe(r,n,i,a,e.addSyntheticLeadingComment))}function Fe(e,t,r,n,i){return function(a,o,s,c){3===s?(a+=2,o-=2):a+=2,i(e,r||s,t.text.slice(a,o),void 0!==n?n:c)}}function Ne(t,r){if(e.startsWith(t,r))return 0;var n=t.indexOf(" "+r);return-1===n&&(n=t.indexOf("."+r)),-1===n&&(n=t.indexOf('"'+r)),-1===n?-1:n+1}function Pe(e){switch(e){case 36:case 34:case 37:case 35:return!0;default:return!1}}function we(e,t){return t.getTypeAtLocation(e.parent.parent.expression)}function Ie(e){return 169===e||170===e||171===e||162===e||164===e}function Oe(e){return 251===e||166===e||165===e||167===e||168===e}function Me(e){return 256===e}function Le(e){return 232===e||233===e||235===e||240===e||241===e||242===e||246===e||248===e||163===e||254===e||261===e||260===e||267===e||259===e||266===e}function Re(e,t){return je(e,e.fileExists,t)}function Be(e){try{return e()}catch(e){return}}function je(e,t){for(var r=[],n=2;n-1&&e.isWhiteSpaceSingleLine(t.charCodeAt(r));)r-=1;return r+1},e.getSynthesizedDeepClone=ve,e.getSynthesizedDeepCloneWithReplacements=he,e.getSynthesizedDeepClones=function(t,r){return void 0===r&&(r=!0),t&&e.factory.createNodeArray(t.map((function(e){return ve(e,r)})),t.hasTrailingComma)},e.getSynthesizedDeepClonesWithReplacements=function(t,r,n){return e.factory.createNodeArray(t.map((function(e){return he(e,r,n)})),t.hasTrailingComma)},e.suppressLeadingAndTrailingTrivia=xe,e.suppressLeadingTrivia=be,e.suppressTrailingTrivia=Se,e.copyComments=function(e,t){var r=e.getSourceFile();!function(e,t){for(var r=e.getFullStart(),n=e.getStart(),i=r;i=0),o},e.copyLeadingComments=Te,e.copyTrailingComments=ke,e.copyTrailingAsLeadingComments=Ae,e.needsParentheses=function(t){return e.isBinaryExpression(t)&&27===t.operatorToken.kind||e.isObjectLiteralExpression(t)},e.getContextualTypeFromParent=function(e,t){var r=e.parent;switch(r.kind){case 204:return t.getContextualType(r);case 216:var n=r,i=n.left,a=n.operatorToken,o=n.right;return Pe(a.kind)?t.getTypeAtLocation(e===o?i:o):t.getContextualType(e);case 284:return r.expression===e?we(r,t):void 0;default:return t.getContextualType(e)}},e.quote=function(t,r,n){var i=ne(t,r),a=JSON.stringify(n);return 0===i?"'"+e.stripQuotes(a).replace("'","\\'").replace('\\"','"')+"'":a},e.isEqualityOperatorKind=Pe,e.isStringLiteralOrTemplate=function(e){switch(e.kind){case 10:case 14:case 218:case 205:return!0;default:return!1}},e.hasIndexSignature=function(e){return!!e.getStringIndexType()||!!e.getNumberIndexType()},e.getSwitchedType=we,e.ANONYMOUS="anonymous function",e.getTypeNodeIfAccessible=function(e,t,r,n){var i=r.getTypeChecker(),a=!0,o=function(){a=!1},s=i.typeToTypeNode(e,t,1,{trackSymbol:function(e,t,r){a=a&&0===i.isSymbolAccessible(e,t,r,!1).accessibility},reportInaccessibleThisError:o,reportPrivateInBaseOfClassExpression:o,reportInaccessibleUniqueSymbolError:o,moduleResolverHost:Z(r,n)});return a?s:void 0},e.syntaxRequiresTrailingCommaOrSemicolonOrASI=Ie,e.syntaxRequiresTrailingFunctionBlockOrSemicolonOrASI=Oe,e.syntaxRequiresTrailingModuleBlockOrSemicolonOrASI=Me,e.syntaxRequiresTrailingSemicolonOrASI=Le,e.syntaxMayBeASICandidate=e.or(Ie,Oe,Me,Le),e.positionIsASICandidate=function(t,r,n){var i=e.findAncestor(r,(function(r){return r.end!==t?"quit":e.syntaxMayBeASICandidate(r.kind)}));return!!i&&function(t,r){var n=t.getLastToken(r);if(n&&26===n.kind)return!1;if(Ie(t.kind)){if(n&&27===n.kind)return!1}else if(Me(t.kind)){if((i=e.last(t.getChildren(r)))&&e.isModuleBlock(i))return!1}else if(Oe(t.kind)){var i;if((i=e.last(t.getChildren(r)))&&e.isFunctionBlock(i))return!1}else if(!Le(t.kind))return!1;if(235===t.kind)return!0;var a=M(t,e.findAncestor(t,(function(e){return!e.parent})),r);return!a||19===a.kind||r.getLineAndCharacterOfPosition(t.getEnd()).line!==r.getLineAndCharacterOfPosition(a.getStart(r)).line}(i,n)},e.probablyUsesSemicolons=function(t){var r=0,n=0;return e.forEachChild(t,(function i(a){if(Le(a.kind)){var o=a.getLastToken(t);o&&26===o.kind?r++:n++}return r+n>=5||e.forEachChild(a,i)})),0===r&&n<=1||r/n>.2},e.tryGetDirectories=function(e,t){return je(e,e.getDirectories,t)||[]},e.tryReadDirectory=function(t,r,n,i,a){return je(t,t.readDirectory,r,n,i,a)||e.emptyArray},e.tryFileExists=Re,e.tryDirectoryExists=function(t,r){return Be((function(){return e.directoryProbablyExists(r,t)}))||!1},e.tryAndIgnoreErrors=Be,e.tryIOAndConsumeErrors=je,e.findPackageJsons=function(t,r,n){var i=[];return e.forEachAncestorDirectory(t,(function(t){if(t===n)return!0;var a=e.combinePaths(t,"package.json");Re(r,a)&&i.push(a)})),i},e.findPackageJson=function(t,r){var n;return e.forEachAncestorDirectory(t,(function(t){return"node_modules"===t||(!!(n=e.findConfigFile(t,(function(e){return Re(r,e)}),"package.json"))||void 0)})),n},e.getPackageJsonsVisibleToFile=function(t,r){if(!r.fileExists)return[];var n=[];return e.forEachAncestorDirectory(e.getDirectoryPath(t),(function(t){var i=e.combinePaths(t,"package.json");if(r.fileExists(i)){var a=Je(i,r);a&&n.push(a)}})),n},e.createPackageJsonInfo=Je,e.consumesNodeCoreModules=function(t){return e.some(t.imports,(function(t){var r=t.text;return e.JsTyping.nodeCoreModules.has(r)}))},e.isInsideNodeModules=function(t){return e.contains(e.getPathComponents(t),"node_modules")},e.isDiagnosticWithLocation=Ke,e.findDiagnosticForNode=function(t,r){var n=G(t),i=e.binarySearchKey(r,n,e.identity,e.compareTextSpans);if(i>=0){var a=r[i];return e.Debug.assertEqual(a.file,t.getSourceFile(),"Diagnostics proided to 'findDiagnosticForNode' must be from a single SourceFile"),e.cast(a,Ke)}},e.getDiagnosticsWithinSpan=function(t,r){var n,i=e.binarySearchKey(r,t.start,(function(e){return e.start}),e.compareValues);for(i<0&&(i=~i);(null===(n=r[i-1])||void 0===n?void 0:n.start)===t.start;)i--;for(var a=[],o=e.textSpanEnd(t);;){var s=e.tryCast(r[i],Ke);if(!s||s.start>o)break;e.textSpanContainsTextSpan(t,s)&&a.push(s),i++}return a},e.getRefactorContextSpan=function(t){var r=t.startPosition,n=t.endPosition;return e.createTextSpanFromBounds(r,void 0===n?r:n)},e.mapOneOrMany=function(t,r,n){return void 0===n&&(n=e.identity),t?e.isArray(t)?n(e.map(t,r)):r(t,0):void 0},e.firstOrOnly=function(t){return e.isArray(t)?e.first(t):t},e.getNameForExportedSymbol=function(t,r){return"export="===t.escapedName||"default"===t.escapedName?e.firstDefined(t.declarations,(function(t){return e.isExportAssignment(t)&&e.isIdentifier(t.expression)?t.expression.text:void 0}))||e.codefix.moduleSymbolToValidIdentifier(function(t){var r;return e.Debug.checkDefined(t.parent,"Symbol parent was undefined. Flags: "+e.Debug.formatSymbolFlags(t.flags)+". Declarations: "+(null===(r=t.declarations)||void 0===r?void 0:r.map((function(t){var r=e.Debug.formatSyntaxKind(t.kind),n=e.isInJSFile(t),i=t.expression;return(n?"[JS]":"")+r+(i?" (expression: "+e.Debug.formatSyntaxKind(i.kind)+")":"")})).join(", "))+".")}(t),r):t.name},e.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=i.length){var D=r(o,u,e.lastOrUndefined(d));void 0!==D&&(m=D)}}while(1!==u);function x(){switch(u){case 43:case 67:t[l]||13!==o.reScanSlashToken()||(u=13);break;case 29:78===l&&v++;break;case 31:v>0&&v--;break;case 128:case 147:case 144:case 131:case 148:v>0&&!c&&(u=78);break;case 15:d.push(u);break;case 18:d.length>0&&d.push(u);break;case 19:if(d.length>0){var r=e.lastOrUndefined(d);15===r?17===(u=o.reScanTemplateToken(!1))?d.pop():e.Debug.assertEqual(u,16,"Should have been a template middle."):(e.Debug.assertEqual(r,18,"Should have been an open brace"),d.pop())}break;default:if(!e.isKeyword(u))break;(24===l||e.isKeyword(l)&&e.isKeyword(u)&&!function(t,r){if(!e.isAccessibilityModifier(t))return!0;switch(r){case 134:case 146:case 132:case 123:return!0;default:return!1}}(l,u))&&(u=78)}}return{endOfLineState:m,spans:y}}return{getClassificationsForLine:function(t,r,n){return function(t,r){for(var n=[],a=t.spans,o=0,s=0;s=0){var d=c-o;d>0&&n.push({length:d,classification:e.TokenClass.Whitespace})}n.push({length:u,classification:i(l)}),o=c+u}var _=r.length-o;_>0&&n.push({length:_,classification:e.TokenClass.Whitespace});return{entries:n,finalLexState:t.endOfLineState}}(s(t,r,n),t)},getEncodedLexicalClassifications:s}};var t=e.arrayToNumericMap([78,10,8,9,13,107,45,46,21,23,19,109,94],(function(e){return e}),(function(){return!0}));function r(t,r,n){switch(r){case 10:if(!t.isUnterminated())return;for(var i=t.getTokenText(),a=i.length-1,o=0;92===i.charCodeAt(a-o);)o++;if(0==(1&o))return;return 34===i.charCodeAt(0)?3:2;case 3:return t.isUnterminated()?1:void 0;default:if(e.isTemplateLiteralKind(r)){if(!t.isUnterminated())return;switch(r){case 17:return 5;case 14:return 4;default:return e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+r)}}return 15===n?6:void 0}}function n(e,t,r,n,i){if(8!==n){0===e&&r>0&&(e+=r);var a=t-e;a>0&&i.push(e-r,a,n)}}function i(t){switch(t){case 1:return e.TokenClass.Comment;case 3:return e.TokenClass.Keyword;case 4:return e.TokenClass.NumberLiteral;case 25:return e.TokenClass.BigIntLiteral;case 5:return e.TokenClass.Operator;case 6:return e.TokenClass.StringLiteral;case 8:return e.TokenClass.Whitespace;case 10:return e.TokenClass.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:return e.TokenClass.Identifier;default:return}}function a(t){if(e.isKeyword(t))return 3;if(function(e){switch(e){case 41:case 43:case 44:case 39:case 40:case 47:case 48:case 49:case 29:case 31:case 32:case 33:case 101:case 100:case 126:case 34:case 35:case 36:case 37:case 50:case 52:case 51:case 55:case 56:case 73:case 72:case 77:case 69:case 70:case 71:case 63:case 64:case 65:case 67:case 68:case 62:case 27:case 60:case 74:case 75:case 76:return!0;default:return!1}}(t)||function(e){switch(e){case 39:case 40:case 54:case 53:case 45:case 46:return!0;default:return!1}}(t))return 5;if(t>=18&&t<=77)return 10;switch(t){case 8:return 4;case 9:return 25;case 10:return 6;case 13:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 78:default:return e.isTemplateLiteralKind(t)?6:2}}function o(e,t){switch(t){case 256:case 252:case 253:case 251:case 221:case 208:case 209:e.throwIfCancellationRequested()}}function s(t,r,n,i,a){var s=[];return n.forEachChild((function u(l){if(l&&e.textSpanIntersectsWith(a,l.pos,l.getFullWidth())){if(o(r,l.kind),e.isIdentifier(l)&&!e.nodeIsMissing(l)&&i.has(l.escapedText)){var d=t.getSymbolAtLocation(l),_=d&&c(d,e.getMeaningFromLocation(l),t);_&&function(t,r,n){var i=r-t;e.Debug.assert(i>0,"Classification had non-positive length of "+i),s.push(t),s.push(i),s.push(n)}(l.getStart(n),l.getEnd(),_)}l.forEachChild(u)}})),{spans:s,endOfLineState:0}}function c(t,r,n){var i=t.getFlags();return 0==(2885600&i)?void 0:32&i?11:384&i?12:524288&i?16:1536&i?4&r||1&r&&function(t){return e.some(t.declarations,(function(t){return e.isModuleDeclaration(t)&&1===e.getModuleInstanceState(t)}))}(t)?14:void 0:2097152&i?c(n.getAliasedSymbol(t),r,n):2&r?64&i?13:262144&i?15:void 0:void 0}function u(e){switch(e){case 1:return"comment";case 2:return"identifier";case 3:return"keyword";case 4:return"number";case 25:return"bigint";case 5:return"operator";case 6:return"string";case 8:return"whitespace";case 9:return"text";case 10:return"punctuation";case 11:return"class name";case 12:return"enum name";case 13:return"interface name";case 14:return"module name";case 15:return"type parameter name";case 16:return"type alias name";case 17:return"parameter name";case 18:return"doc comment tag name";case 19:return"jsx open tag name";case 20:return"jsx close tag name";case 21:return"jsx self closing tag name";case 22:return"jsx attribute";case 23:return"jsx text";case 24:return"jsx attribute string literal value";default:return}}function l(t){e.Debug.assert(t.spans.length%3==0);for(var r=t.spans,n=[],i=0;i])*)(\/>)?)?/im,a=/(\S+)(\s*)(=)(\s*)('[^']+'|"[^"]+")/gim,o=r.text.substr(t,n),s=i.exec(o);if(!s)return!1;if(!s[3]||!(s[3]in e.commentPragmas))return!1;var c=t;_(c,s[1].length),l(c+=s[1].length,s[2].length,10),l(c+=s[2].length,s[3].length,21),c+=s[3].length;var u=s[4],d=c;for(;;){var p=a.exec(u);if(!p)break;var f=c+p.index;f>d&&(_(d,f-d),d=f),l(d,p[1].length,22),d+=p[1].length,p[2].length&&(_(d,p[2].length),d+=p[2].length),l(d,p[3].length,5),d+=p[3].length,p[4].length&&(_(d,p[4].length),d+=p[4].length),l(d,p[5].length,24),d+=p[5].length}(c+=s[4].length)>d&&_(d,c-d);s[5]&&(l(c,s[5].length,10),c+=s[5].length);var g=t+n;c=0),a>0){var o=n||y(t.kind,t);o&&l(i,a,o)}return!0}function y(t,r){if(e.isKeyword(t))return 3;if((29===t||31===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){var n=r.parent;if(62===t&&(249===n.kind||163===n.kind||160===n.kind||280===n.kind))return 5;if(216===n.kind||214===n.kind||215===n.kind||217===n.kind)return 5}return 10}if(8===t)return 4;if(9===t)return 25;if(10===t)return r&&280===r.parent.kind?24:6;if(13===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(11===t)return 23;if(78===t){if(r)switch(r.parent.kind){case 252:return r.parent.name===r?11:void 0;case 159:return r.parent.name===r?15:void 0;case 253:return r.parent.name===r?13:void 0;case 255:return r.parent.name===r?12:void 0;case 256:return r.parent.name===r?14:void 0;case 160:return r.parent.name===r?e.isThisIdentifier(r)?3:17:void 0}return 2}}function v(n){if(n&&e.decodedTextSpanIntersectsWith(i,a,n.pos,n.getFullWidth())){o(t,n.kind);for(var s=0,c=n.getChildren(r);s0})))return 0;if(o((function(e){return e.getCallSignatures().length>0}))&&!o((function(e){return e.getProperties().length>0}))||function(t){for(;a(t);)t=t.parent;return e.isCallExpression(t.parent)&&t.parent.expression===t}(r))return 9===n?11:10}}return n}(u,_,g);var y=f.valueDeclaration;if(y){var v=e.getCombinedModifierFlags(y),h=e.getCombinedNodeFlags(y);32&v&&(m|=2),256&v&&(m|=4),0!==g&&2!==g&&(64&v||2&h||8&f.getFlags())&&(m|=8),7!==g&&10!==g||!function(t,r){e.isBindingElement(t)&&(t=i(t));if(e.isVariableDeclaration(t))return(!e.isSourceFile(t.parent.parent.parent)||e.isCatchClause(t.parent))&&t.getSourceFile()===r;if(e.isFunctionDeclaration(t))return!e.isSourceFile(t.parent)&&t.getSourceFile()===r;return!1}(y,r)||(m|=32),t.isSourceFileDefaultLibrary(y.getSourceFile())&&(m|=16)}else f.declarations&&f.declarations.some((function(e){return t.isSourceFileDefaultLibrary(e.getSourceFile())}))&&(m|=16);s(_,g,m)}}}e.forEachChild(_,d),l=p}}d(r)}(t,r,n,(function(e,t,n){c.push(e.getStart(r),e.getWidth(r),(t+1<<8)+n)}),s),c}function i(t){for(;;){if(!e.isBindingElement(t.parent.parent))return t.parent.parent;t=t.parent.parent}}function a(t){return e.isQualifiedName(t.parent)&&t.parent.right===t||e.isPropertyAccessExpression(t.parent)&&t.parent.name===t}!function(e){e[e.typeOffset=8]="typeOffset",e[e.modifierMask=255]="modifierMask"}(t.TokenEncodingConsts||(t.TokenEncodingConsts={})),function(e){e[e.class=0]="class",e[e.enum=1]="enum",e[e.interface=2]="interface",e[e.namespace=3]="namespace",e[e.typeParameter=4]="typeParameter",e[e.type=5]="type",e[e.parameter=6]="parameter",e[e.variable=7]="variable",e[e.enumMember=8]="enumMember",e[e.property=9]="property",e[e.function=10]="function",e[e.member=11]="member"}(t.TokenType||(t.TokenType={})),function(e){e[e.declaration=0]="declaration",e[e.static=1]="static",e[e.async=2]="async",e[e.readonly=3]="readonly",e[e.defaultLibrary=4]="defaultLibrary",e[e.local=5]="local"}(t.TokenModifier||(t.TokenModifier={})),t.getSemanticClassifications=function(t,n,i,a){var o=r(t,n,i,a);e.Debug.assert(o.spans.length%3==0);for(var s=o.spans,c=[],u=0;ua.parameters.length)){var o=r.getParameterType(a,t.argumentIndex);return n=n||!!(4&o.flags),l(o,i)}})),isNewIdentifier:n}}(E,i):C()}case 261:case 267:case 272:return{kind:0,paths:f(t,r,a,o,i)};default:return C()}function C(){return{kind:2,types:l(e.getContextualTypeFromParent(r,i)),isNewIdentifier:!1}}}function c(t){switch(t.kind){case 186:return e.walkUpParenthesizedTypes(t);case 207:return e.walkUpParenthesizedExpressions(t);default:return t}}function u(t){return t&&{kind:1,symbols:e.filter(t.getApparentProperties(),(function(t){return!(t.valueDeclaration&&e.isPrivateIdentifierPropertyDeclaration(t.valueDeclaration))})),hasIndexSignature:e.hasIndexSignature(t)}}function l(t,r){return void 0===r&&(r=new e.Map),t?(t=e.skipConstraint(t)).isUnion()?e.flatMap(t.types,(function(e){return l(e,r)})):!t.isStringLiteral()||1024&t.flags||!e.addToSeen(r,t.value)?e.emptyArray:[t]:e.emptyArray}function d(e,t,r){return{name:e,kind:t,extension:r}}function _(e){return d(e,"directory",void 0)}function p(t,r,n){var i=function(t,r){var n=Math.max(t.lastIndexOf(e.directorySeparator),t.lastIndexOf("\\")),i=-1!==n?n+1:0,a=t.length-i;return 0===a||e.isIdentifierText(t.substr(i,a),99)?void 0:e.createTextSpan(r+i,a)}(t,r);return n.map((function(e){return{name:e.name,kind:e.kind,extension:e.extension,span:i}}))}function f(t,n,i,a,o){return p(n.text,n.getStart(t)+1,function(t,n,i,a,o){var s=e.normalizeSlashes(n.text),c=t.path,u=e.getDirectoryPath(c);return function(e){if(e&&e.length>=2&&46===e.charCodeAt(0)){var t=e.length>=3&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}return!1}(s)||!i.baseUrl&&(e.isRootedDiskPath(s)||e.isUrl(s))?function(t,n,i,a,o){var s=g(i);return i.rootDirs?function(t,n,i,a,o,s,c){var u=o.project||s.getCurrentDirectory(),l=!(s.useCaseSensitiveFileNames&&s.useCaseSensitiveFileNames()),d=function(t,n,i,a){t=t.map((function(t){return e.normalizePath(e.isRootedDiskPath(t)?t:e.combinePaths(n,t))}));var o=e.firstDefined(t,(function(t){return e.containsPath(t,i,n,a)?i.substr(t.length):void 0}));return e.deduplicate(r(t.map((function(t){return e.combinePaths(t,o)})),[i]),e.equateStringsCaseSensitive,e.compareStringsCaseSensitive)}(t,u,i,l);return e.flatMap(d,(function(e){return y(n,e,a,s,c)}))}(i.rootDirs,t,n,s,i,a,o):y(t,n,s,a,o)}(s,u,i,a,c):function(t,r,n,i,a){var o=n.baseUrl,s=n.paths,c=[],u=g(n);if(o){var l=n.project||i.getCurrentDirectory(),_=e.normalizePath(e.combinePaths(l,o));y(t,_,u,i,void 0,c),s&&v(c,t,_,u.extensions,s,i)}for(var p=h(t),f=0,m=function(t,r,n){var i=n.getAmbientModules().map((function(t){return e.stripQuotes(t.name)})).filter((function(r){return e.startsWith(r,t)}));if(void 0!==r){var a=e.ensureTrailingDirectorySeparator(r);return i.map((function(t){return e.removePrefix(t,a)}))}return i}(t,p,a);f=e.pos&&r<=e.end}));if(!s)return;var c=t.text.slice(s.pos,r),u=b.exec(c);if(!u)return;var l=u[1],d=u[2],_=u[3],f=e.getDirectoryPath(t.path),m="path"===d?y(_,f,g(n,!0),i,t.path):"types"===d?x(i,n,f,h(_),g(n)):e.Debug.fail();return p(_,s.pos+l.length,m)}(r,n,c,u))&&i(_);if(e.isInString(r,n,a)){if(!a||!e.isStringLiteralLike(a))return;var _;return function(r,n,a,o,s,c){if(void 0===r)return;var u=e.createTextSpanFromStringLiteralLikeContent(n);switch(r.kind){case 0:return i(r.paths);case 1:var l=[];return t.getCompletionEntriesFromSymbols(r.symbols,l,n,a,a,o,99,s,4,c),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:r.hasIndexSignature,optionalReplacementSpan:u,entries:l};case 2:l=r.types.map((function(r){return{name:r.value,kindModifiers:"",kind:"string",sortText:t.SortText.LocationPriority,replacementSpan:e.getReplacementSpanForContextToken(n)}}));return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:r.isNewIdentifier,optionalReplacementSpan:u,entries:l};default:return e.Debug.assertNever(r)}}(_=s(r,a,n,o,c,u),a,r,o,l,d)}},n.getStringLiteralCompletionDetails=function(r,n,i,o,c,u,l,d){if(o&&e.isStringLiteralLike(o)){var _=s(n,o,i,c,u,l);return _&&function(r,n,i,o,s,c){switch(i.kind){case 0:return(u=e.find(i.paths,(function(e){return e.name===r})))&&t.createCompletionDetails(r,a(u.extension),u.kind,[e.textPart(r)]);case 1:var u;return(u=e.find(i.symbols,(function(e){return e.name===r})))&&t.createCompletionDetailsForSymbol(u,s,o,n,c);case 2:return e.find(i.types,(function(e){return e.value===r}))?t.createCompletionDetails(r,"","type",[e.textPart(r)]):void 0;default:return e.Debug.assertNever(i)}}(r,o,_,n,c,d)}},function(e){e[e.Paths=0]="Paths",e[e.Properties=1]="Properties",e[e.Types=2]="Types"}(o||(o={}));var b=/^(\/\/\/\s*=t.pos;case 24:return 197===n;case 58:return 198===n;case 22:return 197===n;case 20:return 287===n||ce(n);case 18:return 255===n;case 29:return 252===n||221===n||253===n||254===n||e.isFunctionLikeKind(n);case 123:return 163===n&&!e.isClassLike(r.parent);case 25:return 160===n||!!r.parent&&197===r.parent.kind;case 122:case 120:case 121:return 160===n&&!e.isConstructorDeclaration(r.parent);case 126:return 265===n||270===n||263===n;case 134:case 146:return!R(t);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 149:return!0;case 41:return e.isFunctionLike(t.parent)&&!e.isMethodDeclaration(t.parent)}if(w(O(t))&&R(t))return!1;if(se(t)&&(!e.isIdentifier(t)||e.isParameterPropertyModifier(O(t))||_e(t)))return!1;switch(O(t)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return e.isPropertyDeclaration(t.parent)}return e.isDeclarationName(t)&&!e.isJsxAttribute(t.parent)&&!(e.isClassLike(t.parent)&&(t!==v||o>v.end))}(t)||function(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return!1}(t)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(275===e.parent.kind)return 275!==N.parent.kind;if(276===e.parent.kind||274===e.parent.kind)return!!e.parent.parent&&273===e.parent.parent.kind}return!1}(t);return n("getCompletionsAtPosition: isCompletionListBlocker: "+(e.timestamp()-r)),a}(h))return void n("Returning an empty list because completion was requested in an invalid position.");var I=h.parent;if(24===h.kind||28===h.kind)switch(S=24===h.kind,E=28===h.kind,I.kind){case 201:if(b=(x=I).expression,(e.isCallExpression(b)||e.isFunctionLike(b))&&b.end===h.pos&&b.getChildCount(i)&&21!==e.last(b.getChildren(i)).kind)return;break;case 157:b=I.left;break;case 256:b=I.name;break;case 195:case 226:b=I;break;default:return}else if(1===i.languageVariant){if(I&&201===I.kind&&(h=I,I=I.parent),_.parent===N)switch(_.kind){case 31:273!==_.parent.kind&&275!==_.parent.kind||(N=_);break;case 43:274===_.parent.kind&&(N=_)}switch(I.kind){case 276:43===h.kind&&(k=!0,N=h);break;case 216:if(!B(I))break;case 274:case 273:case 275:F=!0,29===h.kind&&(T=!0,N=h);break;case 283:19===v.kind&&31===_.kind&&(F=!0);break;case 280:if(I.initializer===v&&v.end0&&(U=function(t,r){if(0===r.length)return t;for(var n=new e.Set,i=new e.Set,a=0,o=r;a"),kind:"class",kindModifiers:void 0,sortText:r.LocationPriority};return{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:!1,optionalReplacementSpan:d(m),entries:[F]}}var P=[];if(_(t,i)){var w=D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,C);!function(t,n,i,a,o){e.getNameTable(t).forEach((function(t,s){if(t!==n){var c=e.unescapeLeadingUnderscores(s);!i.has(c)&&e.isIdentifierText(c,a)&&(i.add(c),o.push({name:c,kind:"warning",kindModifiers:"",sortText:r.JavascriptIdentifiers,isFromUncheckedFile:!0}))}}))}(t,m.pos,w,i.target,P)}else{if(!(f||c&&0!==c.length||0!==v))return;D(c,P,void 0,m,t,n,i.target,a,u,s,y,o.isJsxIdentifierExpected,S,b,x,C)}if(0!==v)for(var I=new e.Set(P.map((function(e){return e.name}))),O=0,M=function(t,r){if(!r)return N(t);var n=t+7+1;return A[n]||(A[n]=N(t).filter((function(t){return!function(e){switch(e){case 125:case 128:case 155:case 131:case 133:case 91:case 154:case 116:case 135:case 117:case 137:case 138:case 139:case 140:case 141:case 144:case 145:case 120:case 121:case 122:case 142:case 147:case 148:case 149:case 151:case 152:return!0;default:return!1}}(e.stringToToken(t.name))})))}(v,!E&&e.isSourceFileJS(t));O=0&&!u(r,n[i],114);i--);return e.forEach(a(t.statement),(function(e){s(t,e)&&u(r,e.getFirstToken(),80,85)})),r}function d(e){var t=c(e);if(t)switch(t.kind){case 237:case 238:case 239:case 235:case 236:return l(t);case 244:return _(t)}}function _(t){var r=[];return u(r,t.getFirstToken(),106),e.forEach(t.caseBlock.clauses,(function(n){u(r,n.getFirstToken(),81,87),e.forEach(a(n),(function(e){s(t,e)&&u(r,e.getFirstToken(),80)}))})),r}function p(t,r){var n=[];(u(n,t.getFirstToken(),110),t.catchClause&&u(n,t.catchClause.getFirstToken(),82),t.finallyBlock)&&u(n,e.findChildOfKind(t,95,r),95);return n}function f(t,r){var n=function(t){for(var r=t;r.parent;){var n=r.parent;if(e.isFunctionBlock(n)||297===n.kind)return n;if(e.isTryStatement(n)&&n.tryBlock===r&&n.catchClause)return r;r=n}}(t);if(n){var a=[];return e.forEach(i(n),(function(t){a.push(e.findChildOfKind(t,108,r))})),e.isFunctionBlock(n)&&e.forEachReturnStatement(n,(function(t){a.push(e.findChildOfKind(t,104,r))})),a}}function g(t,r){var n=e.getContainingFunction(t);if(n){var a=[];return e.forEachReturnStatement(e.cast(n.body,e.isBlock),(function(t){a.push(e.findChildOfKind(t,104,r))})),e.forEach(i(n.body),(function(t){a.push(e.findChildOfKind(t,108,r))})),a}}function m(t){var r=e.getContainingFunction(t);if(r){var n=[];return r.modifiers&&r.modifiers.forEach((function(e){u(n,e,129)})),e.forEachChild(r,(function(t){y(t,(function(t){e.isAwaitExpression(t)&&u(n,t.getFirstToken(),130)}))})),n}}function y(t,r){r(t),e.isFunctionLike(t)||e.isClassLike(t)||e.isInterfaceDeclaration(t)||e.isModuleDeclaration(t)||e.isTypeAliasDeclaration(t)||e.isTypeNode(t)||e.forEachChild(t,(function(e){return y(e,r)}))}t.getDocumentHighlights=function(t,i,a,o,s){var c=e.getTouchingPropertyName(a,o);if(c.parent&&(e.isJsxOpeningElement(c.parent)&&c.parent.tagName===c||e.isJsxClosingElement(c.parent))){var v=c.parent.parent,h=[v.openingElement,v.closingElement].map((function(e){return n(e.tagName,a)}));return[{fileName:a.fileName,highlightSpans:h}]}return function(t,r,n,i,a){var o=new e.Set(a.map((function(e){return e.fileName}))),s=e.FindAllReferences.getReferenceEntriesForNode(t,r,n,a,i,void 0,o);if(!s)return;var c=e.arrayToMultiMap(s.map(e.FindAllReferences.toHighlightSpan),(function(e){return e.fileName}),(function(e){return e.span}));return e.arrayFrom(c.entries(),(function(t){var r=t[0],i=t[1];if(!o.has(r)){e.Debug.assert(n.redirectTargetsMap.has(r));var s=n.getSourceFile(r);r=e.find(a,(function(e){return!!e.redirectInfo&&e.redirectInfo.redirectTarget===s})).fileName,e.Debug.assert(o.has(r))}return{fileName:r,highlightSpans:i}}))}(o,c,t,i,s)||function(t,i){var a=function(t,i){switch(t.kind){case 98:case 90:return e.isIfStatement(t.parent)?function(t,r){for(var i=function(t,r){var n=[];for(;e.isIfStatement(t.parent)&&t.parent.elseStatement===t;)t=t.parent;for(;;){var i=t.getChildren(r);u(n,i[0],98);for(var a=i.length-1;a>=0&&!u(n,i[a],90);a--);if(!t.elseStatement||!e.isIfStatement(t.elseStatement))break;t=t.elseStatement}return n}(t,r),a=[],o=0;o=s.end;d--)if(!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))){l=!1;break}if(l){a.push({fileName:r.fileName,textSpan:e.createTextSpanFromBounds(s.getStart(),c.end),kind:"reference"}),o++;continue}}a.push(n(i[o],r))}return a}(t.parent,i):void 0;case 104:return c(t.parent,e.isReturnStatement,g);case 108:return c(t.parent,e.isThrowStatement,f);case 110:case 82:case 95:return c(82===t.kind?t.parent.parent:t.parent,e.isTryStatement,p);case 106:return c(t.parent,e.isSwitchStatement,_);case 81:case 87:return e.isDefaultClause(t.parent)||e.isCaseClause(t.parent)?c(t.parent.parent.parent,e.isSwitchStatement,_):void 0;case 80:case 85:return c(t.parent,e.isBreakOrContinueStatement,d);case 96:case 114:case 89:return c(t.parent,(function(t){return e.isIterationStatement(t,!0)}),l);case 132:return s(e.isConstructorDeclaration,[132]);case 134:case 146:return s(e.isAccessor,[134,146]);case 130:return c(t.parent,e.isAwaitExpression,m);case 129:return v(m(t));case 124:return v(function(t){var r=e.getContainingFunction(t);if(!r)return;var n=[];return e.forEachChild(r,(function(t){y(t,(function(t){e.isYieldExpression(t)&&u(n,t.getFirstToken(),124)}))})),n}(t));default:return e.isModifierKind(t.kind)&&(e.isDeclaration(t.parent)||e.isVariableStatement(t.parent))?v((a=t.kind,o=t.parent,e.mapDefined(function(t,n){var i=t.parent;switch(i.kind){case 257:case 297:case 230:case 284:case 285:return 128&n&&e.isClassDeclaration(t)?r(t.members,[t]):i.statements;case 166:case 165:case 251:return r(i.parameters,e.isClassLike(i.parent)?i.parent.members:[]);case 252:case 221:case 253:case 177:var a=i.members;if(92&n){var o=e.find(i.members,e.isConstructorDeclaration);if(o)return r(a,o.parameters)}else if(128&n)return r(a,[i]);return a;case 200:return;default:e.Debug.assertNever(i,"Invalid container kind.")}}(o,e.modifierToFlag(a)),(function(t){return e.findModifier(t,a)})))):void 0}var a,o;function s(r,n){return c(t.parent,r,(function(t){return e.mapDefined(t.symbol.declarations,(function(t){return r(t)?e.find(t.getChildren(i),(function(t){return e.contains(n,t.kind)})):void 0}))}))}function c(e,t,r){return t(e)?v(r(e,i)):void 0}function v(e){return e&&e.map((function(e){return n(e,i)}))}}(t,i);return a&&[{fileName:i.fileName,highlightSpans:a}]}(c,a)}}(e.DocumentHighlights||(e.DocumentHighlights={}))}(u||(u={})),function(e){function t(t,n,i){void 0===n&&(n="");var a=new e.Map,o=e.createGetCanonicalFileName(!!t);function s(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!0,o)}function c(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!1,o)}function u(t,r,n,o,s,c,u,l){var d=e.getOrUpdate(a,o,(function(){return new e.Map})),_=d.get(r),p=6===l?100:n.target||1;!_&&i&&((f=i.getDocument(o,r))&&(e.Debug.assert(u),_={sourceFile:f,languageServiceRefCount:0},d.set(r,_)));if(_)_.sourceFile.version!==c&&(_.sourceFile=e.updateLanguageServiceSourceFile(_.sourceFile,s,c,s.getChangeRange(_.sourceFile.scriptSnapshot)),i&&i.setDocument(o,r,_.sourceFile)),u&&_.languageServiceRefCount++;else{var f=e.createLanguageServiceSourceFile(t,s,p,c,!1,l);i&&i.setDocument(o,r,f),_={sourceFile:f,languageServiceRefCount:1},d.set(r,_)}return e.Debug.assert(0!==_.languageServiceRefCount),_.sourceFile}function l(t,r){var n=e.Debug.checkDefined(a.get(r)),i=n.get(t);i.languageServiceRefCount--,e.Debug.assert(i.languageServiceRefCount>=0),0===i.languageServiceRefCount&&n.delete(t)}return{acquireDocument:function(t,i,a,c,u){return s(t,e.toPath(t,n,o),i,r(i),a,c,u)},acquireDocumentWithKey:s,updateDocument:function(t,i,a,s,u){return c(t,e.toPath(t,n,o),i,r(i),a,s,u)},updateDocumentWithKey:c,releaseDocument:function(t,i){return l(e.toPath(t,n,o),r(i))},releaseDocumentWithKey:l,getLanguageServiceRefCounts:function(t){return e.arrayFrom(a.entries(),(function(e){var r=e[0],n=e[1].get(t);return[r,n&&n.languageServiceRefCount]}))},reportStats:function(){var t=e.arrayFrom(a.keys()).filter((function(e){return e&&"_"===e.charAt(0)})).map((function(e){var t=a.get(e),r=[];return t.forEach((function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})})),r.sort((function(e,t){return t.refCount-e.refCount})),{bucket:e,sourceFiles:r}}));return JSON.stringify(t,void 0,2)},getKeyForCompilationSettings:r}}function r(t){return e.sourceFileAffectingCompilerOptions.map((function(r){return e.getCompilerOptionValue(t,r)})).join("|")}e.createDocumentRegistry=function(e,r){return t(e,r)},e.createDocumentRegistryInternal=t}(u||(u={})),function(e){!function(t){function r(t,r){return e.forEach(297===t.kind?t.statements:t.body.statements,(function(t){return r(t)||c(t)&&e.forEach(t.body&&t.body.statements,r)}))}function i(t,n){if(t.externalModuleIndicator||void 0!==t.imports)for(var i=0,a=t.imports;i=0&&!(c>n.end);){var u=c+s;0!==c&&e.isIdentifierPart(a.charCodeAt(c-1),99)||u!==o&&e.isIdentifierPart(a.charCodeAt(u),99)||i.push(c),c=a.indexOf(r,c+s+1)}return i}function b(t,r){var n=t.getSourceFile(),i=r.text,o=e.mapDefined(D(n,i,t),(function(t){return t===r||e.isJumpStatementTarget(t)&&e.getTargetLabel(t,i)===r?a(t):void 0}));return[{definition:{type:1,node:r},references:o}]}function S(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),E(e,e,t,r,n)}function E(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=x(t,r.text,e);a0;o--){x(t,i=n[o])}return[n.length-1,n[0]]}function x(e,t){var r=y(e,t);f(a,r),c.push(a),u.push(o),o=void 0,a=r}function b(){a.children&&(C(a.children,a),N(a.children)),a=c.pop(),o=u.pop()}function S(e,t,r){x(e,r),E(t),b()}function E(t){var r;if(n.throwIfCancellationRequested(),t&&!e.isToken(t))switch(t.kind){case 166:var i=t;S(i,i.body);for(var a=0,s=i.parameters;a0&&(x(U,R),e.forEachChild(U.right,E),b()):e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,R):(x(U,R),S(t,U.right,O.name),b()),void h(L);case 7:case 9:var J=t,K=(R=7===I?J.arguments[0]:J.arguments[0].expression,J.arguments[1]),z=D(t,R);L=z[0];return x(t,z[1]),x(t,e.setTextRange(e.factory.createIdentifier(K.text),K)),E(t.arguments[2]),b(),b(),void h(L);case 5:var U,V=(O=(U=t).left).expression;if(e.isIdentifier(V)&&"prototype"!==e.getElementOrPropertyAccessName(O)&&o&&o.has(V.text))return void(e.isFunctionExpression(U.right)||e.isArrowFunction(U.right)?S(t,U.right,V):e.isBindableStaticAccessExpression(O)&&(x(U,V),S(U.left,U.right,e.getNameOrArgument(O)),b()));break;case 4:case 0:case 8:break;default:e.Debug.assertNever(I)}default:e.hasJSDocNodes(t)&&e.forEach(t.jsDoc,(function(t){e.forEach(t.tags,(function(t){e.isJSDocTypeAlias(t)&&m(t)}))})),e.forEachChild(t,E)}}function C(t,r){var n=new e.Map;e.filterMutate(t,(function(t,i){var a=t.name||e.getNameOfDeclaration(t.node),o=a&&_(a);if(!o)return!0;var s=n.get(o);if(!s)return n.set(o,t),!0;if(s instanceof Array){for(var c=0,u=s;c0)return V(n)}switch(t.kind){case 297:var i=t;return e.isExternalModule(i)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(i.fileName))))+'"':"";case 266:return e.isExportAssignment(t)&&t.isExportEquals?"export=":"default";case 209:case 251:case 208:case 252:case 221:return 512&e.getSyntacticModifierFlags(t)?"default":z(t);case 166:return"constructor";case 170:return"new()";case 169:return"()";case 171:return"[]";default:return""}}function O(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),nameSpan:t.name&&J(t.name),childItems:e.map(t.children,O)}}function M(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:K(t.node),spans:L(t),childItems:e.map(t.children,(function(t){return{text:I(t.node,t.name),kind:e.getNodeKind(t.node),kindModifiers:e.getNodeModifiers(t.node),spans:L(t),childItems:l,indent:0,bolded:!1,grayed:!1}}))||l,indent:t.indent,bolded:!1,grayed:!1}}function L(e){var t=[J(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r0)return V(e.declarationNameToString(t.name));if(e.isVariableDeclaration(r))return V(e.declarationNameToString(r.name));if(e.isBinaryExpression(r)&&62===r.operatorToken.kind)return _(r.left).replace(s,"");if(e.isPropertyAssignment(r))return _(r.name);if(512&e.getSyntacticModifierFlags(t))return"default";if(e.isClassLike(t))return"";if(e.isCallExpression(r)){var n=U(r.expression);if(void 0!==n)return(n=V(n)).length>150?n+" callback":n+"("+V(e.mapDefined(r.arguments,(function(t){return e.isStringLiteralLike(t)?t.getText(i):void 0})).join(", "))+") callback"}return""}function U(t){if(e.isIdentifier(t))return t.text;if(e.isPropertyAccessExpression(t)){var r=U(t.expression),n=t.name.text;return void 0===r?n:r+"."+n}}function V(e){return(e=e.length>150?e.substring(0,150)+"...":e).replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}}(e.NavigationBar||(e.NavigationBar={}))}(u||(u={})),function(e){!function(t){function r(t,r){var n=e.isStringLiteral(r)&&r.text;return e.isString(n)&&e.some(t.moduleAugmentations,(function(t){return e.isStringLiteral(t)&&t.text===n}))}function n(t){return void 0!==t&&e.isStringLiteralLike(t)?t.text:void 0}function i(t){var r;if(0===t.length)return t;var n=function(t){for(var r,n={defaultImports:[],namespaceImports:[],namedImports:[]},i={defaultImports:[],namespaceImports:[],namedImports:[]},a=0,o=t;a0?g[0]:y[0],k=0===C.length?x?void 0:e.factory.createNamedImports(e.emptyArray):0===y.length?e.factory.createNamedImports(C):e.factory.updateNamedImports(y[0].importClause.namedBindings,C);f&&x&&k?(u.push(o(T,x,void 0)),u.push(o(null!==(r=y[0])&&void 0!==r?r:T,void 0,k))):u.push(o(T,x,k))}}else{var A=g[0];u.push(o(A,A.importClause.name,m[0].importClause.namedBindings))}}return u}function a(t){if(0===t.length)return t;var r=function(e){for(var t,r=[],n=[],i=0,a=e;i...")}function d(t){var n=e.createTextSpanFromBounds(t.openingFragment.getStart(r),t.closingFragment.getEnd());return c(n,"code",n,!1,"<>...")}function _(e){if(0!==e.properties.length)return o(e.getStart(r),e.getEnd(),"code")}function p(e){if(14!==e.kind||0!==e.text.length)return o(e.getStart(r),e.getEnd(),"code")}function f(t,r){return void 0===r&&(r=18),g(t,!1,!e.isArrayLiteralExpression(t.parent)&&!e.isCallExpression(t.parent),r)}function g(n,i,a,o,c){void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===o&&(o=18),void 0===c&&(c=18===o?19:23);var u=e.findChildOfKind(t,o,r),l=e.findChildOfKind(t,c,r);return u&&l&&s(u,l,n,r,i,a)}function m(t){return t.length?c(e.createTextSpanFromRange(t),"code"):void 0}}(r,t);d&&i.push(d),u--,e.isCallExpression(r)?(u++,g(r.expression),u--,r.arguments.forEach(g),null===(l=r.typeArguments)||void 0===l||l.forEach(g)):e.isIfStatement(r)&&r.elseStatement&&e.isIfStatement(r.elseStatement)?(g(r.expression),g(r.thenStatement),u++,g(r.elseStatement),u--):r.forEachChild(g),u++}}}(t,n,u),function(t,r){for(var n=[],a=t.getLineStarts(),o=0,s=a;o1&&a.push(o(c,u,"comment"))}}function o(t,r,n){return c(e.createTextSpanFromBounds(t,r),n)}function s(t,r,n,i,a,o){return void 0===a&&(a=!1),void 0===o&&(o=!0),c(e.createTextSpanFromBounds(o?t.getFullStart():t.getStart(i),r.getEnd()),"code",e.createTextSpanFromNode(n,i),a)}function c(e,t,r,n,i){return void 0===r&&(r=e),void 0===n&&(n=!1),void 0===i&&(i="..."),{textSpan:e,kind:t,hintSpan:r,bannerText:i,autoCollapse:n}}}(e.OutliningElementsCollector||(e.OutliningElementsCollector={}))}(u||(u={})),function(e){var t;function r(e,t){return{kind:e,isCaseSensitive:t}}function n(e,t){var r=t.get(e);return r||t.set(e,r=v(e)),r}function i(i,a,o){var s=function(e,t){for(var r=e.length-t.length,n=function(r){if(C(t,(function(t,n){return _(e.charCodeAt(n+r))===t})))return{value:r}},i=0;i<=r;i++){var a=n(i);if("object"==typeof a)return a.value}return-1}(i,a.textLowerCase);if(0===s)return r(a.text.length===i.length?t.exact:t.prefix,e.startsWith(i,a.text));if(a.isLowerCase){if(-1===s)return;for(var d=0,p=n(i,o);d0)return r(t.substring,!0);if(a.characterSpans.length>0){var g=n(i,o),m=!!u(i,g,a,!1)||!u(i,g,a,!0)&&void 0;if(void 0!==m)return r(t.camelCase,m)}}}function a(e,t,r){if(C(t.totalTextChunk.text,(function(e){return 32!==e&&42!==e}))){var n=i(e,t.totalTextChunk,r);if(n)return n}for(var a,s=0,c=t.subWordTextChunks;s=65&&t<=90)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toUpperCase()}function d(t){if(t>=97&&t<=122)return!0;if(t<127||!e.isUnicodeIdentifierStart(t,99))return!1;var r=String.fromCharCode(t);return r===r.toLowerCase()}function _(e){return e>=65&&e<=90?e-65+97:e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function p(e){return e>=48&&e<=57}function f(e){return l(e)||d(e)||p(e)||95===e||36===e}function g(e){for(var t=[],r=0,n=0,i=0;i0&&(t.push(m(e.substr(r,n))),n=0)}return n>0&&t.push(m(e.substr(r,n))),t}function m(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:y(e)}}function y(e){return h(e,!1)}function v(e){return h(e,!0)}function h(t,r){for(var n=[],i=0,a=1;at.length)return;for(var c=n.length-2,u=t.length-1;c>=0;c-=1,u-=1)s=o(s,a(t[u],n[c],i));return s}(t,i,n,r)},getMatchForLastSegmentOfPattern:function(t){return a(t,e.last(n),r)},patternContainsDots:n.length>1}},e.breakIntoCharacterSpans=y,e.breakIntoWordSpans=v}(u||(u={})),function(e){e.preProcessFile=function(t,r,n){void 0===r&&(r=!0),void 0===n&&(n=!1);var i,a,o,s={languageVersion:1,pragmas:void 0,checkJsDirective:void 0,referencedFiles:[],typeReferenceDirectives:[],libReferenceDirectives:[],amdDependencies:[],hasNoDefaultLib:void 0,moduleName:void 0},c=[],u=0,l=!1;function d(){return a=o,18===(o=e.scanner.scan())?u++:19===o&&u--,o}function _(){var t=e.scanner.getTokenValue(),r=e.scanner.getTokenPos();return{fileName:t,pos:r,end:r+t.length}}function p(){c.push(_()),f()}function f(){0===u&&(l=!0)}function g(){var t=e.scanner.getToken();return 133===t&&(139===(t=d())&&10===(t=d())&&(i||(i=[]),i.push({ref:_(),depth:u})),!0)}function m(){if(24===a)return!1;var t=e.scanner.getToken();if(99===t){if(20===(t=d())){if(10===(t=d())||14===t)return p(),!0}else{if(10===t)return p(),!0;149===t&&e.scanner.lookAhead((function(){var t=e.scanner.scan();return 153!==t&&(41===t||18===t||78===t||e.isKeyword(t))}))&&(t=d());if(78===t||e.isKeyword(t))if(153===(t=d())){if(10===(t=d()))return p(),!0}else if(62===t){if(v(!0))return!0}else{if(27!==t)return!0;t=d()}if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else 41===t&&126===(t=d())&&(78===(t=d())||e.isKeyword(t))&&153===(t=d())&&10===(t=d())&&p()}return!0}return!1}function y(){var t=e.scanner.getToken();if(92===t){if(f(),149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 41===t||18===t}))&&(t=d());if(18===t){for(t=d();19!==t&&1!==t;)t=d();19===t&&153===(t=d())&&10===(t=d())&&p()}else if(41===t)153===(t=d())&&10===(t=d())&&p();else if(99===t){if(149===(t=d()))e.scanner.lookAhead((function(){var t=e.scanner.scan();return 78===t||e.isKeyword(t)}))&&(t=d());if((78===t||e.isKeyword(t))&&62===(t=d())&&v(!0))return!0}return!0}return!1}function v(t,r){void 0===r&&(r=!1);var n=t?d():e.scanner.getToken();return 143===n&&(20===(n=d())&&(10===(n=d())||r&&14===n)&&p(),!0)}function h(){var t=e.scanner.getToken();if(78===t&&"define"===e.scanner.getTokenValue()){if(20!==(t=d()))return!0;if(10===(t=d())||14===t){if(27!==(t=d()))return!0;t=d()}if(22!==t)return!0;for(t=d();23!==t&&1!==t;)10!==t&&14!==t||p(),t=d();return!0}return!1}if(r&&function(){for(e.scanner.setText(t),d();1!==e.scanner.getToken();)g()||m()||y()||n&&(v(!1,!0)||h())||d();e.scanner.setText(void 0)}(),e.processCommentPragmas(s,t),e.processPragmasIntoFields(s,e.noop),l){if(i)for(var D=0,x=i;Dt)break e;if(r(i,t,m)){if(e.isBlock(m)||e.isTemplateSpan(m)||e.isTemplateHead(m)||e.isTemplateTail(m)||g&&e.isTemplateHead(g)||e.isVariableDeclarationList(m)&&e.isVariableStatement(_)||e.isSyntaxList(m)&&e.isVariableDeclarationList(_)||e.isVariableDeclaration(m)&&e.isSyntaxList(_)&&1===p.length||e.isJSDocTypeExpression(m)||e.isJSDocSignature(m)||e.isJSDocTypeLiteral(m)){_=m;break}if(e.isTemplateSpan(_)&&y&&e.isTemplateMiddleOrTemplateTail(y))x(m.getFullStart()-"${".length,y.getStart()+"}".length);var v=e.isSyntaxList(m)&&(c=void 0,18===(c=(s=g)&&s.kind)||22===c||20===c||275===c)&&u(y)&&!e.positionsAreOnSameLine(g.getStart(),y.getStart(),i),h=v?g.getEnd():m.getStart(),D=v?y.getStart():l(i,m);e.hasJSDocNodes(m)&&(null===(o=m.jsDoc)||void 0===o?void 0:o.length)&&x(e.first(m.jsDoc).getStart(),D),x(h,D),(e.isStringLiteral(m)||e.isTemplateLiteral(m))&&x(h+1,D-1),_=m;break}if(f===p.length-1)break e}}return d;function x(r,i){if(r!==i){var a=e.createTextSpanFromBounds(r,i);(!d||!e.textSpansEqual(a,d.textSpan)&&e.textSpanIntersectsWithPosition(a,t))&&(d=n({textSpan:a},d&&{parent:d}))}}};var i=e.or(e.isImportDeclaration,e.isImportEqualsDeclaration);function a(t){if(e.isSourceFile(t))return o(t.getChildAt(0).getChildren(),i);if(e.isMappedTypeNode(t)){var r=t.getChildren(),n=r[0],a=r.slice(1),u=e.Debug.checkDefined(a.pop());e.Debug.assertEqual(n.kind,18),e.Debug.assertEqual(u.kind,19);var l=o(a,(function(e){return e===t.readonlyToken||142===e.kind||e===t.questionToken||57===e.kind}));return[n,c(s(o(l,(function(e){var t=e.kind;return 22===t||159===t||23===t})),(function(e){return 58===e.kind}))),u]}if(e.isPropertySignature(t))return s(a=o(t.getChildren(),(function(r){return r===t.name||e.contains(t.modifiers,r)})),(function(e){return 58===e.kind}));if(e.isParameter(t)){var d=o(t.getChildren(),(function(e){return e===t.dotDotDotToken||e===t.name}));return s(o(d,(function(e){return e===d[0]||e===t.questionToken})),(function(e){return 62===e.kind}))}return e.isBindingElement(t)?s(t.getChildren(),(function(e){return 62===e.kind})):t.getChildren()}function o(e,t){for(var r,n=[],i=0,a=e;i0&&27===e.last(r).kind&&n++;return n}(i);return 0!==a&&e.Debug.assertLessThan(a,o),{list:i,argumentIndex:a,argumentCount:o,argumentsSpan:function(t,r){var n=t.getFullStart(),i=e.skipTrivia(r.text,t.getEnd(),!1);return e.createTextSpan(n,i-n)}(i,r)}}}function s(t,r,n){var i=t.parent;if(e.isCallOrNewExpression(i)){var a=i,s=o(t,n);if(!s)return;var c=s.list,u=s.argumentIndex,l=s.argumentCount,d=s.argumentsSpan;return{isTypeParameterList:!!i.typeArguments&&i.typeArguments.pos===c.pos,invocation:{kind:0,node:a},argumentsSpan:d,argumentIndex:u,argumentCount:l}}if(e.isNoSubstitutionTemplateLiteral(t)&&e.isTaggedTemplateExpression(i))return e.isInsideTemplateLiteral(t,r,n)?_(i,0,n):void 0;if(e.isTemplateHead(t)&&205===i.parent.kind){var p=i,f=p.parent;return e.Debug.assert(218===p.kind),_(f,u=e.isInsideTemplateLiteral(t,r,n)?0:1,n)}if(e.isTemplateSpan(i)&&e.isTaggedTemplateExpression(i.parent.parent)){var g=i;f=i.parent.parent;if(e.isTemplateTail(t)&&!e.isInsideTemplateLiteral(t,r,n))return;return _(f,u=function(t,r,n,i){if(e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node."),e.isTemplateLiteralToken(r))return e.isInsideTemplateLiteral(r,n,i)?0:t+2;return t+1}(g.parent.templateSpans.indexOf(g),t,r,n),n)}if(e.isJsxOpeningLikeElement(i)){var m=i.attributes.pos,y=e.skipTrivia(n.text,i.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:i},argumentsSpan:e.createTextSpan(m,y-m),argumentIndex:0,argumentCount:1}}var v=e.getPossibleTypeArgumentsInfo(t,n);if(v){var h=v.called,D=v.nTypeArguments;return{isTypeParameterList:!0,invocation:a={kind:1,called:h},argumentsSpan:d=e.createTextSpanFromBounds(h.getStart(n),t.end),argumentIndex:D,argumentCount:D+1}}}function c(t){return e.isBinaryExpression(t.parent)?c(t.parent):t}function u(t){return e.isBinaryExpression(t.left)?u(t.left)+1:2}function l(t){return"__type"===t.name&&e.firstDefined(t.declarations,(function(t){return e.isFunctionTypeNode(t)?t.parent.symbol:void 0}))||t}function d(e,t){for(var r=0,n=0,i=e.getChildren();n=0&&i.length>a+1),i[a+1]}function g(t){return 0===t.kind?e.getInvokedExpression(t.node):t.called}function m(e){return 0===e.kind?e.node:1===e.kind?e.called:e.node}!function(e){e[e.Call=0]="Call",e[e.TypeArgs=1]="TypeArgs",e[e.Contextual=2]="Contextual"}(n||(n={})),t.getSignatureHelpItems=function(t,r,n,i,d){var _=t.getTypeChecker(),p=e.findTokenOnLeftOfPosition(r,n);if(p){var f=!!i&&"characterTyped"===i.kind;if(!f||!e.isInString(r,n,p)&&!e.isInComment(r,n)){var y=!!i&&"invoked"===i.kind,D=function(t,r,n,i,a){for(var d=function(t){e.Debug.assert(e.rangeContainsRange(t.parent,t),"Not a subspan",(function(){return"Child: "+e.Debug.formatSyntaxKind(t.kind)+", parent: "+e.Debug.formatSyntaxKind(t.parent.kind)}));var a=function(t,r,n,i){return function(t,r,n,i){var a=function(t,r,n){if(20!==t.kind&&27!==t.kind)return;var i=t.parent;switch(i.kind){case 207:case 165:case 208:case 209:var a=o(t,r);if(!a)return;var s=a.argumentIndex,l=a.argumentCount,d=a.argumentsSpan,_=e.isMethodDeclaration(i)?n.getContextualTypeForObjectLiteralElement(i):n.getContextualType(i);return _&&{contextualType:_,argumentIndex:s,argumentCount:l,argumentsSpan:d};case 216:var p=c(i),f=n.getContextualType(p),g=20===t.kind?0:u(i)-1,m=u(p);return f&&{contextualType:f,argumentIndex:g,argumentCount:m,argumentsSpan:e.createTextSpanFromNode(i)};default:return}}(t,n,i);if(!a)return;var s=a.contextualType,d=a.argumentIndex,_=a.argumentCount,p=a.argumentsSpan,f=s.getNonNullableType(),g=f.getCallSignatures();return 1!==g.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:e.first(g),node:t,symbol:l(f.symbol)},argumentsSpan:p,argumentIndex:d,argumentCount:_}}(t,0,n,i)||s(t,r,n)}(t,r,n,i);if(a)return{value:a}},_=t;!e.isSourceFile(_)&&(a||!e.isBlock(_));_=_.parent){var p=d(_);if("object"==typeof p)return p.value}return}(p,n,r,_,y);if(D){d.throwIfCancellationRequested();var x=function(t,r,n,i,o){var s=t.invocation,c=t.argumentCount;switch(s.kind){case 0:if(o&&!function(t,r,n){if(!e.isCallOrNewExpression(r))return!1;var i=r.getChildren(n);switch(t.kind){case 20:return e.contains(i,t);case 27:var o=e.findContainingList(t);return!!o&&e.contains(i,o);case 29:return a(t,n,r.expression);default:return!1}}(i,s.node,n))return;var u=[],l=r.getResolvedSignatureForSignatureHelp(s.node,u,c);return 0===u.length?void 0:{kind:0,candidates:u,resolvedSignature:l};case 1:var d=s.called;if(o&&!a(i,n,e.isIdentifier(d)?d.parent:d))return;if(0!==(u=e.getPossibleGenericSignatures(d,c,r)).length)return{kind:0,candidates:u,resolvedSignature:e.first(u)};var _=r.getSymbolAtLocation(d);return _&&{kind:1,symbol:_};case 2:return{kind:0,candidates:[s.signature],resolvedSignature:s.signature};default:return e.Debug.assertNever(s)}}(D,_,r,p,f);return d.throwIfCancellationRequested(),x?_.runWithCancellationToken(d,(function(e){return 0===x.kind?v(x.candidates,x.resolvedSignature,D,r,e):function(e,t,r,n){var i=t.argumentCount,a=t.argumentsSpan,o=t.invocation,s=t.argumentIndex,c=n.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(e);return c?{items:[h(e,c,n,m(o),r)],applicableSpan:a,selectedItemIndex:0,argumentIndex:s,argumentCount:i}:void 0}(x.symbol,D,r,e)})):e.isSourceFileJS(r)?function(t,r,n){if(2===t.invocation.kind)return;var i=g(t.invocation),a=e.isPropertyAccessExpression(i)?i.name.text:void 0,o=r.getTypeChecker();return void 0===a?void 0:e.firstDefined(r.getSourceFiles(),(function(r){return e.firstDefined(r.getNamedDeclarations().get(a),(function(e){var i=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),a=i&&i.getCallSignatures();if(a&&a.length)return o.runWithCancellationToken(n,(function(e){return v(a,a[0],t,r,e,!0)}))}))}))}(D,t,d):void 0}}}},function(e){e[e.Candidate=0]="Candidate",e[e.Type=1]="Type"}(i||(i={})),t.getArgumentInfoForCompletions=function(e,t,r){var n=s(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var y=70246400;function v(t,n,i,a,o,s){var c,u=i.isTypeParameterList,l=i.argumentCount,d=i.argumentsSpan,_=i.invocation,p=i.argumentIndex,f=m(_),y=2===_.kind?_.symbol:o.getSymbolAtLocation(g(_))||s&&(null===(c=n.declaration)||void 0===c?void 0:c.symbol),v=y?e.symbolToDisplayParts(o,y,s?a:void 0,void 0):e.emptyArray,h=e.map(t,(function(t){return function(t,n,i,a,o,s){var c=(i?x:b)(t,a,o,s);return e.map(c,(function(i){var s=i.isVariadic,c=i.parameters,u=i.prefix,l=i.suffix,d=r(n,u),_=r(l,function(t,r,n){return e.mapToDisplayParts((function(e){e.writePunctuation(":"),e.writeSpace(" ");var i=n.getTypePredicateOfSignature(t);i?n.writeTypePredicate(i,r,void 0,e):n.writeType(n.getReturnTypeOfSignature(t),r,void 0,e)}))}(t,o,a)),p=t.getDocumentationComment(a),f=t.getJsDocTags();return{isVariadic:s,prefixDisplayParts:d,suffixDisplayParts:_,separatorDisplayParts:D,parameters:c,documentation:p,tags:f}}))}(t,v,u,o,f,a)}));0!==p&&e.Debug.assertLessThan(p,l);for(var S=0,E=0,C=0;C1))for(var k=0,A=0,F=T;A=l){S=E+k;break}k++}E+=T.length}return e.Debug.assert(-1!==S),{items:e.flatMapToMutable(h,e.identity),applicableSpan:d,selectedItemIndex:S,argumentIndex:p,argumentCount:l}}function h(t,n,i,a,o){var s=e.symbolToDisplayParts(i,t),c=e.createPrinter({removeComments:!0}),u=n.map((function(e){return S(e,i,a,o,c)})),l=t.getDocumentationComment(i),d=t.getJsDocTags();return{isVariadic:!1,prefixDisplayParts:r(s,[e.punctuationPart(29)]),suffixDisplayParts:[e.punctuationPart(31)],separatorDisplayParts:D,parameters:u,documentation:l,tags:d}}var D=[e.punctuationPart(27),e.spacePart()];function x(t,n,i,a){var o=(t.target||t).typeParameters,s=e.createPrinter({removeComments:!0}),c=(o||e.emptyArray).map((function(e){return S(e,n,i,a,s)})),u=t.thisParameter?[n.symbolToParameterDeclaration(t.thisParameter,i,y)]:[];return n.getExpandedParameters(t).map((function(t){var o=e.factory.createNodeArray(r(u,e.map(t,(function(e){return n.symbolToParameterDeclaration(e,i,y)})))),l=e.mapToDisplayParts((function(e){s.writeList(2576,o,a,e)}));return{isVariadic:!1,parameters:c,prefix:[e.punctuationPart(29)],suffix:r([e.punctuationPart(31)],l)}}))}function b(t,n,i,a){var o=n.hasEffectiveRestParameter(t),s=e.createPrinter({removeComments:!0}),c=e.mapToDisplayParts((function(r){if(t.typeParameters&&t.typeParameters.length){var o=e.factory.createNodeArray(t.typeParameters.map((function(e){return n.typeParameterToDeclaration(e,i,y)})));s.writeList(53776,o,a,r)}})),u=n.getExpandedParameters(t);return u.map((function(t){return{isVariadic:o&&(1===u.length||!!(32768&t[t.length-1].checkFlags)),parameters:t.map((function(t){return function(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.symbolToParameterDeclaration(t,n,y);a.writeNode(4,o,i,e)})),s=r.isOptionalParameter(t.valueDeclaration);return{name:t.name,documentation:t.getDocumentationComment(r),displayParts:o,isOptional:s}}(t,n,i,a,s)})),prefix:r(c,[e.punctuationPart(20)]),suffix:[e.punctuationPart(21)]}}))}function S(t,r,n,i,a){var o=e.mapToDisplayParts((function(e){var o=r.typeParameterToDeclaration(t,n,y);a.writeNode(4,o,i,e)}));return{name:t.symbol.name,documentation:t.symbol.getDocumentationComment(r),displayParts:o,isOptional:!1}}}(e.SignatureHelp||(e.SignatureHelp={}))}(u||(u={})),function(e){var t=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function r(t,r,n){var i=e.tryParseRawSourceMap(r);if(i&&i.sources&&i.file&&i.mappings&&(!i.sourcesContent||!i.sourcesContent.some(e.isString)))return e.createDocumentPositionMapper(t,i,n)}e.getSourceMapper=function(t){var r=e.createGetCanonicalFileName(t.useCaseSensitiveFileNames()),n=t.getCurrentDirectory(),i=new e.Map,a=new e.Map;return{tryGetSourcePosition:function t(r){if(!e.isDeclarationFileName(r.fileName))return;if(!c(r.fileName))return;var n=s(r.fileName).getSourcePosition(r);return n&&n!==r?t(n)||n:void 0},tryGetGeneratedPosition:function(i){if(e.isDeclarationFileName(i.fileName))return;var a=c(i.fileName);if(!a)return;var o=t.getProgram();if(o.isSourceOfProjectReferenceRedirect(a.fileName))return;var u=o.getCompilerOptions(),l=e.outFile(u),d=l?e.removeFileExtension(l)+".d.ts":e.getDeclarationEmitOutputFilePathWorker(i.fileName,o.getCompilerOptions(),n,o.getCommonSourceDirectory(),r);if(void 0===d)return;var _=s(d,i.fileName).getGeneratedPosition(i);return _===i?void 0:_},toLineColumnOffset:function(e,t){return l(e).getLineAndCharacterOfPosition(t)},clearCache:function(){i.clear(),a.clear()}};function o(t){return e.toPath(t,n,r)}function s(n,i){var s,c=o(n),u=a.get(c);if(u)return u;if(t.getDocumentPositionMapper)s=t.getDocumentPositionMapper(n,i);else if(t.readFile){var d=l(n);s=d&&e.getDocumentPositionMapper({getSourceFileLike:l,getCanonicalFileName:r,log:function(e){return t.log(e)}},n,e.getLineInfo(d.text,e.getLineStarts(d)),(function(e){return!t.fileExists||t.fileExists(e)?t.readFile(e):void 0}))}return a.set(c,s||e.identitySourceMapConsumer),s||e.identitySourceMapConsumer}function c(e){var r=t.getProgram();if(r){var n=o(e),i=r.getSourceFileByPath(n);return i&&i.resolvedPath===n?i:void 0}}function u(r){var n=o(r),a=i.get(n);if(void 0!==a)return a||void 0;if(t.readFile&&(!t.fileExists||t.fileExists(n))){var s=t.readFile(n),c=!!s&&function(t,r){return{text:t,lineMap:r,getLineAndCharacterOfPosition:function(t){return e.computeLineAndCharacterOfPosition(e.getLineStarts(this),t)}}}(s);return i.set(n,c),c||void 0}i.set(n,!1)}function l(e){return t.getSourceFileLike?t.getSourceFileLike(e):c(e)||u(e)}},e.getDocumentPositionMapper=function(n,i,a,o){var s=e.tryGetSourceMappingURL(a);if(s){var c=t.exec(s);if(c){if(c[1]){var u=c[1];return r(n,e.base64decode(e.sys,u),i)}s=void 0}}var l=[];s&&l.push(s),l.push(i+".map");for(var d=s&&e.getNormalizedAbsolutePath(s,e.getDirectoryPath(i)),_=0,p=l;_2)&&(t.arguments.length<2||e.some(t.arguments,(function(t){return 103===t.kind||e.isIdentifier(t)&&"undefined"===t.text})))}(t)||e.hasPropertyAccessExpressionWithName(t,"catch"))}function s(e){switch(e.kind){case 251:case 208:case 209:t.set(c(e),!0);case 103:case 78:return!0;default:return!1}}function c(e){return e.pos.toString()+":"+e.end.toString()}e.computeSuggestionDiagnostics=function(a,o,s){o.getSemanticDiagnostics(a,s);var u,l=[],d=o.getTypeChecker();a.commonJsModuleIndicator&&(e.programContainsEs6Modules(o)||e.compilerOptionsIndicateEs6Modules(o.getCompilerOptions()))&&function(t){return t.statements.some((function(t){switch(t.kind){case 232:return t.declarationList.declarations.some((function(t){return!!t.initializer&&e.isRequireCall(r(t.initializer),!0)}));case 233:var n=t.expression;if(!e.isBinaryExpression(n))return e.isRequireCall(n,!0);var i=e.getAssignmentDeclarationKind(n);return 1===i||2===i;default:return!1}}))}(a)&&l.push(e.createDiagnosticForNode((u=a.commonJsModuleIndicator,e.isBinaryExpression(u)?u.left:u),e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module));var _=e.isSourceFileJS(a);if(t.clear(),function r(n){if(_)(function(t,r){var n,i,a,o;if(208===t.kind){if(e.isVariableDeclaration(t.parent)&&(null===(n=t.symbol.members)||void 0===n?void 0:n.size))return!0;var s=r.getSymbolOfExpando(t,!1);return!(!s||!(null===(i=s.exports)||void 0===i?void 0:i.size)&&!(null===(a=s.members)||void 0===a?void 0:a.size))}if(251===t.kind)return!!(null===(o=t.symbol.members)||void 0===o?void 0:o.size);return!1})(n,d)&&l.push(e.createDiagnosticForNode(e.isVariableDeclaration(n.parent)?n.parent.name:n,e.Diagnostics.This_constructor_function_may_be_converted_to_a_class_declaration));else{if(e.isVariableStatement(n)&&n.parent===a&&2&n.declarationList.flags&&1===n.declarationList.declarations.length){var o=n.declarationList.declarations[0].initializer;o&&e.isRequireCall(o,!0)&&l.push(e.createDiagnosticForNode(o,e.Diagnostics.require_call_may_be_converted_to_an_import))}e.codefix.parameterShouldGetTypeFromJSDoc(n)&&l.push(e.createDiagnosticForNode(n.name||n,e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types))}e.isFunctionLikeDeclaration(n)&&function(r,n,a){(function(t,r){return!e.isAsyncFunction(t)&&t.body&&e.isBlock(t.body)&&(n=t.body,!!e.forEachReturnStatement(n,i))&&function(e,t){var r=t.getTypeAtLocation(e),n=t.getSignaturesOfType(r,0),i=n.length?t.getReturnTypeOfSignature(n[0]):void 0;return!!i&&!!t.getPromisedTypeOfPromise(i)}(t,r);var n})(r,n)&&!t.has(c(r))&&a.push(e.createDiagnosticForNode(!r.name&&e.isVariableDeclaration(r.parent)&&e.isIdentifier(r.parent.name)?r.parent.name:r,e.Diagnostics.This_may_be_converted_to_an_async_function))}(n,d,l);n.forEachChild(r)}(a),e.getAllowSyntheticDefaultImports(o.getCompilerOptions()))for(var p=0,f=a.imports;p0?e.getNodeModifiers(t.declarations[0]):"",n=t&&16777216&t.flags?"optional":"";return r&&n?r+","+n:r||n},t.getSymbolDisplayPartsDocumentationAndSymbolKind=function t(a,o,s,c,u,l,d){void 0===l&&(l=e.getMeaningFromLocation(u));var _,p,f,g,m=[],y=[],v=[],h=e.getCombinedLocalAndExportSymbolFlags(o),D=1&l?i(a,o,u):"",x=!1,b=107===u.kind&&e.isInExpressionContext(u),S=!1;if(107===u.kind&&!b)return{displayParts:[e.keywordPart(107)],documentation:[],symbolKind:"primitive type",tags:void 0};if(""!==D||32&h||2097152&h){"getter"!==D&&"setter"!==D||(D="property");var E=void 0;if(_=b?a.getTypeAtLocation(u):a.getTypeOfSymbolAtLocation(o.exportSymbol||o,u),u.parent&&201===u.parent.kind){var C=u.parent.name;(C===u||C&&0===C.getFullWidth())&&(u=u.parent)}var T=void 0;if(e.isCallOrNewExpression(u)?T=u:(e.isCallExpressionTarget(u)||e.isNewExpressionTarget(u)||u.parent&&(e.isJsxOpeningLikeElement(u.parent)||e.isTaggedTemplateExpression(u.parent))&&e.isFunctionLike(o.valueDeclaration))&&(T=u.parent),T){E=a.getResolvedSignature(T);var k=204===T.kind||e.isCallExpression(T)&&105===T.expression.kind,A=k?_.getConstructSignatures():_.getCallSignatures();if(e.contains(A,E.target)||e.contains(A,E)||(E=A.length?A[0]:void 0),E){switch(k&&32&h?(D="constructor",X(_.symbol,D)):2097152&h?(Q(D="alias"),m.push(e.spacePart()),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),Y(o)):X(o,D),D){case"JSX attribute":case"property":case"var":case"const":case"let":case"parameter":case"local var":m.push(e.punctuationPart(58)),m.push(e.spacePart()),16&e.getObjectFlags(_)||!_.symbol||(e.addRange(m,e.symbolToDisplayParts(a,_.symbol,c,void 0,5)),m.push(e.lineBreakPart())),k&&(m.push(e.keywordPart(102)),m.push(e.spacePart())),$(E,A,262144);break;default:$(E,A)}x=!0,S=A.length>1}}else if(e.isNameOfFunctionDeclaration(u)&&!(98304&h)||132===u.kind&&166===u.parent.kind){var F=u.parent;if(o.declarations&&e.find(o.declarations,(function(e){return e===(132===u.kind?F.parent:F)}))){A=166===F.kind?_.getNonNullableType().getConstructSignatures():_.getNonNullableType().getCallSignatures();E=a.isImplementationOfOverload(F)?A[0]:a.getSignatureFromDeclaration(F),166===F.kind?(D="constructor",X(_.symbol,D)):X(169!==F.kind||2048&_.symbol.flags||4096&_.symbol.flags?o:_.symbol,D),$(E,A),x=!0,S=A.length>1}}}if(32&h&&!x&&!b&&(H(),e.getDeclarationOfKind(o,221)?Q("local class"):m.push(e.keywordPart(83)),m.push(e.spacePart()),Y(o),Z(o,s)),64&h&&2&l&&(W(),m.push(e.keywordPart(117)),m.push(e.spacePart()),Y(o),Z(o,s)),524288&h&&2&l&&(W(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(o),Z(o,s),m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),e.addRange(m,e.typeToDisplayParts(a,a.getDeclaredTypeOfSymbol(o),c,8388608))),384&h&&(W(),e.some(o.declarations,(function(t){return e.isEnumDeclaration(t)&&e.isEnumConst(t)}))&&(m.push(e.keywordPart(84)),m.push(e.spacePart())),m.push(e.keywordPart(91)),m.push(e.spacePart()),Y(o)),1536&h&&!b){W();var N=(U=e.getDeclarationOfKind(o,256))&&U.name&&78===U.name.kind;m.push(e.keywordPart(N?140:139)),m.push(e.spacePart()),Y(o)}if(262144&h&&2&l)if(W(),m.push(e.punctuationPart(20)),m.push(e.textPart("type parameter")),m.push(e.punctuationPart(21)),m.push(e.spacePart()),Y(o),o.parent)G(),Y(o.parent,c),Z(o.parent,c);else{var P=e.getDeclarationOfKind(o,159);if(void 0===P)return e.Debug.fail();if(U=P.parent)if(e.isFunctionLikeKind(U.kind)){G();E=a.getSignatureFromDeclaration(U);170===U.kind?(m.push(e.keywordPart(102)),m.push(e.spacePart())):169!==U.kind&&U.name&&Y(U.symbol),e.addRange(m,e.signatureToDisplayParts(a,E,s,32))}else 254===U.kind&&(G(),m.push(e.keywordPart(149)),m.push(e.spacePart()),Y(U.symbol),Z(U.symbol,s))}if(8&h&&(D="enum member",X(o,"enum member"),291===(U=o.declarations[0]).kind)){var w=a.getConstantValue(U);void 0!==w&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.displayPart(e.getTextOfConstantValue(w),"number"==typeof w?e.SymbolDisplayPartKind.numericLiteral:e.SymbolDisplayPartKind.stringLiteral)))}if(2097152&o.flags){if(W(),!x){var I=a.getAliasedSymbol(o);if(I!==o&&I.declarations&&I.declarations.length>0){var O=I.declarations[0],M=e.getNameOfDeclaration(O);if(M){var L=e.isModuleWithStringLiteralName(O)&&e.hasSyntacticModifier(O,2),R="default"!==o.name&&!L,B=t(a,I,e.getSourceFileOfNode(O),O,M,l,R?o:I);m.push.apply(m,B.displayParts),m.push(e.lineBreakPart()),f=B.documentation,g=B.tags}}}switch(o.declarations[0].kind){case 259:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(140));break;case 266:m.push(e.keywordPart(92)),m.push(e.spacePart()),m.push(e.keywordPart(o.declarations[0].isExportEquals?62:87));break;case 270:m.push(e.keywordPart(92));break;default:m.push(e.keywordPart(99))}m.push(e.spacePart()),Y(o),e.forEach(o.declarations,(function(t){if(260===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r))m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),m.push(e.keywordPart(143)),m.push(e.punctuationPart(20)),m.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),e.SymbolDisplayPartKind.stringLiteral)),m.push(e.punctuationPart(21));else{var n=a.getSymbolAtLocation(r.moduleReference);n&&(m.push(e.spacePart()),m.push(e.operatorPart(62)),m.push(e.spacePart()),Y(n,c))}return!0}}))}if(!x)if(""!==D){if(_)if(b?(W(),m.push(e.keywordPart(107))):X(o,D),"property"===D||"JSX attribute"===D||3&h||"local var"===D||b){if(m.push(e.punctuationPart(58)),m.push(e.spacePart()),_.symbol&&262144&_.symbol.flags){var j=e.mapToDisplayParts((function(t){var n=a.typeParameterToDeclaration(_,c,r);q().writeNode(4,n,e.getSourceFileOfNode(e.getParseTreeNode(c)),t)}));e.addRange(m,j)}else e.addRange(m,e.typeToDisplayParts(a,_,c));if(o.target&&o.target.tupleLabelDeclaration){var J=o.target.tupleLabelDeclaration;e.Debug.assertNode(J.name,e.isIdentifier),m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.textPart(e.idText(J.name))),m.push(e.punctuationPart(21))}}else if(16&h||8192&h||16384&h||131072&h||98304&h||"method"===D){(A=_.getNonNullableType().getCallSignatures()).length&&($(A[0],A),S=A.length>1)}}else D=n(a,o,u);if(0!==y.length||S||(y=o.getContextualDocumentationComment(c,a)),0===y.length&&4&h&&o.parent&&e.forEach(o.parent.declarations,(function(e){return 297===e.kind})))for(var K=0,z=o.declarations;K0))break}}return 0!==v.length||S||(v=o.getJsDocTags()),0===y.length&&f&&(y=f),0===v.length&&g&&(v=g),{displayParts:m,documentation:y,symbolKind:D,tags:0===v.length?void 0:v};function q(){return p||(p=e.createPrinter({removeComments:!0})),p}function W(){m.length&&m.push(e.lineBreakPart()),H()}function H(){d&&(Q("alias"),m.push(e.spacePart()))}function G(){m.push(e.spacePart()),m.push(e.keywordPart(100)),m.push(e.spacePart())}function Y(t,r){d&&t===o&&(t=d);var n=e.symbolToDisplayParts(a,t,r||s,void 0,7);e.addRange(m,n),16777216&o.flags&&m.push(e.punctuationPart(57))}function X(t,r){W(),r&&(Q(r),t&&!e.some(t.declarations,(function(t){return e.isArrowFunction(t)||(e.isFunctionExpression(t)||e.isClassExpression(t))&&!t.name}))&&(m.push(e.spacePart()),Y(t)))}function Q(t){switch(t){case"var":case"function":case"let":case"const":case"constructor":return void m.push(e.textOrKeywordPart(t));default:return m.push(e.punctuationPart(20)),m.push(e.textOrKeywordPart(t)),void m.push(e.punctuationPart(21))}}function $(t,r,n){void 0===n&&(n=0),e.addRange(m,e.signatureToDisplayParts(a,t,c,32|n)),r.length>1&&(m.push(e.spacePart()),m.push(e.punctuationPart(20)),m.push(e.operatorPart(39)),m.push(e.displayPart((r.length-1).toString(),e.SymbolDisplayPartKind.numericLiteral)),m.push(e.spacePart()),m.push(e.textPart(2===r.length?"overload":"overloads")),m.push(e.punctuationPart(21))),y=t.getDocumentationComment(a),v=t.getJsDocTags(),r.length>1&&0===y.length&&0===v.length&&(y=r[0].getDocumentationComment(a),v=r[0].getJsDocTags())}function Z(t,n){var i=e.mapToDisplayParts((function(i){var o=a.symbolToTypeParameterDeclarations(t,n,r);q().writeList(53776,o,e.getSourceFileOfNode(e.getParseTreeNode(n)),i)}));e.addRange(m,i)}}}(e.SymbolDisplay||(e.SymbolDisplay={}))}(u||(u={})),function(e){function t(t,r){var i=[],a=r.compilerOptions?n(r.compilerOptions,i):{},o=e.getDefaultCompilerOptions();for(var s in o)e.hasProperty(o,s)&&void 0===a[s]&&(a[s]=o[s]);for(var c=0,u=e.transpileOptionValueCompilerOptions;c>=5;return r}(p,_),0,n),a[c]=(d=1+((u=p)>>(l=_)&s),e.Debug.assert((d&s)===d,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),u&~(s<=r.pos?t.pos:a.end:t.pos}(o,r,n),r.end,(function(s){return _(r,o,t.SmartIndenter.getIndentationForNode(o,r,n,i.options),function(e,r,n){for(var i,a=-1;e;){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(r,e,i,n))return r.indentSize;a=o,i=e,e=e.parent}return 0}(o,i.options,n),s,i,a,function(t,r){if(!t.length)return a;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return a;var i=0;return function(t){for(;;){if(i>=n.length)return!1;var r=n[i];if(t.end<=r.start)return!1;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return!0;i++}};function a(){return!1}}(n.parseDiagnostics,r),n)}))}function _(r,n,i,a,o,s,c,u,l){var d,_,f,g,m=s.options,y=s.getRules,v=s.host,h=new t.FormattingContext(l,c,m),D=-1,x=[];if(o.advance(),o.isOnToken()){var b=l.getLineAndCharacterOfPosition(n.getStart(l)).line,S=b;n.decorators&&(S=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(n,l)).line),function n(i,a,s,c,p,y){if(!e.rangeOverlapsWithStartEnd(r,i.getStart(l),i.getEnd()))return;var v=C(i,s,p,y),h=a;e.forEachChild(i,(function(e){S(e,-1,i,v,s,c,!1)}),(function(e){E(e,i,s,v)}));for(;o.isOnToken();){var x=o.readTokenInfo(i);if(x.token.end>i.end)break;11!==i.kind?w(x,i,v,i):o.advance()}if(!i.parent&&o.isOnEOF()){var b=o.readEOFTokenRange();b.end<=i.end&&d&&F(b,l.getLineAndCharacterOfPosition(b.pos).line,i,d,f,_,a,v)}function S(a,s,c,u,d,_,p,f){var y=a.getStart(l),v=l.getLineAndCharacterOfPosition(y).line,x=v;a.decorators&&(x=l.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,l)).line);var b=-1;if(p&&e.rangeContainsRange(r,c)&&-1!==(b=function(r,n,i,a,o){if(e.rangeOverlapsWithStartEnd(a,r,n)||e.rangeContainsStartEnd(a,r,n)){if(-1!==o)return o}else{var s=l.getLineAndCharacterOfPosition(r).line,c=e.getLineStartPositionForPosition(r,l),u=t.SmartIndenter.findFirstNonWhitespaceColumn(c,r,l,m);if(s!==i||r===u){var d=t.SmartIndenter.getBaseIndentation(m);return d>u?d:u}}return-1}(y,a.end,d,r,s))&&(s=b),!e.rangeOverlapsWithStartEnd(r,a.pos,a.end))return a.endy){S.token.pos>y&&o.skipToStartOf(a);break}w(S,i,u,i)}if(!o.isOnToken())return s;if(e.isToken(a)){var S=o.readTokenInfo(a);if(11!==a.kind)return e.Debug.assert(S.token.end===a.end,"Token end is child end"),w(S,i,u,a),s}var E=161===a.kind?v:_,C=function(e,r,n,i,a,o){var s=t.SmartIndenter.shouldIndentChildNode(m,e)?m.indentSize:0;return o===r?{indentation:r===g?D:a.getIndentation(),delta:Math.min(m.indentSize,a.getDelta(e)+s)}:-1===n?20===e.kind&&r===g?{indentation:D,delta:a.getDelta(e)}:t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(i,e,r,l)||t.SmartIndenter.argumentStartsOnSameLineAsPreviousArgument(i,e,r,l)?{indentation:a.getIndentation(),delta:s}:{indentation:a.getIndentation()+a.getDelta(e),delta:s}:{indentation:n,delta:s}}(a,v,b,i,u,E);if(n(a,h,v,x,C.indentation,C.delta),11===a.kind){var T={pos:a.getStart(),end:a.getEnd()};if(T.pos!==T.end){var k=c.getChildren(l),A=k[e.findIndex(k,(function(e){return e.pos===a.pos}))-1];if(A&&l.getLineAndCharacterOfPosition(T.end).line!==l.getLineAndCharacterOfPosition(A.end).line){var F=l.getLineAndCharacterOfPosition(T.pos).line===l.getLineAndCharacterOfPosition(A.end).line;P(T,C.indentation,F,!1,!0)}}}return h=i,f&&199===c.kind&&-1===s&&(s=C.indentation),s}function E(r,n,a,s){e.Debug.assert(e.isNodeArray(r));var c=function(e,t){switch(e.kind){case 166:case 251:case 208:case 165:case 164:case 209:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 203:case 204:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 173:if(e.typeArguments===t)return 29;break;case 177:return 18}return 0}(n,r),u=s,d=a;if(0!==c)for(;o.isOnToken();){if((v=o.readTokenInfo(n)).token.end>r.pos)break;if(v.token.kind===c){d=l.getLineAndCharacterOfPosition(v.token.pos).line,w(v,n,s,n);var _=void 0;if(-1!==D)_=D;else{var p=e.getLineStartPositionForPosition(v.token.pos,l);_=t.SmartIndenter.findFirstNonWhitespaceColumn(p,v.token.pos,l,m)}u=C(n,a,_,m.indentSize)}else w(v,n,s,n)}for(var f=-1,g=0;g0){var E=p(S,m);M(x,b.character,E)}else O(x,b.character)}}}else i||N(r.pos,n,!1)}function w(t,r,n){for(var i=t;io)){var s=I(a,o);-1!==s&&(e.Debug.assert(s===a||!e.isWhiteSpaceSingleLine(l.text.charCodeAt(s-1))),O(s,o+1-s))}}}function I(t,r){for(var n=r;n>=t&&e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));)n--;return n!==r?n+1:-1}function O(t,r){r&&x.push(e.createTextChangeFromStartLength(t,r,""))}function M(t,r,n){(r||n)&&x.push(e.createTextChangeFromStartLength(t,r,n))}}function p(t,r){if((!i||i.tabSize!==r.tabSize||i.indentSize!==r.indentSize)&&(i={tabSize:r.tabSize,indentSize:r.indentSize},a=o=void 0),r.convertTabsToSpaces){var n=void 0,s=Math.floor(t/r.indentSize),c=t%r.indentSize;return o||(o=[]),void 0===o[s]?(n=e.repeatString(" ",r.indentSize*s),o[s]=n):n=o[s],c?n+e.repeatString(" ",c):n}var u=Math.floor(t/r.tabSize),l=t-u*r.tabSize,d=void 0;return a||(a=[]),void 0===a[u]?a[u]=d=e.repeatString("\t",u):d=a[u],l?d+e.repeatString(" ",l):d}t.createTextRangeWithKind=function(t,r,n){var i={pos:t,end:r,kind:n};return e.Debug.isDebugging&&Object.defineProperty(i,"__debugKind",{get:function(){return e.Debug.formatSyntaxKind(n)}}),i},function(e){e[e.Unknown=-1]="Unknown"}(r||(r={})),t.formatOnEnter=function(t,r,n){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];for(var a=e.getEndLinePosition(i,r);e.isWhiteSpaceSingleLine(r.text.charCodeAt(a));)a--;return e.isLineBreak(r.text.charCodeAt(a))&&a--,d({pos:e.getStartPositionOfLine(i-1,r),end:a+1},r,n,2)},t.formatOnSemicolon=function(e,t,r){return l(c(s(e,26,t)),t,r,3)},t.formatOnOpeningCurly=function(t,r,n){var i=s(t,18,r);if(!i)return[];var a=c(i.parent);return d({pos:e.getLineStartPositionForPosition(a.getStart(r),r),end:t},r,n,4)},t.formatOnClosingCurly=function(e,t,r){return l(c(s(e,19,t)),t,r,5)},t.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},t.formatSelection=function(t,r,n,i){return d({pos:e.getLineStartPositionForPosition(t,n),end:r},n,i,1)},t.formatNodeGivenIndentation=function(e,r,n,i,a,o){var s={pos:0,end:r.text.length};return t.getFormattingScanner(r.text,n,s.pos,s.end,(function(t){return _(s,e,i,a,t,o,1,(function(e){return!1}),r)}))},function(e){e[e.None=0]="None",e[e.LineAdded=1]="LineAdded",e[e.LineRemoved=2]="LineRemoved"}(n||(n={})),t.getRangeOfEnclosingComment=function(t,r,n,i){void 0===i&&(i=e.getTokenAtPosition(t,r));var a=e.findAncestor(i,e.isJSDoc);if(a&&(i=a.parent),!(i.getStart(t)<=r&&rr.end}var g=s(l,e,i),y=g.line===t.line||_(l,e,t.line,i);if(p){var v=m(e,i,u,!y);if(-1!==v)return v+n;if(-1!==(v=c(e,l,t,y,i,u)))return v+n}b(u,l,e,i,o)&&!y&&(n+=u.indentSize);var h=d(l,e,t.line,i);l=(e=l).parent,t=h?i.getLineAndCharacterOfPosition(e.getStart(i)):g}return n+a(u)}function s(e,t,r){var n=p(t,r),i=n?n.pos:e.getStart(r);return r.getLineAndCharacterOfPosition(i)}function c(t,r,n,i,a,o){return(e.isDeclaration(t)||e.isStatementButNotDeclaration(t))&&(297===r.kind||!i)?v(n,a,o):-1}function u(t,r,n,i){var a=e.findNextToken(t,r,i);return a?18===a.kind?1:19===a.kind&&n===l(a,i).line?2:0:0}function l(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function d(t,r,n,i){if(!e.isCallExpression(t)||!e.contains(t.arguments,r))return!1;var a=t.expression.getEnd();return e.getLineAndCharacterOfPosition(i,a).line===n}function _(t,r,n,i){if(234===t.kind&&t.elseStatement===r){var a=e.findChildOfKind(t,90,i);return e.Debug.assert(void 0!==a),l(a,i).line===n}return!1}function p(e,t){return e.parent&&f(e.getStart(t),e.getEnd(),e.parent,t)}function f(t,r,n,i){switch(n.kind){case 173:return a(n.typeArguments);case 200:return a(n.properties);case 199:return a(n.elements);case 177:return a(n.members);case 251:case 208:case 209:case 165:case 164:case 169:case 166:case 175:case 170:return a(n.typeParameters)||a(n.parameters);case 252:case 221:case 253:case 254:case 330:return a(n.typeParameters);case 204:case 203:return a(n.typeArguments)||a(n.arguments);case 250:return a(n.declarations);case 264:case 268:return a(n.elements);case 196:case 197:return a(n.elements)}function a(a){return a&&e.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;i=0&&r=0;o--)if(27!==t[o].kind){if(n.getLineAndCharacterOfPosition(t[o].end).line!==a.line)return v(a,n,i);a=l(t[o],n)}return-1}function v(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return D(n,n+e.character,t,r)}function h(t,r,n,i){for(var a=0,o=0,s=t;sn.text.length)return a(i);if(i.indentStyle===e.IndentStyle.None)return 0;var c=e.findPrecedingToken(r,n,void 0,!0),d=t.getRangeOfEnclosingComment(n,r,c||null);if(d&&3===d.kind)return function(t,r,n,i){var a=e.getLineAndCharacterOfPosition(t,r).line-1,o=e.getLineAndCharacterOfPosition(t,i.pos).line;if(e.Debug.assert(o>=0),a<=o)return D(e.getStartPositionOfLine(o,t),r,t,n);var s=e.getStartPositionOfLine(a,t),c=h(s,r,t,n),u=c.column,l=c.character;if(0===u)return u;return 42===t.text.charCodeAt(s+l)?u-1:u}(n,r,i,d);if(!c)return a(i);if(e.isStringOrRegularExpressionOrTemplateLiteral(c.kind)&&c.getStart(n)<=r&&r0;){var a=t.text.charCodeAt(i);if(!e.isWhiteSpaceLike(a))break;i--}return D(e.getLineStartPositionForPosition(i,t),i,t,n)}(n,r,i);if(27===c.kind&&216!==c.parent.kind){var p=function(t,r,n){var i=e.findListItemInfo(t);return i&&i.listItemIndex>0?y(i.list.getChildren(),i.listItemIndex-1,r,n):-1}(c,n,i);if(-1!==p)return p}var v=function(e,t,r){return t&&f(e,e,t,r)}(r,c.parent,n);return v&&!e.rangeContainsRange(v,c)?g(v,n,i)+i.indentSize:function(t,r,n,i,s,c){var d,_=n;for(;_;){if(e.positionBelongsToNode(_,r,t)&&b(c,_,d,t,!0)){var p=l(_,t),f=u(n,_,i,t);return o(_,p,void 0,0!==f?s&&2===f?c.indentSize:0:i!==p.line?c.indentSize:0,t,!0,c)}var g=m(_,t,c,!0);if(-1!==g)return g;d=_,_=_.parent}return a(c)}(n,r,c,_,s,i)},r.getIndentationForNode=function(e,t,r,n){var i=r.getLineAndCharacterOfPosition(e.getStart(r));return o(e,i,t,0,r,!1,n)},r.getBaseIndentation=a,function(e){e[e.Unknown=0]="Unknown",e[e.OpenBrace=1]="OpenBrace",e[e.CloseBrace=2]="CloseBrace"}(i||(i={})),r.isArgumentAndStartLineOverlapsExpressionBeingCalled=d,r.childStartsOnTheSameLineWithElseInIfStatement=_,r.argumentStartsOnSameLineAsPreviousArgument=function(t,r,n,i){if(e.isCallOrNewExpression(t)){if(!t.arguments)return!1;var a=e.find(t.arguments,(function(e){return e.pos===r.pos}));if(!a)return!1;var o=t.arguments.indexOf(a);if(0===o)return!1;var s=t.arguments[o-1];if(n===e.getLineAndCharacterOfPosition(i,s.getEnd()).line)return!0}return!1},r.getContainingList=p,r.findFirstNonWhitespaceCharacterAndColumn=h,r.findFirstNonWhitespaceColumn=D,r.nodeWillIndentChild=x,r.shouldIndentChildNode=b}(t.SmartIndenter||(t.SmartIndenter={}))}(e.formatting||(e.formatting={}))}(u||(u={})),function(e){!function(t){function i(t){var r=t.__pos;return e.Debug.assert("number"==typeof r),r}function a(t,r){e.Debug.assert("number"==typeof r),t.__pos=r}function o(t){var r=t.__end;return e.Debug.assert("number"==typeof r),r}function s(t,r){e.Debug.assert("number"==typeof r),t.__end=r}var c,u;function l(t,r){return e.skipTrivia(t,r,!1,!0)}!function(e){e[e.Exclude=0]="Exclude",e[e.IncludeAll=1]="IncludeAll",e[e.JSDoc=2]="JSDoc",e[e.StartLine=3]="StartLine"}(c=t.LeadingTriviaOption||(t.LeadingTriviaOption={})),function(e){e[e.Exclude=0]="Exclude",e[e.ExcludeWhitespace=1]="ExcludeWhitespace",e[e.Include=2]="Include"}(u=t.TrailingTriviaOption||(t.TrailingTriviaOption={}));var d,_={leadingTriviaOption:c.Exclude,trailingTriviaOption:u.Exclude};function p(e,t,r,n){return{pos:f(e,t,n),end:g(e,r,n)}}function f(t,r,n){var i=n.leadingTriviaOption;if(i===c.Exclude)return r.getStart(t);if(i===c.StartLine)return e.getLineStartPositionForPosition(r.getStart(t),t);if(i===c.JSDoc){var a=e.getJSDocCommentRanges(r,t.text);if(null==a?void 0:a.length)return e.getLineStartPositionForPosition(a[0].pos,t)}var o=r.getFullStart(),s=r.getStart(t);if(o===s)return s;var u=e.getLineStartPositionForPosition(o,t);if(e.getLineStartPositionForPosition(s,t)===u)return i===c.IncludeAll?o:s;var d=o>0?1:0,_=e.getStartPositionOfLine(e.getLineOfLocalPosition(t,u)+d,t);return _=l(t.text,_),e.getStartPositionOfLine(e.getLineOfLocalPosition(t,_),t)}function g(t,r,n){var i,a=r.end,o=n.trailingTriviaOption;if(o===u.Exclude)return a;if(o===u.ExcludeWhitespace){var s=e.concatenate(e.getTrailingCommentRanges(t.text,a),e.getLeadingCommentRanges(t.text,a)),c=null===(i=null==s?void 0:s[s.length-1])||void 0===i?void 0:i.end;return c||a}var l=e.skipTrivia(t.text,a,!0);return l===a||o!==u.Include&&!e.isLineBreak(t.text.charCodeAt(l-1))?a:l}function m(e,t){return!!t&&!!e.parent&&(27===t.kind||26===t.kind&&200===e.parent.kind)}!function(e){e[e.Remove=0]="Remove",e[e.ReplaceWithSingleNode=1]="ReplaceWithSingleNode",e[e.ReplaceWithMultipleNodes=2]="ReplaceWithMultipleNodes",e[e.Text=3]="Text"}(d||(d={})),t.isThisTypeAnnotatable=function(t){return e.isFunctionExpression(t)||e.isFunctionDeclaration(t)};var y,v,h=function(){function t(t,r){this.newLineCharacter=t,this.formatContext=r,this.changes=[],this.newFiles=[],this.classesWithNodesInsertedAtStart=new e.Map,this.deletedNodes=[]}return t.fromContext=function(r){return new t(e.getNewLineOrDefaultFromHost(r.host,r.formatContext.options),r.formatContext)},t.with=function(e,r){var n=t.fromContext(e);return r(n),n.getChanges()},t.prototype.pushRaw=function(t,r){e.Debug.assertEqual(t.fileName,r.fileName);for(var n=0,i=r.textChanges;n=t.getLineAndCharacterOfPosition(u.range.end).line+2)break}if(t.statements.length)if(void 0===l&&(l=t.getLineAndCharacterOfPosition(t.statements[0].getStart()).line),l",joiner:", "})},t.prototype.getOptionsForInsertNodeBefore=function(t,r,n){return e.isStatement(t)||e.isClassElement(t)?{suffix:n?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:e.isVariableDeclaration(t)?{suffix:", "}:e.isParameter(t)?e.isParameter(r)?{suffix:", "}:{}:e.isStringLiteral(t)&&e.isImportDeclaration(t.parent)||e.isNamedImports(t)?{suffix:", "}:e.isImportSpecifier(t)?{suffix:","+(n?this.newLineCharacter:" ")}:e.Debug.failBadSyntaxKind(t)},t.prototype.insertNodeAtConstructorStart=function(t,n,i){var a=e.firstOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeBefore(t,a,i):this.replaceConstructorBody(t,n,r([i],n.body.statements))},t.prototype.insertNodeAtConstructorEnd=function(t,n,i){var a=e.lastOrUndefined(n.body.statements);a&&n.body.multiLine?this.insertNodeAfter(t,a,i):this.replaceConstructorBody(t,n,r(n.body.statements,[i]))},t.prototype.replaceConstructorBody=function(t,r,n){this.replaceNode(t,r.body,e.factory.createBlock(n,!0))},t.prototype.insertNodeAtEndOfScope=function(t,r,n){var i=f(t,r.getLastToken(),{});this.insertNodeAt(t,i,n,{prefix:e.isLineBreak(t.text.charCodeAt(r.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},t.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},t.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,x(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},t.prototype.guessIndentationFromExistingMembers=function(t,r){for(var n,i=r,a=0,o=x(r);a=0;n--){var i=r[n],a=i.span,o=i.newText;t=""+t.substring(0,a.start)+o+t.substring(e.textSpanEnd(a))}return t}function S(t){var r=e.visitEachChild(t,S,e.nullTransformationContext,E,S),n=e.nodeIsSynthesized(r)?r:Object.create(r);return e.setTextRangePosEnd(n,i(t),o(t)),n}function E(t,r,n,a,s){var c=e.visitNodes(t,r,n,a,s);if(!c)return c;var u=c===t?e.factory.createNodeArray(c.slice(0)):c;return e.setTextRangePosEnd(u,i(t),o(t)),u}function C(t,r){return!(e.isInComment(t,r)||e.isInString(t,r)||e.isInTemplateString(t,r)||e.isInJSXText(t,r))}function T(e,t,r,n){void 0===n&&(n={leadingTriviaOption:c.IncludeAll});var i=f(t,r,n),a=g(t,r,n);e.deleteRange(t,{pos:i,end:a})}function k(t,r,n,i){var a=e.Debug.checkDefined(e.formatting.SmartIndenter.getContainingList(i,n)),o=e.indexOfNode(a,i);e.Debug.assert(-1!==o),1!==a.length?(e.Debug.assert(!r.has(i),"Deleting a node twice"),r.add(i),t.deleteRange(n,{pos:D(n,i),end:o===a.length-1?g(n,i,{}):D(n,a[o+1])})):T(t,n,i)}t.ChangeTracker=h,t.getNewFileText=function(e,t,r,n){return y.newFileChangesWorker(void 0,t,e,r,n)},function(t){function r(t,r,n,a,o){var s=n.map((function(e){return 4===e?"":i(e,t,a).text})).join(a),c=e.createSourceFile("any file name",s,99,!0,r);return b(s,e.formatting.formatDocument(c,o))+a}function i(t,r,n){var i=function(t){var r=0,n=e.createTextWriter(t);function i(t,i){if(i||!function(t){return e.skipTrivia(t,0)===t.length}(t)){r=n.getTextPos();for(var a=0;e.isWhiteSpaceLike(t.charCodeAt(t.length-a-1));)a++;r-=a}}function o(e){n.write(e),i(e,!1)}function c(e){n.writeComment(e)}function u(e){n.writeKeyword(e),i(e,!1)}function l(e){n.writeOperator(e),i(e,!1)}function d(e){n.writePunctuation(e),i(e,!1)}function _(e){n.writeTrailingSemicolon(e),i(e,!1)}function p(e){n.writeParameter(e),i(e,!1)}function f(e){n.writeProperty(e),i(e,!1)}function g(e){n.writeSpace(e),i(e,!1)}function m(e){n.writeStringLiteral(e),i(e,!1)}function y(e,t){n.writeSymbol(e,t),i(e,!1)}function v(e){n.writeLine(e)}function h(){n.increaseIndent()}function D(){n.decreaseIndent()}function x(){return n.getText()}function b(e){n.rawWrite(e),i(e,!1)}function S(e){n.writeLiteral(e),i(e,!0)}function E(){return n.getTextPos()}function C(){return n.getLine()}function T(){return n.getColumn()}function k(){return n.getIndent()}function A(){return n.isAtStartOfLine()}function F(){n.clear(),r=0}return{onEmitNode:function(e,t,n){t&&a(t,r),n(e,t),t&&s(t,r)},onBeforeEmitNodeArray:function(e){e&&a(e,r)},onAfterEmitNodeArray:function(e){e&&s(e,r)},onBeforeEmitToken:function(e){e&&a(e,r)},onAfterEmitToken:function(e){e&&s(e,r)},write:o,writeComment:c,writeKeyword:u,writeOperator:l,writePunctuation:d,writeTrailingSemicolon:_,writeParameter:p,writeProperty:f,writeSpace:g,writeStringLiteral:m,writeSymbol:y,writeLine:v,increaseIndent:h,decreaseIndent:D,getText:x,rawWrite:b,writeLiteral:S,getTextPos:E,getLine:C,getColumn:T,getIndent:k,isAtStartOfLine:A,hasTrailingComment:function(){return n.hasTrailingComment()},hasTrailingWhitespace:function(){return n.hasTrailingWhitespace()},clear:F}}(n),o="\n"===n?1:0;return e.createPrinter({newLine:o,neverAsciiEscape:!0,preserveSourceNewlines:!0,terminateUnterminatedLiterals:!0},i).writeNode(4,t,r,i),{text:i.getText(),node:S(t)}}t.getTextChangesFromChanges=function(t,r,a,o){return e.mapDefined(e.group(t,(function(e){return e.sourceFile.path})),(function(t){for(var s=t[0].sourceFile,c=e.stableSort(t,(function(e,t){return e.range.pos-t.range.pos||e.range.end-t.range.end})),u=function(t){e.Debug.assert(c[t].range.end<=c[t+1].range.pos,"Changes overlap",(function(){return JSON.stringify(c[t].range)+" and "+JSON.stringify(c[t+1].range)}))},l=0;l0?{fileName:s.fileName,textChanges:_}:void 0}))},t.newFileChanges=function(t,n,i,a,o){var s=r(t,e.getScriptKindFromFileName(n),i,a,o);return{fileName:n,textChanges:[e.createTextChange(e.createTextSpan(0,0),s)],isNewFile:!0}},t.newFileChangesWorker=r,t.getNonformattedText=i}(y||(y={})),t.applyChanges=b,t.isValidLocationToAddComment=C,function(t){function r(t,r,n){if(n.parent.name){var i=e.Debug.checkDefined(e.getTokenAtPosition(r,n.pos-1));t.deleteRange(r,{pos:i.getStart(r),end:n.end})}else{T(t,r,e.getAncestor(n,261))}}t.deleteDeclaration=function(t,n,i,a){switch(a.kind){case 160:var o=a.parent;e.isArrowFunction(o)&&1===o.parameters.length&&!e.findChildOfKind(o,20,i)?t.replaceNodeWithText(i,a,"()"):k(t,n,i,a);break;case 261:case 260:T(t,i,a,{leadingTriviaOption:i.imports.length&&a===e.first(i.imports).parent||a===e.find(i.statements,e.isAnyImportSyntax)?c.Exclude:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;case 198:var s=a.parent;197===s.kind&&a!==e.last(s.elements)?T(t,i,a):k(t,n,i,a);break;case 249:!function(t,r,n,i){var a=i.parent;if(287===a.kind)return void t.deleteNodeRange(n,e.findChildOfKind(a,20,n),e.findChildOfKind(a,21,n));if(1!==a.declarations.length)return void k(t,r,n,i);var o=a.parent;switch(o.kind){case 239:case 238:t.replaceNode(n,i,e.factory.createObjectLiteralExpression());break;case 237:T(t,n,a);break;case 232:T(t,n,o,{leadingTriviaOption:e.hasJSDocNodes(o)?c.JSDoc:c.StartLine});break;default:e.Debug.assertNever(o)}}(t,n,i,a);break;case 159:k(t,n,i,a);break;case 265:var l=a.parent;1===l.elements.length?r(t,i,l):k(t,n,i,a);break;case 263:r(t,i,a);break;case 26:T(t,i,a,{trailingTriviaOption:u.Exclude});break;case 97:T(t,i,a,{leadingTriviaOption:c.Exclude});break;case 252:case 251:T(t,i,a,{leadingTriviaOption:e.hasJSDocNodes(a)?c.JSDoc:c.StartLine});break;default:e.isImportClause(a.parent)&&a.parent.name===a?function(t,r,n){if(n.namedBindings){var i=n.name.getStart(r),a=e.getTokenAtPosition(r,n.name.end);if(a&&27===a.kind){var o=e.skipTrivia(r.text,a.end,!1,!0);t.deleteRange(r,{pos:i,end:o})}else T(t,r,n.name)}else T(t,r,n.parent)}(t,i,a.parent):e.isCallExpression(a.parent)&&e.contains(a.parent.arguments,a)?k(t,n,i,a):T(t,i,a)}}}(v||(v={})),t.deleteNode=T}(e.textChanges||(e.textChanges={}))}(u||(u={})),function(e){!function(t){var i=e.createMultiMap(),a=new e.Map;function o(t){return e.isArray(t)?e.formatStringFromArgs(e.getLocaleSpecificMessage(t[0]),t.slice(1)):e.getLocaleSpecificMessage(t)}function c(e,t,r,n,i,a){return{fixName:e,description:t,changes:r,fixId:n,fixAllDescription:i,commands:a?[a]:void 0}}function u(e,t){return{changes:e,commands:t}}function l(t,r,n){for(var i=0,a=d(t);i1)break}var l=a<2;return function(e){var t=e.fixId,r=e.fixAllDescription,i=s(e,["fixId","fixAllDescription"]);return l?i:n(n({},i),{fixId:t,fixAllDescription:r})}}(i,r))}))},t.getAllFixes=function(t){return a.get(e.cast(t.fixId,e.isString)).getAllCodeActions(t)},t.createCombinedCodeActions=u,t.createFileTextChanges=function(e,t){return{fileName:e,textChanges:t}},t.codeFixAll=function(t,r,n){var i=[];return u(e.textChanges.ChangeTracker.with(t,(function(e){return l(t,r,(function(t){return n(e,t,i)}))})),0===i.length?void 0:i)},t.eachDiagnostic=l}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){var t,r;t=e.refactor||(e.refactor={}),r=new e.Map,t.registerRefactor=function(e,t){r.set(e,t)},t.getApplicableRefactors=function(t){return e.arrayFrom(e.flatMapIterator(r.values(),(function(e){return t.cancellationToken&&t.cancellationToken.isCancellationRequested()?void 0:e.getAvailableActions(t)})))},t.getEditsForRefactor=function(e,t,n){var i=r.get(t);return i&&i.getEditsForAction(e,n)}}(u||(u={})),function(e){!function(t){var r="addConvertToUnknownForNonOverlappingTypes",n=[e.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.Debug.checkDefined(e.findAncestor(i,(function(t){return e.isAsExpression(t)||e.isTypeAssertionExpression(t)})),"Expected to find an assertion expression"),o=e.isAsExpression(a)?e.factory.createAsExpression(a.expression,e.factory.createKeywordTypeNode(152)):e.factory.createTypeAssertion(e.factory.createKeywordTypeNode(152),a.expression);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_unknown_conversion_for_non_overlapping_types,r,e.Diagnostics.Add_unknown_to_all_conversions_of_non_overlapping_types)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){t.registerCodeFix({errorCodes:[e.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module.code],getCodeActions:function(r){var n=r.sourceFile,i=e.textChanges.ChangeTracker.with(r,(function(t){var r=e.factory.createExportDeclaration(void 0,void 0,!1,e.factory.createNamedExports([]),void 0);t.insertNodeAtEndOfScope(n,n,r)}));return[t.createCodeFixActionWithoutFixAll("addEmptyExportDeclaration",i,e.Diagnostics.Add_export_to_make_this_file_into_a_module)]}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="addMissingAsync",n=[e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Type_0_is_not_comparable_to_type_1.code];function i(n,i,a,o){var s=a((function(t){return function(t,r,n,i){if(i&&i.has(e.getNodeId(n)))return;null==i||i.add(e.getNodeId(n));var a=e.factory.updateModifiers(e.getSynthesizedDeepClone(n,!0),e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(256|e.getSyntacticModifierFlags(n))));t.replaceNode(r,n,a)}(t,n.sourceFile,i,o)}));return t.createCodeFixAction(r,s,e.Diagnostics.Add_async_modifier_to_containing_function,r,e.Diagnostics.Add_all_missing_async_modifiers)}function a(t,r){if(r){var n=e.getTokenAtPosition(t,r.start);return e.findAncestor(n,(function(n){return n.getStart(t)e.textSpanEnd(r)?"quit":(e.isArrowFunction(n)||e.isMethodDeclaration(n)||e.isFunctionExpression(n)||e.isFunctionDeclaration(n))&&e.textSpansEqual(r,e.createTextSpanFromNode(n,t))}))}}t.registerCodeFix({fixIds:[r],errorCodes:n,getCodeActions:function(t){var r=t.sourceFile,n=t.errorCode,o=t.cancellationToken,s=t.program,c=t.span,u=e.find(s.getDiagnosticsProducingTypeChecker().getDiagnostics(r,o),function(t,r){return function(n){var i=n.start,a=n.length,o=n.relatedInformation,s=n.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},t)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}))}}(c,n)),l=a(r,u&&u.relatedInformation&&e.find(u.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})));if(l){return[i(t,l,(function(r){return e.textChanges.ChangeTracker.with(t,r)}))]}},getAllCodeActions:function(r){var o=r.sourceFile,s=new e.Set;return t.codeFixAll(r,n,(function(t,n){var c=n.relatedInformation&&e.find(n.relatedInformation,(function(t){return t.code===e.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})),u=a(o,c);if(u){return i(r,u,(function(e){return e(t),[]}),s)}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n="addMissingAwait",i=e.Diagnostics.Property_0_does_not_exist_on_type_1.code,a=[e.Diagnostics.This_expression_is_not_callable.code,e.Diagnostics.This_expression_is_not_constructable.code],o=r([e.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type.code,e.Diagnostics.Operator_0_cannot_be_applied_to_type_1.code,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2.code,e.Diagnostics.This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap.code,e.Diagnostics.Type_0_is_not_an_array_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators.code,e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator.code,e.Diagnostics.Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,i],a);function s(r,n,i,a,s,c){var u=r.sourceFile,_=r.program,p=r.cancellationToken,f=function(t,r,n,i,a){var s=function(t,r){if(e.isPropertyAccessExpression(t.parent)&&e.isIdentifier(t.parent.expression))return{identifiers:[t.parent.expression],isCompleteFix:!0};if(e.isIdentifier(t))return{identifiers:[t],isCompleteFix:!0};if(e.isBinaryExpression(t)){for(var n=void 0,i=!0,a=0,o=[t.left,t.right];ae.textSpanEnd(n)?"quit":e.isExpression(r)&&e.textSpansEqual(n,e.createTextSpanFromNode(r,t))}));return s&&function(t,r,n,i,a){var o=a.getDiagnosticsProducingTypeChecker().getDiagnostics(t,i);return e.some(o,(function(t){var i=t.start,a=t.length,o=t.relatedInformation,s=t.code;return e.isNumber(i)&&e.isNumber(a)&&e.textSpansEqual({start:i,length:a},n)&&s===r&&!!o&&e.some(o,(function(t){return t.code===e.Diagnostics.Did_you_forget_to_use_await.code}))}))}(t,r,n,i,a)&&l(s)?s:void 0}function l(t){return 32768&t.kind||!!e.findAncestor(t,(function(t){return t.parent&&e.isArrowFunction(t.parent)&&t.parent.body===t||e.isBlock(t)&&(251===t.parent.kind||208===t.parent.kind||209===t.parent.kind||165===t.parent.kind)}))}function d(t,r,n,o,s,c){if(e.isBinaryExpression(s))for(var u=0,l=[s.left,s.right];u0)return[t.createCodeFixAction(r,a,e.Diagnostics.Add_const_to_unresolved_variable,r,e.Diagnostics.Add_const_to_all_unresolved_variables)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,r.program,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="addMissingDeclareProperty",n=[e.Diagnostics.Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration.code];function i(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(e.isIdentifier(a)){var o=a.parent;163!==o.kind||i&&!e.tryAddToSet(i,o)||t.insertModifierBefore(r,133,o)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Prefix_with_declare,r,e.Diagnostics.Prefix_all_incorrect_property_declarations_with_declare)]},fixIds:[r],getAllCodeActions:function(r){var a=new e.Set;return t.codeFixAll(r,n,(function(e,t){return i(e,t.file,t.start,a)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="addMissingInvocationForDecorator",n=[e.Diagnostics._0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n),a=e.findAncestor(i,e.isDecorator);e.Debug.assert(!!a,"Expected position to be owned by a decorator.");var o=e.factory.createCallExpression(a.expression,void 0,void 0);t.replaceNode(r,a.expression,o)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Call_decorator_expression,r,e.Diagnostics.Add_to_all_uncalled_decorators)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="addNameToNamelessParameter",n=[e.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1.code];function i(t,r,n){var i=e.getTokenAtPosition(r,n);if(!e.isIdentifier(i))return e.Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a "+e.Debug.formatSyntaxKind(i.kind));var a=i.parent;if(!e.isParameter(a))return e.Debug.fail("Tried to add a parameter name to a non-parameter: "+e.Debug.formatSyntaxKind(i.kind));var o=a.parent.parameters.indexOf(a);e.Debug.assert(!a.type,"Tried to add a parameter name to a parameter that already had one."),e.Debug.assert(o>-1,"Parameter not found in parent parameter list.");var s=e.factory.createParameterDeclaration(void 0,a.modifiers,a.dotDotDotToken,"arg"+o,a.questionToken,e.factory.createTypeReferenceNode(i,void 0),a.initializer);t.replaceNode(r,i,s)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start)}));return[t.createCodeFixAction(r,a,e.Diagnostics.Add_parameter_name,r,e.Diagnostics.Add_names_to_all_parameters_without_names)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t.start)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="annotateWithTypeFromJSDoc",n=[e.Diagnostics.JSDoc_types_may_be_moved_to_TypeScript_types.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.tryCast(e.isParameter(n.parent)?n.parent.parent:n.parent,a)}function a(t){return function(t){return e.isFunctionLikeDeclaration(t)||249===t.kind||162===t.kind||163===t.kind}(t)&&o(t)}function o(t){return e.isFunctionLikeDeclaration(t)?t.parameters.some(o)||!t.type&&!!e.getJSDocReturnType(t):!t.type&&!!e.getJSDocType(t)}function s(t,r,n){if(e.isFunctionLikeDeclaration(n)&&(e.getJSDocReturnType(n)||n.parameters.some((function(t){return!!e.getJSDocType(t)})))){if(!n.typeParameters){var i=e.getJSDocTypeParameterDeclarations(n);i.length&&t.insertTypeParameters(r,n,i)}var a=e.isArrowFunction(n)&&!e.findChildOfKind(n,20,r);a&&t.insertNodeBefore(r,e.first(n.parameters),e.factory.createToken(20));for(var o=0,s=n.parameters;o1?(t.delete(r,c),t.insertNodeAfter(r,l,u)):t.replaceNode(r,l,u)}}function d(n){var i=[];return n.members&&n.members.forEach((function(e,n){if("constructor"!==n){var a=s(e,void 0);a&&i.push.apply(i,a)}else t.delete(r,e.valueDeclaration.parent)})),n.exports&&n.exports.forEach((function(t){if("prototype"===t.name){var r=t.declarations[0];if(1===t.declarations.length&&e.isPropertyAccessExpression(r)&&e.isBinaryExpression(r.parent)&&62===r.parent.operatorToken.kind&&e.isObjectLiteralExpression(r.parent.right))(n=s(r.parent.right.symbol,void 0))&&i.push.apply(i,n)}else{var n;(n=s(t,[e.factory.createToken(123)]))&&i.push.apply(i,n)}})),i;function s(n,i){var s=[];if(!(8192&n.flags||4096&n.flags))return s;var c,u,l=n.valueDeclaration,d=l.parent,_=d.right;if(c=l,u=_,!(e.isPropertyAccessExpression(c)?o(c)||e.isFunctionLike(u):e.every(c.properties,(function(t){return!!(e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)||e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)&&t.name||o(t))}))))return s;var p=d.parent&&233===d.parent.kind?d.parent:d;if(t.delete(r,p),!_)return s.push(e.factory.createPropertyDeclaration([],i,n.name,void 0,void 0,void 0)),s;if(e.isPropertyAccessExpression(l)&&(e.isFunctionExpression(_)||e.isArrowFunction(_)))return g(s,_,l.name);if(e.isObjectLiteralExpression(_))return e.flatMap(_.properties,(function(t){return e.isMethodDeclaration(t)||e.isGetOrSetAccessorDeclaration(t)?s.concat(t):e.isPropertyAssignment(t)&&e.isFunctionExpression(t.initializer)?g(s,t.initializer,t.name):o(t)?s:[]}));if(e.isSourceFileJS(r))return s;if(!e.isPropertyAccessExpression(l))return s;var f=e.factory.createPropertyDeclaration(void 0,i,l.name,void 0,void 0,_);return e.copyLeadingComments(d.parent,f,r),s.push(f),s;function g(t,n,o){return e.isFunctionExpression(n)?function(t,n,o){var s=e.concatenate(i,a(n,129)),c=e.factory.createMethodDeclaration(void 0,s,void 0,o,void 0,void 0,n.parameters,void 0,n.body);return e.copyLeadingComments(d,c,r),t.concat(c)}(t,n,o):function(t,n,o){var s,c=n.body;s=230===c.kind?c:e.factory.createBlock([e.factory.createReturnStatement(c)]);var u=e.concatenate(i,a(n,129)),l=e.factory.createMethodDeclaration(void 0,u,void 0,o,void 0,void 0,n.parameters,void 0,s);return e.copyLeadingComments(d,l,r),t.concat(l)}(t,n,o)}}}}function a(t,r){return e.filter(t.modifiers,(function(e){return e.kind===r}))}function o(t){return!!t.name&&!(!e.isIdentifier(t.name)||"constructor"!==t.name.text)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span.start,n.program.getTypeChecker())}));return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_function_to_an_ES2015_class,r,e.Diagnostics.Convert_all_constructor_functions_to_classes)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n,i="convertToAsyncFunction",a=[e.Diagnostics.This_may_be_converted_to_an_async_function.code],o=!0;function s(t,r,n,i,a){var o,s=e.getTokenAtPosition(r,n);if(o=e.isIdentifier(s)&&e.isVariableDeclaration(s.parent)&&s.parent.initializer&&e.isFunctionLikeDeclaration(s.parent.initializer)?s.parent.initializer:e.tryCast(e.getContainingFunction(e.getTokenAtPosition(r,n)),e.isFunctionLikeDeclaration)){var d,p,f=new e.Map,g=e.isInJSFile(o),m=function(t,r){if(!t.body)return new e.Set;var n=new e.Set;return e.forEachChild(t.body,(function t(i){c(i,r,"then")?(n.add(e.getNodeId(i)),e.forEach(i.arguments,t)):c(i,r,"catch")?(n.add(e.getNodeId(i)),e.forEachChild(i,t)):u(i,r)?n.add(e.getNodeId(i)):e.forEachChild(i,t)})),n}(o,i),v=function(t,r,n,i){var a=new e.Map,o=e.createMultiMap();return e.forEachChild(t,(function t(s){if(e.isIdentifier(s)){var c=r.getSymbolAtLocation(s),u=c&&function(e,t){return e.valueDeclaration&&e.valueDeclaration.getSourceFile()===t}(c,i);if(c&&u){var d=y(r.getTypeAtLocation(s),r),_=e.getSymbolId(c).toString();if(!d||e.isParameter(s.parent)||e.isFunctionLikeDeclaration(s.parent)||n.has(_)){if(s.parent&&(e.isParameter(s.parent)||e.isVariableDeclaration(s.parent)||e.isBindingElement(s.parent))){var p=s.text,f=o.get(p);if(f&&f.some((function(e){return e!==c}))){var g=l(s,o);a.set(_,g.identifier),n.set(_,g),o.add(p,c)}else{var m=e.getSynthesizedDeepClone(s);n.set(_,b(m)),o.add(p,c)}}}else{var v=e.firstOrUndefined(d.parameters),h=v&&e.isParameter(v.valueDeclaration)&&e.tryCast(v.valueDeclaration.name,e.isIdentifier)||e.factory.createUniqueName("result",16),D=l(h,o);n.set(_,D),o.add(h.text,c)}}}else e.forEachChild(s,t)})),e.getSynthesizedDeepCloneWithReplacements(t,!0,(function(t){if(e.isBindingElement(t)&&e.isIdentifier(t.name)&&e.isObjectBindingPattern(t.parent)){if((i=(n=r.getSymbolAtLocation(t.name))&&a.get(String(e.getSymbolId(n))))&&i.text!==(t.name||t.propertyName).getText())return e.factory.createBindingElement(t.dotDotDotToken,t.propertyName||t.name,i,t.initializer)}else if(e.isIdentifier(t)){var n,i;if(i=(n=r.getSymbolAtLocation(t))&&a.get(String(e.getSymbolId(n))))return e.factory.createIdentifier(i.text)}}))}(o,i,f,a.sourceFile),h=v.body&&e.isBlock(v.body)?(d=v.body,p=[],e.forEachReturnStatement(d,(function(t){e.isReturnStatementWithFixablePromiseHandler(t)&&p.push(t)})),p):e.emptyArray,D={checker:i,synthNamesMap:f,setOfExpressionsToReturn:m,isInJSFile:g};if(h.length){t.insertLastModifierBefore(r,129,o);for(var x=function(n){e.forEachChild(n,(function i(a){if(e.isCallExpression(a)){var o=_(a,D);t.replaceNodeWithNodes(r,n,o)}else e.isFunctionLike(a)||e.forEachChild(a,i)}))},S=0,E=h;S0)return O;if(k){I=m(a.checker,k,T);if(E(i,a))return f(I,null===(_=i.typeArguments)||void 0===_?void 0:_[0]);var M=p(r,I,void 0);return r&&r.types.push(k),M}return d();default:return d()}return e.emptyArray}function m(t,r,n){var i=e.getSynthesizedDeepClone(n);return t.getPromisedTypeOfPromise(r)?e.factory.createAwaitExpression(i):i}function y(t,r){var n=r.getSignaturesOfType(t,0);return e.lastOrUndefined(n)}function v(t,r,n){for(var i=[],a=0,o=r;a0)return}else e.isFunctionLike(a)||e.forEachChild(a,r)}))}return i}function h(t,r){var n,i=[];e.isFunctionLikeDeclaration(t)?t.parameters.length>0&&(n=function t(r){if(e.isIdentifier(r))return a(r);var n=e.flatMap(r.elements,(function(r){return e.isOmittedExpression(r)?[]:[t(r.name)]}));return function(t,r,n){void 0===r&&(r=e.emptyArray);void 0===n&&(n=[]);return{kind:1,bindingPattern:t,elements:r,types:n}}(r,n)}(t.parameters[0].name)):e.isIdentifier(t)&&(n=a(t));if(n&&(!("identifier"in n)||"undefined"!==n.identifier.text))return n;function a(t){var n=function(e){return e.symbol?e.symbol:r.checker.getSymbolAtLocation(e)}(function(e){return e.original?e.original:e}(t));return n&&r.synthNamesMap.get(e.getSymbolId(n).toString())||b(t,i)}}function D(t){return!t||(S(t)?!t.identifier.text:e.every(t.elements,D))}function x(e){return S(e)?e.identifier:e.bindingPattern}function b(e,t){return void 0===t&&(t=[]),{kind:0,identifier:e,types:t,hasBeenDeclared:!1}}function S(e){return 0===e.kind}function E(t,r){return!!t.original&&r.setOfExpressionsToReturn.has(e.getNodeId(t.original))}t.registerCodeFix({errorCodes:a,getCodeActions:function(r){o=!0;var n=e.textChanges.ChangeTracker.with(r,(function(e){return s(e,r.sourceFile,r.span.start,r.program.getTypeChecker(),r)}));return o?[t.createCodeFixAction(i,n,e.Diagnostics.Convert_to_async_function,i,e.Diagnostics.Convert_all_to_async_functions)]:[]},fixIds:[i],getAllCodeActions:function(e){return t.codeFixAll(e,a,(function(t,r){return s(t,r.file,r.start,e.program.getTypeChecker(),e)}))}}),function(e){e[e.Identifier=0]="Identifier",e[e.BindingPattern=1]="BindingPattern"}(n||(n={}))}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){function r(t,r,n,i){for(var a=0,o=t.imports;a1?[[o(n),s(n)],!0]:[[s(n)],!0]:[[o(n)],!1]}(d.arguments[0],r):void 0;return p?(i.replaceNodeWithNodes(t,n.parent,p[0]),p[1]):(i.replaceRangeWithText(t,e.createRange(l.getStart(t),d.pos),"export default"),!0)}i.delete(t,n.parent)}else e.isExportsOrModuleExportsOrAlias(t,l.expression)&&function(t,r,n,i){var a=r.left.name.text,o=i.get(a);if(void 0!==o){var s=[g(void 0,o,r.right),m([e.factory.createExportSpecifier(o,a)])];n.replaceNodeWithNodes(t,r.parent,s)}else!function(t,r,n){var i=t.left,a=t.right,o=t.parent,s=i.name.text;if(!(e.isFunctionExpression(a)||e.isArrowFunction(a)||e.isClassExpression(a))||a.name&&a.name.text!==s)n.replaceNodeRangeWithNodes(r,i.expression,e.findChildOfKind(i,24,r),[e.factory.createToken(92),e.factory.createToken(84)],{joiner:" ",suffix:" "});else{n.replaceRange(r,{pos:i.getStart(r),end:a.getStart(r)},e.factory.createToken(92),{suffix:" "}),a.name||n.insertName(r,a,s);var c=e.findChildOfKind(o,26,r);c&&n.delete(r,c)}}(r,t,n)}(t,n,i,a);return!1}(t,n,y,i,d,p)}default:return!1}}function a(r,n,i,a,o,s,c){var l,d=n.declarationList,_=!1,m=e.map(d.declarations,(function(n){var i=n.name,l=n.initializer;if(l){if(e.isExportsOrModuleExportsOrAlias(r,l))return _=!0,y([]);if(e.isRequireCall(l,!0))return _=!0,function(r,n,i,a,o,s){switch(r.kind){case 196:var c=e.mapAllOrFail(r.elements,(function(t){return t.dotDotDotToken||t.initializer||t.propertyName&&!e.isIdentifier(t.propertyName)||!e.isIdentifier(t.name)?void 0:f(t.propertyName&&t.propertyName.text,t.name.text)}));if(c)return y([e.makeImport(void 0,c,n,s)]);case 197:var l=u(t.moduleSpecifierToValidIdentifier(n.text,o),a);return y([e.makeImport(e.factory.createIdentifier(l),void 0,n,s),g(void 0,e.getSynthesizedDeepClone(r),e.factory.createIdentifier(l))]);case 78:return function(t,r,n,i,a){for(var o,s=n.getSymbolAtLocation(t),c=new e.Map,l=!1,d=0,_=i.original.get(t.text);d<_.length;d++){var p=_[d];if(n.getSymbolAtLocation(p)===s&&p!==t){var f=p.parent;if(e.isPropertyAccessExpression(f)){var g=f.expression,m=f.name.text;e.Debug.assert(g===p,"Didn't expect expression === use");var v=c.get(m);void 0===v&&(v=u(m,i),c.set(m,v)),(null!=o?o:o=new e.Map).set(f,e.factory.createIdentifier(v))}else l=!0}}var h=0===c.size?void 0:e.arrayFrom(e.mapIterator(c.entries(),(function(t){var r=t[0],n=t[1];return e.factory.createImportSpecifier(r===n?void 0:e.factory.createIdentifier(r),e.factory.createIdentifier(n))})));h||(l=!0);return y([e.makeImport(l?e.getSynthesizedDeepClone(t):void 0,h,r,a)],o)}(r,n,i,a,s);default:return e.Debug.assertNever(r,"Convert to ES6 module got invalid name kind "+r.kind)}}(i,l.arguments[0],a,o,s,c);if(e.isPropertyAccessExpression(l)&&e.isRequireCall(l.expression,!0))return _=!0,function(t,r,n,i,a){switch(t.kind){case 196:case 197:var o=u(r,i);return y([p(o,r,n,a),g(void 0,t,e.factory.createIdentifier(o))]);case 78:return y([p(t.text,r,n,a)]);default:return e.Debug.assertNever(t,"Convert to ES6 module got invalid syntax form "+t.kind)}}(i,l.name.text,l.expression.arguments[0],o,c)}return y([e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([n],d.flags))])}));if(_)return i.replaceNodeWithNodes(r,n,e.flatMap(m,(function(e){return e.newImports}))),e.forEach(m,(function(t){t.useSitesToUnqualify&&e.copyEntries(t.useSitesToUnqualify,null!=l?l:l=new e.Map)})),l}function o(e){return m(void 0,e)}function s(t){return m([e.factory.createExportSpecifier(void 0,"default")],t)}function c(t,r){return r&&e.some(e.arrayFrom(r.keys()),(function(r){return e.rangeContainsRange(t,r)}))?e.isArray(t)?e.getSynthesizedDeepClonesWithReplacements(t,!0,n):e.getSynthesizedDeepCloneWithReplacements(t,!0,n):t;function n(e){if(201===e.kind){var t=r.get(e);return r.delete(e),t}}}function u(e,t){for(;t.original.has(e)||t.additional.has(e);)e="_"+e;return t.additional.add(e),e}function l(t){var r=e.createMultiMap();return d(t,(function(e){return r.add(e.text,e)})),r}function d(t,r){e.isIdentifier(t)&&function(e){var t=e.parent;switch(t.kind){case 201:return t.name!==e;case 198:case 265:return t.propertyName!==e;default:return!0}}(t)&&r(t),t.forEachChild((function(e){return d(e,r)}))}function _(t,r,n,i){return e.factory.createFunctionDeclaration(e.getSynthesizedDeepClones(n.decorators),e.concatenate(r,e.getSynthesizedDeepClones(n.modifiers)),e.getSynthesizedDeepClone(n.asteriskToken),t,e.getSynthesizedDeepClones(n.typeParameters),e.getSynthesizedDeepClones(n.parameters),e.getSynthesizedDeepClone(n.type),e.factory.converters.convertToFunctionBlock(c(n.body,i)))}function p(t,r,n,i){return"default"===r?e.makeImport(e.factory.createIdentifier(t),void 0,n,i):e.makeImport(void 0,[f(r,t)],n,i)}function f(t,r){return e.factory.createImportSpecifier(void 0!==t&&t!==r?e.factory.createIdentifier(t):void 0,e.factory.createIdentifier(r))}function g(t,r,n){return e.factory.createVariableStatement(t,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(r,void 0,void 0,n)],2))}function m(t,r){return e.factory.createExportDeclaration(void 0,void 0,!1,t&&e.factory.createNamedExports(t),void 0===r?void 0:e.factory.createStringLiteral(r))}function y(e,t){return{newImports:e,useSitesToUnqualify:t}}t.registerCodeFix({errorCodes:[e.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module.code],getCodeActions:function(o){var s=o.sourceFile,c=o.program,d=o.preferences,_=e.textChanges.ChangeTracker.with(o,(function(t){if(function(t,r,o,s,c){var d={original:l(t),additional:new e.Set},_=function(t,r,i){var a=new e.Map;return n(t,(function(t){var n=t.name,o=n.text,s=n.originalKeywordKind;!a.has(o)&&(void 0!==s&&e.isNonContextualKeyword(s)||r.resolveName(o,t,111551,!0))&&a.set(o,u("_"+o,i))})),a}(t,r,d);!function(t,r,i){n(t,(function(n,a){if(!a){var o=n.name.text;i.replaceNode(t,n,e.factory.createIdentifier(r.get(o)||o))}}))}(t,_,o);for(var p,f=!1,g=0,m=e.filter(t.statements,e.isVariableStatement);g=e.ModuleKind.ES2015)return n?1:2;if(e.isInJSFile(t))return e.isExternalModule(t)?1:3;for(var i=0,a=t.statements;i"),[e.Diagnostics.Convert_function_expression_0_to_arrow_function,c?c.text:e.ANONYMOUS]}return t.replaceNode(r,s,e.factory.createToken(84)),t.insertText(r,c.end," = "),t.insertText(r,u.pos," =>"),[e.Diagnostics.Convert_function_declaration_0_to_arrow_function,c.text]}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a,o=n.sourceFile,s=n.program,c=n.span,u=e.textChanges.ChangeTracker.with(n,(function(e){a=i(e,o,c.start,s.getTypeChecker())}));return a?[t.createCodeFixAction(r,u,a,r,e.Diagnostics.Fix_all_implicit_this_errors)]:e.emptyArray},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){i(t,r.file,r.start,e.program.getTypeChecker())}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixIncorrectNamedTupleSyntax",n=[e.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,e.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=function(t,r){var n=e.getTokenAtPosition(t,r);return e.findAncestor(n,(function(e){return 192===e.kind}))}(i,a.start),s=e.textChanges.ChangeTracker.with(n,(function(t){return function(t,r,n){if(!n)return;var i=n.type,a=!1,o=!1;for(;180===i.kind||181===i.kind||186===i.kind;)180===i.kind?a=!0:181===i.kind&&(o=!0),i=i.type;var s=e.factory.updateNamedTupleMember(n,n.dotDotDotToken||(o?e.factory.createToken(25):void 0),n.name,n.questionToken||(a?e.factory.createToken(57):void 0),i);if(s===n)return;t.replaceNode(r,n,s)}(t,i,o)}));return[t.createCodeFixAction(r,s,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,r,e.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixSpelling",n=[e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,e.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2.code,e.Diagnostics.No_overload_matches_this_call.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code];function i(t,r,n,i){var a=e.getTokenAtPosition(t,r),o=a.parent;if(i!==e.Diagnostics.No_overload_matches_this_call.code&&i!==e.Diagnostics.Type_0_is_not_assignable_to_type_1.code||e.isJsxAttribute(o)){var s,c=n.program.getTypeChecker();if(e.isPropertyAccessExpression(o)&&o.name===a){e.Debug.assert(e.isIdentifierOrPrivateIdentifier(a),"Expected an identifier for spelling (property access)");var u=c.getTypeAtLocation(o.expression);32&o.flags&&(u=c.getNonNullableType(u)),s=c.getSuggestedSymbolForNonexistentProperty(a,u)}else if(e.isQualifiedName(o)&&o.right===a){var l=c.getSymbolAtLocation(o.left);l&&1536&l.flags&&(s=c.getSuggestedSymbolForNonexistentModule(o.right,l))}else if(e.isImportSpecifier(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for spelling (import)");var d=function(t,r,n){if(!n||!e.isStringLiteralLike(n.moduleSpecifier))return;var i=e.getResolvedModule(t,n.moduleSpecifier.text);return i?r.program.getSourceFile(i.resolvedFileName):void 0}(t,n,e.findAncestor(a,e.isImportDeclaration));d&&d.symbol&&(s=c.getSuggestedSymbolForNonexistentModule(a,d.symbol))}else if(e.isJsxAttribute(o)&&o.name===a){e.Debug.assertNode(a,e.isIdentifier,"Expected an identifier for JSX attribute");var _=e.findAncestor(a,e.isJsxOpeningLikeElement),p=c.getContextualTypeForArgumentAtIndex(_,0);s=c.getSuggestedSymbolForNonexistentJSXAttribute(a,p)}else{var f=e.getMeaningFromLocation(a),g=e.getTextOfNode(a);e.Debug.assert(void 0!==g,"name should be defined"),s=c.getSuggestedSymbolForNonexistentSymbol(a,g,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(f))}return void 0===s?void 0:{node:a,suggestedSymbol:s}}}function a(t,r,n,i,a){var o=e.symbolName(i);if(!e.isIdentifierText(o,a)&&e.isPropertyAccessExpression(n.parent)){var s=i.valueDeclaration;e.isNamedDeclaration(s)&&e.isPrivateIdentifier(s.name)?t.replaceNode(r,n,e.factory.createIdentifier(o)):t.replaceNode(r,n.parent,e.factory.createElementAccessExpression(n.parent.expression,e.factory.createStringLiteral(o)))}else t.replaceNode(r,n,e.factory.createIdentifier(o))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.errorCode,c=i(o,n.span.start,n,s);if(c){var u=c.node,l=c.suggestedSymbol,d=n.host.getCompilationSettings().target,_=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,u,l,d)}));return[t.createCodeFixAction("spelling",_,[e.Diagnostics.Change_spelling_to_0,e.symbolName(l)],r,e.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,e,r.code),o=e.host.getCompilationSettings().target;n&&a(t,e.sourceFile,n.node,n.suggestedSymbol,o)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n="returnValueCorrect",i="fixAddReturnStatement",a="fixRemoveBracesFromArrowFunctionBody",o="fixWrapTheBlockWithParen",s=[e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,e.Diagnostics.Type_0_is_not_assignable_to_type_1.code,e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code];function c(t,r,n){var i=t.createSymbol(4,r.escapedText);i.type=t.getTypeAtLocation(n);var a=e.createSymbolTable([i]);return t.createAnonymousType(void 0,a,[],[],void 0,void 0)}function u(t,n,i,a){if(n.body&&e.isBlock(n.body)&&1===e.length(n.body.statements)){var o=e.first(n.body.statements);if(e.isExpressionStatement(o)&&l(t,n,t.getTypeAtLocation(o.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:o.expression,statement:o,commentSource:o.expression};if(e.isLabeledStatement(o)&&e.isExpressionStatement(o.statement)){var s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(l(t,n,c(t,o.label,o.statement.expression),i,a))return e.isArrowFunction(n)?{declaration:n,kind:r.MissingParentheses,expression:s,statement:o,commentSource:o.statement.expression}:{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:o.statement.expression}}else if(e.isBlock(o)&&1===e.length(o.statements)){var u=e.first(o.statements);if(e.isLabeledStatement(u)&&e.isExpressionStatement(u.statement)){s=e.factory.createObjectLiteralExpression([e.factory.createPropertyAssignment(u.label,u.statement.expression)]);if(l(t,n,c(t,u.label,u.statement.expression),i,a))return{declaration:n,kind:r.MissingReturnStatement,expression:s,statement:o,commentSource:u}}}}}function l(t,r,n,i,a){if(a){var o=t.getSignatureFromDeclaration(r);if(o){e.hasSyntacticModifier(r,256)&&(n=t.createPromiseType(n));var s=t.createSignature(r,o.typeParameters,o.thisParameter,o.parameters,n,void 0,o.minArgumentCount,o.flags);n=t.createAnonymousType(void 0,e.createSymbolTable(),[s],[],void 0,void 0)}else n=t.getAnyType()}return t.isTypeAssignableTo(n,i)}function d(t,r,n,i){var a=e.getTokenAtPosition(r,n);if(a.parent){var o=e.findAncestor(a.parent,e.isFunctionLikeDeclaration);switch(i){case e.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(o&&o.body&&o.type&&e.rangeContainsRange(o.type,a)))return;return u(t,o,t.getTypeFromTypeNode(o.type),!1);case e.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!o||!e.isCallExpression(o.parent)||!o.body)return;var s=o.parent.arguments.indexOf(o),c=t.getContextualTypeForArgumentAtIndex(o.parent,s);if(!c)return;return u(t,o,c,!0);case e.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!e.isDeclarationName(a)||!e.isVariableLike(a.parent)&&!e.isJsxAttribute(a.parent))return;var l=function(t){switch(t.kind){case 249:case 160:case 198:case 163:case 288:return t.initializer;case 280:return t.initializer&&(e.isJsxExpression(t.initializer)?t.initializer.expression:void 0);case 289:case 162:case 291:case 333:case 326:return}}(a.parent);if(!l||!e.isFunctionLikeDeclaration(l)||!l.body)return;return u(t,l,t.getTypeAtLocation(a.parent),!0)}}}function _(t,r,n,i){e.suppressLeadingAndTrailingTrivia(n);var a=e.probablyUsesSemicolons(r);t.replaceNode(r,i,e.factory.createReturnStatement(n),{leadingTriviaOption:e.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:e.textChanges.TrailingTriviaOption.Exclude,suffix:a?";":void 0})}function p(t,r,n,i,a,o){var s=o||e.needsParentheses(i)?e.factory.createParenthesizedExpression(i):i;e.suppressLeadingAndTrailingTrivia(a),e.copyComments(a,s),t.replaceNode(r,n.body,s)}function f(t,r,n,i){t.replaceNode(r,n.body,e.factory.createParenthesizedExpression(i))}function g(r,a,o){var s=e.textChanges.ChangeTracker.with(r,(function(e){return _(e,r.sourceFile,a,o)}));return t.createCodeFixAction(n,s,e.Diagnostics.Add_a_return_statement,i,e.Diagnostics.Add_all_missing_return_statement)}function m(r,i,a){var s=e.textChanges.ChangeTracker.with(r,(function(e){return f(e,r.sourceFile,i,a)}));return t.createCodeFixAction(n,s,e.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,o,e.Diagnostics.Wrap_all_object_literal_with_parentheses)}!function(e){e[e.MissingReturnStatement=0]="MissingReturnStatement",e[e.MissingParentheses=1]="MissingParentheses"}(r||(r={})),t.registerCodeFix({errorCodes:s,fixIds:[i,a,o],getCodeActions:function(i){var o=i.program,s=i.sourceFile,c=i.span.start,u=i.errorCode,l=d(o.getTypeChecker(),s,c,u);if(l)return l.kind===r.MissingReturnStatement?e.append([g(i,l.expression,l.statement)],e.isArrowFunction(l.declaration)?function(r,i,o,s){var c=e.textChanges.ChangeTracker.with(r,(function(e){return p(e,r.sourceFile,i,o,s,!1)}));return t.createCodeFixAction(n,c,e.Diagnostics.Remove_braces_from_arrow_function_body,a,e.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)}(i,l.declaration,l.expression,l.commentSource):void 0):[m(i,l.declaration,l.expression)]},getAllCodeActions:function(r){return t.codeFixAll(r,s,(function(t,n){var s=d(r.program.getTypeChecker(),n.file,n.start,n.code);if(s)switch(r.fixId){case i:_(t,n.file,s.expression,s.statement);break;case a:if(!e.isArrowFunction(s.declaration))return;p(t,n.file,s.declaration,s.expression,s.commentSource,!1);break;case o:if(!e.isArrowFunction(s.declaration))return;f(t,n.file,s.declaration,s.expression);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r,n="addMissingMember",i=[e.Diagnostics.Property_0_does_not_exist_on_type_1.code,e.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,e.Diagnostics.Property_0_is_missing_in_type_1_but_required_in_type_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2.code,e.Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more.code],a="addMissingMember";function o(t,r,n,i){var a=e.getTokenAtPosition(t,r);if(e.isIdentifier(a)||e.isPrivateIdentifier(a)){var o=a.parent;if(e.isPropertyAccessExpression(o)){var s=e.skipConstraint(n.getTypeAtLocation(o.expression)),c=s.symbol;if(c&&c.declarations){var u=e.find(c.declarations,e.isClassLike);if(u||!e.isPrivateIdentifier(a)){var l=u||e.find(c.declarations,e.isInterfaceDeclaration);if(l&&!i.isSourceFileFromExternalLibrary(l.getSourceFile())){var d=(s.target||s)!==n.getDeclaredTypeOfSymbol(c);if(d&&(e.isPrivateIdentifier(a)||e.isInterfaceDeclaration(l)))return;var _=l.getSourceFile(),p=(d?32:0)|(e.startsWithUnderscore(a.text)?8:0),f=e.isSourceFileJS(_);return{kind:1,token:a,call:e.tryCast(o.parent,e.isCallExpression),modifierFlags:p,parentDeclaration:l,declSourceFile:_,isJSFile:f}}var g=e.find(c.declarations,e.isEnumDeclaration);return!g||e.isPrivateIdentifier(a)||i.isSourceFileFromExternalLibrary(g.getSourceFile())?void 0:{kind:0,token:a,parentDeclaration:g}}}}}}function s(t,r,n,i,a){var o=i.text;if(a){if(221===n.kind)return;var s=n.name.getText(),u=c(e.factory.createIdentifier(s),o);t.insertNodeAfter(r,n,u)}else if(e.isPrivateIdentifier(i)){var l=e.factory.createPropertyDeclaration(void 0,void 0,o,void 0,void 0,void 0),_=d(n);_?t.insertNodeAfter(r,_,l):t.insertNodeAtClassStart(r,n,l)}else{var p=e.getFirstConstructorWithBody(n);if(!p)return;var f=c(e.factory.createThis(),o);t.insertNodeAtConstructorEnd(r,p,f)}}function c(t,r){return e.factory.createExpressionStatement(e.factory.createAssignment(e.factory.createPropertyAccessExpression(t,r),e.factory.createIdentifier("undefined")))}function u(t,r,n){var i;if(216===n.parent.parent.kind){var a=n.parent.parent,o=n.parent===a.left?a.right:a.left,s=t.getWidenedType(t.getBaseTypeOfLiteralType(t.getTypeAtLocation(o)));i=t.typeToTypeNode(s,r,void 0)}else{var c=t.getContextualType(n.parent);i=c?t.typeToTypeNode(c,void 0,void 0):void 0}return i||e.factory.createKeywordTypeNode(128)}function l(t,r,n,i,a,o){var s=e.factory.createPropertyDeclaration(void 0,o?e.factory.createNodeArray(e.factory.createModifiersFromModifierFlags(o)):void 0,i,void 0,a,void 0),c=d(n);c?t.insertNodeAfter(r,c,s):t.insertNodeAtClassStart(r,n,s)}function d(t){for(var r,n=0,i=t.members;n=e.ModuleKind.ES2015&&o99){s=e.textChanges.ChangeTracker.with(r,(function(r){if(e.getTsConfigObjectLiteralExpression(i)){var n=[["target",e.factory.createStringLiteral("es2017")]];o===e.ModuleKind.CommonJS&&n.push(["module",e.factory.createStringLiteral("commonjs")]),t.setJsonCompilerOptionValues(r,i,n)}}));a.push(t.createCodeFixActionWithoutFixAll("fixTargetOption",s,[e.Diagnostics.Set_the_target_option_in_your_configuration_file_to_0,"es2017"]))}return a.length?a:void 0}}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixPropertyAssignment",n=[e.Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern.code];function i(t,r,n){t.replaceNode(r,n,e.factory.createPropertyAssignment(n.name,n.objectAssignmentInitializer))}function a(t,r){return e.cast(e.getTokenAtPosition(t,r).parent,e.isShorthandPropertyAssignment)}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var o=a(n.sourceFile,n.span.start),s=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,o)}));return[t.createCodeFixAction(r,s,[e.Diagnostics.Change_0_to_1,"=",":"],r,[e.Diagnostics.Switch_each_misused_0_to_1,"=",":"])]},getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,a(t.file,t.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="extendsInterfaceBecomesImplements",n=[e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code];function i(t,r){var n=e.getTokenAtPosition(t,r),i=e.getContainingClass(n).heritageClauses,a=i[0].getFirstToken();return 93===a.kind?{extendsToken:a,heritageClauses:i}:void 0}function a(t,r,n,i){if(t.replaceNode(r,n,e.factory.createToken(116)),2===i.length&&93===i[0].token&&116===i[1].token){var a=i[1].getFirstToken(),o=a.getFullStart();t.replaceRange(r,{pos:o,end:o},e.factory.createToken(27));for(var s=r.text,c=a.end;c":">","}":"}"};function o(t,r,n,i,o){var s=n.getText()[i];if(function(t){return e.hasProperty(a,t)}(s)){var c=o?a[s]:"{"+e.quote(n,r,s)+"}";t.replaceRangeWithText(n,{pos:i,end:i+1},c)}}}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="unusedIdentifier",n="unusedIdentifier_prefix",i="unusedIdentifier_delete",a="unusedIdentifier_infer",o=[e.Diagnostics._0_is_declared_but_its_value_is_never_read.code,e.Diagnostics._0_is_declared_but_never_used.code,e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,e.Diagnostics.All_imports_in_import_declaration_are_unused.code,e.Diagnostics.All_destructured_elements_are_unused.code,e.Diagnostics.All_variables_are_unused.code,e.Diagnostics.All_type_parameters_are_unused.code];function s(t,r,n){t.replaceNode(r,n.parent,e.factory.createKeywordTypeNode(152))}function c(n,a){return t.createCodeFixAction(r,n,a,i,e.Diagnostics.Delete_all_unused_declarations)}function u(t,r,n){t.delete(r,e.Debug.checkDefined(e.cast(n.parent,e.isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function l(t){return 99===t.kind?e.tryCast(t.parent,e.isImportDeclaration):void 0}function d(t,r){return e.isVariableDeclarationList(r.parent)&&e.first(r.parent.getChildren(t))===r}function _(e,t,r){e.delete(t,232===r.parent.kind?r.parent:r)}function p(t,r,n){e.forEach(n.elements,(function(e){return t.delete(r,e)}))}function f(t,r,n,i){r!==e.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(135===i.kind&&(i=e.cast(i.parent,e.isInferTypeNode).typeParameter.name),e.isIdentifier(i)&&function(e){switch(e.parent.kind){case 160:case 159:return!0;case 249:switch(e.parent.parent.parent.kind){case 239:case 238:return!0}}return!1}(i)&&(t.replaceNode(n,i,e.factory.createIdentifier("_"+i.text)),e.isParameter(i.parent)&&e.getJSDocParameterTags(i.parent).forEach((function(r){e.isIdentifier(r.name)&&t.replaceNode(n,r.name,e.factory.createIdentifier("_"+r.name.text))}))))}function g(t,r,n,i,a,o){!function(t,r,n,i,a,o){var s=t.parent;e.isParameter(s)?function(t,r,n,i,a,o){void 0===o&&(o=!1);(function(t,r,n,i){var a=n.parent;switch(a.kind){case 165:var o=t.getSymbolAtLocation(a.name);if(e.isMemberSymbolInBaseType(o,t))return!1;case 166:return!0;case 251:return!a.name||!function(t,r,n){return!!e.FindAllReferences.Core.eachSymbolReferenceInFile(n,t,r,(function(t){return e.isIdentifier(t)&&e.isCallExpression(t.parent)&&t.parent.arguments.indexOf(t)>=0}))}(t,r,a.name)||m(a,n,i);case 208:case 209:return m(a,n,i);case 168:return!1;default:return e.Debug.failBadSyntaxKind(a)}})(i,r,n,o)&&(n.modifiers&&n.modifiers.length>0&&(!e.isIdentifier(n.name)||e.FindAllReferences.Core.isSymbolReferencedInFile(n.name,i,r))?n.modifiers.forEach((function(e){return t.deleteModifier(r,e)})):(t.delete(r,n),function(t,r,n,i,a){e.FindAllReferences.Core.eachSignatureCall(n.parent,i,a,(function(e){var i=n.parent.parameters.indexOf(n);e.arguments.length>i&&t.delete(r,e.arguments[i])}))}(t,r,n,a,i)))}(r,n,s,i,a,o):r.delete(n,e.isImportClause(s)?t:e.isComputedPropertyName(s)?s.parent:s)}(r,n,t,i,a,o),e.isIdentifier(r)&&function(t,r,n,i){e.FindAllReferences.Core.eachSymbolReferenceInFile(n,i,r,(function(n){e.isPropertyAccessExpression(n.parent)&&n.parent.name===n&&(n=n.parent),e.isBinaryExpression(n.parent)&&e.isExpressionStatement(n.parent.parent)&&n.parent.left===n&&t.delete(r,n.parent.parent)}))}(n,t,r,i)}function m(t,r,n){var i=t.parameters,a=i.indexOf(r);return e.Debug.assert(-1!==a,"The parameter should already be in the list"),n?i.slice(a+1).every((function(t){return e.isIdentifier(t.name)&&!t.symbol.isReferenced})):a===i.length-1}t.registerCodeFix({errorCodes:o,getCodeActions:function(i){var o=i.errorCode,m=i.sourceFile,y=i.program,v=y.getTypeChecker(),h=y.getSourceFiles(),D=e.getTokenAtPosition(m,i.span.start);if(e.isJSDocTemplateTag(D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D)})),e.Diagnostics.Remove_template_tag)];if(29===D.kind)return[c(C=e.textChanges.ChangeTracker.with(i,(function(e){return u(e,m,D)})),e.Diagnostics.Remove_type_parameters)];var x=l(D);if(x)return[c(C=e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,x)})),[e.Diagnostics.Remove_import_from_0,e.showModuleSpecifier(x)])];if(e.isObjectBindingPattern(D.parent)){if(e.isParameter(D.parent.parent)){var b=D.parent.elements,S=[b.length>1?e.Diagnostics.Remove_unused_declarations_for_Colon_0:e.Diagnostics.Remove_unused_declaration_for_Colon_0,e.map(b,(function(e){return e.getText(m)})).join(", ")];return[c(e.textChanges.ChangeTracker.with(i,(function(e){return p(e,m,D.parent)})),S)]}return[c(e.textChanges.ChangeTracker.with(i,(function(e){return e.delete(m,D.parent.parent)})),e.Diagnostics.Remove_unused_destructuring_declaration)]}if(d(m,D))return[c(e.textChanges.ChangeTracker.with(i,(function(e){return _(e,m,D.parent)})),e.Diagnostics.Remove_variable_statement)];var E=[];if(135===D.kind){var C=e.textChanges.ChangeTracker.with(i,(function(e){return s(e,m,D)})),T=e.cast(D.parent,e.isInferTypeNode).typeParameter.name.text;E.push(t.createCodeFixAction(r,C,[e.Diagnostics.Replace_infer_0_with_unknown,T],a,e.Diagnostics.Replace_all_unused_infer_with_unknown))}else{var k=e.textChanges.ChangeTracker.with(i,(function(e){return g(m,D,e,v,h,!1)}));if(k.length){T=e.isComputedPropertyName(D.parent)?D.parent:D;E.push(c(k,[e.Diagnostics.Remove_unused_declaration_for_Colon_0,T.getText(m)]))}}var A=e.textChanges.ChangeTracker.with(i,(function(e){return f(e,o,m,D)}));return A.length&&E.push(t.createCodeFixAction(r,A,[e.Diagnostics.Prefix_0_with_an_underscore,D.getText(m)],n,e.Diagnostics.Prefix_all_unused_declarations_with_where_possible)),E},fixIds:[n,i,a],getAllCodeActions:function(r){var c=r.sourceFile,m=r.program,y=m.getTypeChecker(),v=m.getSourceFiles();return t.codeFixAll(r,o,(function(t,o){var m=e.getTokenAtPosition(c,o.start);switch(r.fixId){case n:f(t,o.code,c,m);break;case i:if(135===m.kind)break;var h=l(m);h?t.delete(c,h):e.isJSDocTemplateTag(m)?t.delete(c,m):29===m.kind?u(t,c,m):e.isObjectBindingPattern(m.parent)?e.isParameter(m.parent.parent)?p(t,c,m.parent):t.delete(c,m.parent.parent):d(c,m)?_(t,c,m.parent):g(c,m,t,y,v,!0);break;case a:135===m.kind&&s(t,c,m);break;default:e.Debug.fail(JSON.stringify(r.fixId))}}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixUnreachableCode",n=[e.Diagnostics.Unreachable_code_detected.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n),s=e.findAncestor(o,e.isStatement);if(s.getStart(r)!==o.getStart(r)){var c=JSON.stringify({statementKind:e.Debug.formatSyntaxKind(s.kind),tokenKind:e.Debug.formatSyntaxKind(o.kind),errorCode:a,start:n,length:i});e.Debug.fail("Token and statement should start at the same point. "+c)}var u=(e.isBlock(s.parent)?s.parent:s).parent;if(!e.isBlock(s.parent)||s===e.first(s.parent.statements))switch(u.kind){case 234:if(u.elseStatement){if(e.isBlock(s.parent))break;return void t.replaceNode(r,s,e.factory.createBlock(e.emptyArray))}case 236:case 237:return void t.delete(r,u)}if(e.isBlock(s.parent)){var l=n+i,d=e.Debug.checkDefined(function(e,t){for(var r,n=0,i=e;nM.length)B(S,f.getSignatureFromDeclaration(p[p.length-1]),h,y,o(S));else e.Debug.assert(p.length===M.length,"Declarations and signatures should match count"),d(function(t,r,n,i,s){for(var c=t[0],u=t[0].minArgumentCount,l=!1,d=0,_=t;d<_.length;d++){var p=_[d];u=Math.min(p.minArgumentCount,u),e.signatureHasRestParameter(p)&&(l=!0),p.parameters.length>=c.parameters.length&&(!e.signatureHasRestParameter(p)||e.signatureHasRestParameter(c))&&(c=p)}var f=c.parameters.length-(e.signatureHasRestParameter(c)?1:0),g=c.parameters.map((function(e){return e.name})),m=a(f,g,void 0,u,!1);if(l){var y=e.factory.createArrayTypeNode(e.factory.createKeywordTypeNode(128)),v=e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),g[f]||"rest",f>=u?e.factory.createToken(57):void 0,y,void 0);m.push(v)}return function(t,r,n,i,a,s,c){return e.factory.createMethodDeclaration(void 0,t,void 0,r,n?e.factory.createToken(57):void 0,i,a,s,o(c))}(i,r,n,void 0,m,void 0,s)}(M,y,x,h,S))}}function B(t,i,a,o,c){var p=function(t,n,i,a,o,s,c,u,d){var p=t.program,f=p.getTypeChecker(),g=e.getEmitScriptTarget(p.getCompilerOptions()),m=1073742081|(0===n?268435456:0),y=f.signatureToSignatureDeclaration(i,165,a,m,r(t));if(!y)return;var v=y.typeParameters,h=y.parameters,D=y.type;if(d){if(v){var x=e.sameMap(v,(function(t){var r,n=t.constraint,i=t.default;n&&((r=l(n,g))&&(n=r.typeNode,_(d,r.symbols)));i&&((r=l(i,g))&&(i=r.typeNode,_(d,r.symbols)));return e.factory.updateTypeParameterDeclaration(t,t.name,n,i)}));v!==x&&(v=e.setTextRange(e.factory.createNodeArray(x,v.hasTrailingComma),v))}var b=e.sameMap(h,(function(t){var r=l(t.type,g),n=t.type;return r&&(n=r.typeNode,_(d,r.symbols)),e.factory.updateParameterDeclaration(t,t.decorators,t.modifiers,t.dotDotDotToken,t.name,t.questionToken,n,t.initializer)}));if(h!==b&&(h=e.setTextRange(e.factory.createNodeArray(b,h.hasTrailingComma),h)),D){var S=l(D,g);S&&(D=S.typeNode,_(d,S.symbols))}}return e.factory.updateMethodDeclaration(y,void 0,o,y.asteriskToken,s,c?e.factory.createToken(57):void 0,v,h,D,u)}(s,t,i,n,a,o,x,c,u);p&&d(p)}}function i(t,r,n,i,a,o,s){var c=t.typeToTypeNode(n,i,o,s);if(c&&e.isImportTypeNode(c)){var u=l(c,a);if(u)return _(r,u.symbols),u.typeNode}return c}function a(t,r,n,i,a){for(var o=[],s=0;s=i?e.factory.createToken(57):void 0,a?void 0:n&&n[s]||e.factory.createKeywordTypeNode(128),void 0);o.push(c)}return o}function o(t){return e.factory.createBlock([e.factory.createThrowStatement(e.factory.createNewExpression(e.factory.createIdentifier("Error"),void 0,[e.factory.createStringLiteral("Method not implemented.",0===t)]))],!0)}function s(t,r,n){var i=e.getTsConfigObjectLiteralExpression(r);if(i){var a=u(i,"compilerOptions");if(void 0!==a){var o=a.initializer;if(e.isObjectLiteralExpression(o))for(var s=0,l=n;s0)return[t.createCodeFixAction(r,a,e.Diagnostics.Convert_to_a_bigint_numeric_literal,r,e.Diagnostics.Convert_all_to_bigint_numeric_literals)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixAddModuleReferTypeMissingTypeof",n=[e.Diagnostics.Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0.code];function i(t,r){var n=e.getTokenAtPosition(t,r);return e.Debug.assert(99===n.kind,"This token should be an ImportKeyword"),e.Debug.assert(195===n.parent.kind,"Token parent should be an ImportType"),n.parent}function a(t,r,n){var i=e.factory.updateImportTypeNode(n,n.argument,n.qualifier,n.typeArguments,!0);t.replaceNode(r,n,i)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=n.span,c=i(o,s.start),u=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,c)}));return[t.createCodeFixAction(r,u,e.Diagnostics.Add_missing_typeof,r,e.Diagnostics.Add_missing_typeof)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){return a(t,e.sourceFile,i(r.file,r.start))}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="wrapJsxInFragment",n=[e.Diagnostics.JSX_expressions_must_have_one_parent_element.code];function i(t,r){var n=e.getTokenAtPosition(t,r).parent.parent;if((e.isBinaryExpression(n)||(n=n.parent,e.isBinaryExpression(n)))&&e.nodeIsMissing(n.operatorToken))return n}function a(t,r,n){var i=function(t){var r=[],n=t;for(;;){if(e.isBinaryExpression(n)&&e.nodeIsMissing(n.operatorToken)&&27===n.operatorToken.kind){if(r.push(n.left),e.isJsxChild(n.right))return r.push(n.right),r;if(e.isBinaryExpression(n.right)){n=n.right;continue}return}return}}(n);i&&t.replaceNode(r,n,e.factory.createJsxFragment(e.factory.createJsxOpeningFragment(),i,e.factory.createJsxJsxClosingFragment()))}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.program.getCompilerOptions().jsx;if(2===o||3===o){var s=n.sourceFile,c=n.span,u=i(s,c.start);if(u){var l=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,s,u)}));return[t.createCodeFixAction(r,l,e.Diagnostics.Wrap_in_JSX_fragment,r,e.Diagnostics.Wrap_all_unparented_JSX_in_JSX_fragment)]}}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(e.sourceFile,r.start);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var n="fixConvertToMappedObjectType",i=[e.Diagnostics.An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead.code];function a(t,r){var n=e.getTokenAtPosition(t,r),i=e.cast(n.parent.parent,e.isIndexSignatureDeclaration);if(!e.isClassDeclaration(i.parent))return{indexSignature:i,container:e.isInterfaceDeclaration(i.parent)?i.parent:e.cast(i.parent.parent,e.isTypeAliasDeclaration)}}function o(t,n,i){var a=i.indexSignature,o=i.container,s=(e.isInterfaceDeclaration(o)?o.members:o.type.members).filter((function(t){return!e.isIndexSignatureDeclaration(t)})),c=e.first(a.parameters),u=e.factory.createTypeParameterDeclaration(e.cast(c.name,e.isIdentifier),c.type),l=e.factory.createMappedTypeNode(e.hasEffectiveReadonlyModifier(a)?e.factory.createModifier(142):void 0,u,void 0,a.questionToken,a.type),d=e.factory.createIntersectionTypeNode(r(e.getAllSuperTypeNodes(o),[l],s.length?[e.factory.createTypeLiteralNode(s)]:e.emptyArray));t.replaceNode(n,o,function(t,r){return e.factory.createTypeAliasDeclaration(t.decorators,t.modifiers,t.name,t.typeParameters,r)}(o,d))}t.registerCodeFix({errorCodes:i,getCodeActions:function(r){var i=r.sourceFile,s=r.span,c=a(i,s.start);if(c){var u=e.textChanges.ChangeTracker.with(r,(function(e){return o(e,i,c)})),l=e.idText(c.container.name);return[t.createCodeFixAction(n,u,[e.Diagnostics.Convert_0_to_mapped_object_type,l],n,[e.Diagnostics.Convert_0_to_mapped_object_type,l])]}},fixIds:[n],getAllCodeActions:function(e){return t.codeFixAll(e,i,(function(e,t){var r=a(t.file,t.start);r&&o(e,t.file,r)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="removeAccidentalCallParentheses",n=[e.Diagnostics.This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=e.findAncestor(e.getTokenAtPosition(n.sourceFile,n.span.start),e.isCallExpression);if(i){var a=e.textChanges.ChangeTracker.with(n,(function(e){e.deleteRange(n.sourceFile,{pos:i.expression.end,end:i.end})}));return[t.createCodeFixActionWithoutFixAll(r,a,e.Diagnostics.Remove_parentheses)]}},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="removeUnnecessaryAwait",n=[e.Diagnostics.await_has_no_effect_on_the_type_of_this_expression.code];function i(t,r,n){var i=e.tryCast(e.getTokenAtPosition(r,n.start),(function(e){return 130===e.kind})),a=i&&e.tryCast(i.parent,e.isAwaitExpression);if(a){var o=a;if(e.isParenthesizedExpression(a.parent)){var s=e.getLeftmostExpression(a.expression,!1);if(e.isIdentifier(s)){var c=e.findPrecedingToken(a.parent.pos,r);c&&102!==c.kind&&(o=a.parent)}}t.replaceNode(r,o,a.expression)}}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span)}));if(a.length>0)return[t.createCodeFixAction(r,a,e.Diagnostics.Remove_unnecessary_await,r,e.Diagnostics.Remove_all_unnecessary_uses_of_await)]},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(e,t){return i(e,t.file,t)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r=[e.Diagnostics.A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both.code],n="splitTypeOnlyImport";function i(t,r){return e.findAncestor(e.getTokenAtPosition(t,r.start),e.isImportDeclaration)}function a(t,r,n){if(r){var i=e.Debug.checkDefined(r.importClause);t.replaceNode(n.sourceFile,r,e.factory.updateImportDeclaration(r,r.decorators,r.modifiers,e.factory.updateImportClause(i,i.isTypeOnly,i.name,void 0),r.moduleSpecifier)),t.insertNodeAfter(n.sourceFile,r,e.factory.createImportDeclaration(void 0,void 0,e.factory.updateImportClause(i,i.isTypeOnly,void 0,i.namedBindings),r.moduleSpecifier))}}t.registerCodeFix({errorCodes:r,fixIds:[n],getCodeActions:function(r){var o=e.textChanges.ChangeTracker.with(r,(function(e){return a(e,i(r.sourceFile,r.span),r)}));if(o.length)return[t.createCodeFixAction(n,o,e.Diagnostics.Split_into_two_separate_import_declarations,n,e.Diagnostics.Split_all_invalid_type_only_imports)]},getAllCodeActions:function(e){return t.codeFixAll(e,r,(function(t,r){a(t,i(e.sourceFile,r),e)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixConvertConstToLet",n=[e.Diagnostics.Cannot_assign_to_0_because_it_is_a_constant.code];t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var i=n.sourceFile,a=n.span,o=n.program,s=function(t,r,n){var i=e.getTokenAtPosition(t,r),a=n.getTypeChecker().getSymbolAtLocation(i);if(a)return a.valueDeclaration.parent.parent}(i,a.start,o),c=e.textChanges.ChangeTracker.with(n,(function(e){return function(e,t,r){if(!r)return;var n=r.getStart();e.replaceRangeWithText(t,{pos:n,end:n+5},"let")}(e,i,s)}));return[t.createCodeFixAction(r,c,e.Diagnostics.Convert_const_to_let,r,e.Diagnostics.Convert_const_to_let)]},fixIds:[r]})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="fixExpectedComma",n=[e.Diagnostics._0_expected.code];function i(t,r,n){var i=e.getTokenAtPosition(t,r);return 26===i.kind&&i.parent&&(e.isObjectLiteralExpression(i.parent)||e.isArrayLiteralExpression(i.parent))?{node:i}:void 0}function a(t,r,n){var i=n.node,a=e.factory.createToken(27);t.replaceNode(r,i,a)}t.registerCodeFix({errorCodes:n,getCodeActions:function(n){var o=n.sourceFile,s=i(o,n.span.start,n.errorCode);if(s){var c=e.textChanges.ChangeTracker.with(n,(function(e){return a(e,o,s)}));return[t.createCodeFixAction(r,c,[e.Diagnostics.Change_0_to_1,";",","],r,[e.Diagnostics.Change_0_to_1,";",","])]}},fixIds:[r],getAllCodeActions:function(e){return t.codeFixAll(e,n,(function(t,r){var n=i(r.file,r.start,r.code);n&&a(t,e.sourceFile,n)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="addVoidToPromise",n=[e.Diagnostics.Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise.code];function i(t,r,n,i,a){var o=e.getTokenAtPosition(r,n.start);if(e.isIdentifier(o)&&e.isCallExpression(o.parent)&&o.parent.expression===o&&0===o.parent.arguments.length){var s=i.getTypeChecker(),c=s.getSymbolAtLocation(o),u=null==c?void 0:c.valueDeclaration;if(u&&e.isParameter(u)&&e.isNewExpression(u.parent.parent)&&!(null==a?void 0:a.has(u))){null==a||a.add(u);var l=function(t){var r;if(!e.isInJSFile(t))return t.typeArguments;if(e.isParenthesizedExpression(t.parent)){var n=null===(r=e.getJSDocTypeTag(t.parent))||void 0===r?void 0:r.typeExpression.type;if(n&&e.isTypeReferenceNode(n)&&e.isIdentifier(n.typeName)&&"Promise"===e.idText(n.typeName))return n.typeArguments}}(u.parent.parent);if(e.some(l)){var d=l[0],_=!e.isUnionTypeNode(d)&&!e.isParenthesizedTypeNode(d)&&e.isParenthesizedTypeNode(e.factory.createUnionTypeNode([d,e.factory.createKeywordTypeNode(113)]).types[0]);_&&t.insertText(r,d.pos,"("),t.insertText(r,d.end,_?") | void":" | void")}else{var p=s.getResolvedSignature(o.parent),f=null==p?void 0:p.parameters[0],g=f&&s.getTypeOfSymbolAtLocation(f,u.parent.parent);e.isInJSFile(u)?(!g||3&g.flags)&&(t.insertText(r,u.parent.parent.end,")"),t.insertText(r,e.skipTrivia(r.text,u.parent.parent.pos),"/** @type {Promise} */(")):(!g||2&g.flags)&&t.insertText(r,u.parent.parent.expression.end,"")}}}}t.registerCodeFix({errorCodes:n,fixIds:[r],getCodeActions:function(n){var a=e.textChanges.ChangeTracker.with(n,(function(e){return i(e,n.sourceFile,n.span,n.program)}));if(a.length>0)return[t.createCodeFixAction("addVoidToPromise",a,e.Diagnostics.Add_void_to_Promise_resolved_without_a_value,r,e.Diagnostics.Add_void_to_all_Promises_resolved_without_a_value)]},getAllCodeActions:function(r){return t.codeFixAll(r,n,(function(t,n){return i(t,n.file,n,r.program,new e.Set)}))}})}(e.codefix||(e.codefix={}))}(u||(u={})),function(e){!function(t){var r="Convert export",n="Convert default export to named export",i="Convert named export to default export";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=a.parent&&1&e.getSyntacticModifierFlags(a.parent)&&r?a.parent:e.getParentNodeInSpan(a,n,i);if(!(o&&(e.isSourceFile(o.parent)||e.isModuleBlock(o.parent)&&e.isAmbientModule(o.parent.parent))))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_export_statement)};var s=e.isSourceFile(o.parent)?o.parent.symbol:o.parent.parent.symbol,c=e.getSyntacticModifierFlags(o),u=!!(512&c);if(!(1&c)||!u&&s.exports.has("default"))return{error:e.getLocaleSpecificMessage(e.Diagnostics.This_file_already_has_a_default_export)};switch(o.kind){case 251:case 252:case 253:case 255:case 254:case 256:var l=o;return l.name&&e.isIdentifier(l.name)?{info:{exportNode:l,exportName:l.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;case 232:var d=o;if(!(2&d.declarationList.flags)||1!==d.declarationList.declarations.length)return;var _=e.first(d.declarationList.declarations);if(!_.initializer)return;return e.Debug.assert(!u,"Can't have a default flag here"),e.isIdentifier(_.name)?{info:{exportNode:d,exportName:_.name,wasDefault:u,exportingModuleSymbol:s}}:void 0;default:return}}function o(t,r){return e.factory.createImportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}t.registerRefactor(r,{getAvailableActions:function(t){var o=a(t,"invoked"===t.triggerReason);if(!o)return e.emptyArray;if(void 0===o.error){var s=o.info.wasDefault?e.Diagnostics.Convert_default_export_to_named_export.message:e.Diagnostics.Convert_named_export_to_default_export.message,c=o.info.wasDefault?n:i;return[{name:r,description:s,actions:[{name:c,description:s}]}]}return t.preferences.provideRefactorNotApplicableReason?[{name:r,description:e.Diagnostics.Convert_default_export_to_named_export.message,actions:[{name:n,description:e.Diagnostics.Convert_default_export_to_named_export.message,notApplicableReason:o.error}]},{name:r,description:e.Diagnostics.Convert_named_export_to_default_export.message,actions:[{name:i,description:e.Diagnostics.Convert_named_export_to_default_export.message,notApplicableReason:o.error}]}]:e.emptyArray},getEditsForAction:function(t,r){return e.Debug.assert(r===n||r===i,"Unexpected action name"),{edits:e.textChanges.ChangeTracker.with(t,(function(r){var n,i,s,c,u,l;return i=t.file,s=t.program,c=e.Debug.checkDefined(null===(n=a(t))||void 0===n?void 0:n.info,"context must have info"),u=r,l=t.cancellationToken,function(t,r,n,i){var a=r.wasDefault,o=r.exportNode,s=r.exportName;if(a)n.delete(t,e.Debug.checkDefined(e.findModifier(o,87),"Should find a default keyword in modifier list"));else{var c=e.Debug.checkDefined(e.findModifier(o,92),"Should find an export keyword in modifier list");switch(o.kind){case 251:case 252:case 253:n.insertNodeAfter(t,c,e.factory.createToken(87));break;case 232:var u=e.first(o.declarationList.declarations);if(!e.FindAllReferences.Core.isSymbolReferencedInFile(s,i,t)&&!u.type){n.replaceNode(t,o,e.factory.createExportDefault(e.Debug.checkDefined(u.initializer,"Initializer was previously known to be present")));break}case 255:case 254:case 256:n.deleteModifier(t,c),n.insertNodeAfter(t,o,e.factory.createExportDefault(e.factory.createIdentifier(s.text)));break;default:e.Debug.assertNever(o,"Unexpected exportNode kind "+o.kind)}}}(i,c,u,s.getTypeChecker()),void function(t,r,n,i){var a=r.wasDefault,s=r.exportName,c=r.exportingModuleSymbol,u=t.getTypeChecker(),l=e.Debug.checkDefined(u.getSymbolAtLocation(s),"Export name should resolve to a symbol");e.FindAllReferences.Core.eachExportReference(t.getSourceFiles(),u,i,l,c,s.text,a,(function(t){var r=t.getSourceFile();a?function(t,r,n,i){var a=r.parent;switch(a.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier(i));break;case 265:case 270:var s=a;n.replaceNode(t,s,o(i,s.name.text));break;case 262:var c=a;e.Debug.assert(c.name===r,"Import clause name should match provided ref"),s=o(i,r.text);var u=c.namedBindings;if(u)if(263===u.kind){n.deleteRange(t,{pos:r.getStart(t),end:u.getStart(t)});var l=e.isStringLiteral(c.parent.moduleSpecifier)?e.quotePreferenceFromString(c.parent.moduleSpecifier,t):1,d=e.makeImport(void 0,[o(i,r.text)],c.parent.moduleSpecifier,l);n.insertNodeAfter(t,c.parent,d)}else n.delete(t,r),n.insertNodeAtEndOfList(t,u.elements,s);else n.replaceNode(t,r,e.factory.createNamedImports([s]));break;default:e.Debug.failBadSyntaxKind(a)}}(r,t,n,s.text):function(t,r,n){var i=r.parent;switch(i.kind){case 201:n.replaceNode(t,r,e.factory.createIdentifier("default"));break;case 265:var a=e.factory.createIdentifier(i.name.text);1===i.parent.elements.length?n.replaceNode(t,i.parent,a):(n.delete(t,i),n.insertNodeBefore(t,i.parent,a));break;case 270:n.replaceNode(t,i,function(t,r){return e.factory.createExportSpecifier(t===r?void 0:e.factory.createIdentifier(t),e.factory.createIdentifier(r))}("default",i.name.text));break;default:e.Debug.assertNever(i,"Unexpected parent kind "+i.kind)}}(r,t,n)}))}(s,c,u,l)})),renameFilename:void 0,renameLocation:void 0}}})}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){var r="Convert import",n="Convert namespace import to named imports",i="Convert named imports to namespace import";function a(t,r){void 0===r&&(r=!0);var n=t.file,i=e.getRefactorContextSpan(t),a=e.getTokenAtPosition(n,i.start),o=r?e.findAncestor(a,e.isImportDeclaration):e.getParentNodeInSpan(a,n,i);if(!o||!e.isImportDeclaration(o))return{error:"Selection is not an import declaration."};if(!(o.getEnd()=_.pos?p.getEnd():_.getEnd()),g=l?function(e){for(;e.parent;){if(o(e)&&!o(e.parent))return e;e=e.parent}return}(_):function(e,t){for(;e.parent;){if(o(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}return}(_,f),m=g&&o(g)?function(t){if(a(t))return t;if(e.isVariableStatement(t)){var r=e.getSingleVariableOfVariableStatement(t),n=null==r?void 0:r.initializer;return n&&a(n)?n:void 0}return t.expression&&a(t.expression)?t.expression:void 0}(g):void 0;if(!m)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var y=i.getTypeChecker();return e.isConditionalExpression(m)?function(t,r){var n=t.condition,i=d(t.whenTrue);if(!i||r.isNullableType(r.getTypeAtLocation(i)))return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};if((e.isPropertyAccessExpression(n)||e.isIdentifier(n))&&u(n,i.expression))return{info:{finalExpression:i,occurrences:[n],expression:t}};if(e.isBinaryExpression(n)){var a=c(i.expression,n);return a?{info:{finalExpression:i,occurrences:a,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}}(m,y):function(t){if(55!==t.operatorToken.kind)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Can_only_convert_logical_AND_access_chains)};var r=d(t.right);if(!r)return{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_convertible_access_expression)};var n=c(r.expression,t.left);return n?{info:{finalExpression:r,occurrences:n,expression:t}}:{error:e.getLocaleSpecificMessage(e.Diagnostics.Could_not_find_matching_access_expressions)}}(m)}}function c(t,r){for(var n=[];e.isBinaryExpression(r)&&55===r.operatorToken.kind;){var i=u(e.skipParentheses(t),e.skipParentheses(r.right));if(!i)break;n.push(i),t=i,r=r.left}var a=u(t,r);return a&&n.push(a),n.length>0?n:void 0}function u(t,r){if(e.isIdentifier(r)||e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r))return function(t,r){for(;(e.isCallExpression(t)||e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t))&&l(t)!==l(r);)t=t.expression;for(;e.isPropertyAccessExpression(t)&&e.isPropertyAccessExpression(r)||e.isElementAccessExpression(t)&&e.isElementAccessExpression(r);){if(l(t)!==l(r))return!1;t=t.expression,r=r.expression}return e.isIdentifier(t)&&e.isIdentifier(r)&&t.getText()===r.getText()}(t,r)?r:void 0}function l(t){return e.isIdentifier(t)||e.isStringOrNumericLiteralLike(t)?t.getText():e.isPropertyAccessExpression(t)?l(t.name):e.isElementAccessExpression(t)?l(t.argumentExpression):void 0}function d(t){return t=e.skipParentheses(t),e.isBinaryExpression(t)?d(t.left):(e.isPropertyAccessExpression(t)||e.isElementAccessExpression(t)||e.isCallExpression(t))&&!e.isOptionalChain(t)?t:void 0}function _(t,r,n){if(e.isPropertyAccessExpression(r)||e.isElementAccessExpression(r)||e.isCallExpression(r)){var i=_(t,r.expression,n),a=n.length>0?n[n.length-1]:void 0,o=(null==a?void 0:a.getText())===r.expression.getText();if(o&&n.pop(),e.isCallExpression(r))return o?e.factory.createCallChain(i,e.factory.createToken(28),r.typeArguments,r.arguments):e.factory.createCallChain(i,r.questionDotToken,r.typeArguments,r.arguments);if(e.isPropertyAccessExpression(r))return o?e.factory.createPropertyAccessChain(i,e.factory.createToken(28),r.name):e.factory.createPropertyAccessChain(i,r.questionDotToken,r.name);if(e.isElementAccessExpression(r))return o?e.factory.createElementAccessChain(i,e.factory.createToken(28),r.argumentExpression):e.factory.createElementAccessChain(i,r.questionDotToken,r.argumentExpression)}return r}t.registerRefactor(n,{getAvailableActions:function(t){var r=s(t,"invoked"===t.triggerReason);if(!r)return e.emptyArray;if(!r.error)return[{name:n,description:i,actions:[{name:n,description:i}]}];if(t.preferences.provideRefactorNotApplicableReason)return[{name:n,description:i,actions:[{name:n,description:i,notApplicableReason:r.error}]}];return e.emptyArray},getEditsForAction:function(t,r){var n=s(t);return n&&n.info?{edits:e.textChanges.ChangeTracker.with(t,(function(r){return function(t,r,n,i,a){var o=i.finalExpression,s=i.occurrences,c=i.expression,u=s[s.length-1],l=_(r,o,s);l&&(e.isPropertyAccessExpression(l)||e.isElementAccessExpression(l)||e.isCallExpression(l))&&(e.isBinaryExpression(c)?n.replaceNodeRange(t,u,o,l):e.isConditionalExpression(c)&&n.replaceNode(t,c,e.factory.createBinaryExpression(l,e.factory.createToken(60),c.whenFalse)))}(t.file,t.program.getTypeChecker(),r,e.Debug.checkDefined(n.info,"context must have info"))})),renameFilename:void 0,renameLocation:void 0}:void 0}})}(t.convertToOptionalChainExpression||(t.convertToOptionalChainExpression={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n="Convert overload list to single signature",i=e.Diagnostics.Convert_overload_list_to_single_signature.message;function a(e){switch(e.kind){case 164:case 165:case 169:case 166:case 170:case 251:return!0}return!1}function o(t,r,n){var i=e.getTokenAtPosition(t,r),o=e.findAncestor(i,a);if(o){var s=n.getTypeChecker(),c=o.symbol;if(c){var u=c.declarations;if(!(e.length(u)<=1)&&e.every(u,(function(r){return e.getSourceFileOfNode(r)===t}))&&a(u[0])){var l=u[0].kind;if(e.every(u,(function(e){return e.kind===l}))){var d=u;if(!e.some(d,(function(t){return!!t.typeParameters||e.some(t.parameters,(function(t){return!!t.decorators||!!t.modifiers||!e.isIdentifier(t.name)}))}))){var _=e.mapDefined(d,(function(e){return s.getSignatureFromDeclaration(e)}));if(e.length(_)===e.length(u)){var p=s.getReturnTypeOfSignature(_[0]);if(e.every(_,(function(e){return s.getReturnTypeOfSignature(e)===p})))return d}}}}}}}t.registerRefactor(n,{getEditsForAction:function(t){var r=t.file,n=t.startPosition,i=t.program,a=o(r,n,i);if(!a)return;var s=i.getTypeChecker(),c=a[a.length-1],u=c;switch(c.kind){case 164:u=e.factory.updateMethodSignature(c,c.modifiers,c.name,c.questionToken,c.typeParameters,d(a),c.type);break;case 165:u=e.factory.updateMethodDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.questionToken,c.typeParameters,d(a),c.type,c.body);break;case 169:u=e.factory.updateCallSignature(c,c.typeParameters,d(a),c.type);break;case 166:u=e.factory.updateConstructorDeclaration(c,c.decorators,c.modifiers,d(a),c.body);break;case 170:u=e.factory.updateConstructSignature(c,c.typeParameters,d(a),c.type);break;case 251:u=e.factory.updateFunctionDeclaration(c,c.decorators,c.modifiers,c.asteriskToken,c.name,c.typeParameters,d(a),c.type,c.body);break;default:return e.Debug.failBadSyntaxKind(c,"Unhandled signature kind in overload list conversion refactoring")}if(u===c)return;var l=e.textChanges.ChangeTracker.with(t,(function(e){e.replaceNodeRange(r,a[0],a[a.length-1],u)}));return{renameFilename:void 0,renameLocation:void 0,edits:l};function d(t){var r=t[t.length-1];return e.isFunctionLikeDeclaration(r)&&r.body&&(t=t.slice(0,t.length-1)),e.factory.createNodeArray([e.factory.createParameterDeclaration(void 0,void 0,e.factory.createToken(25),"args",void 0,e.factory.createUnionTypeNode(e.map(t,_)))])}function _(t){var r=e.map(t.parameters,p);return e.setEmitFlags(e.factory.createTupleTypeNode(r),e.some(r,(function(t){return!!e.length(e.getSyntheticLeadingComments(t))}))?0:1)}function p(t){e.Debug.assert(e.isIdentifier(t.name));var r=e.setTextRange(e.factory.createNamedTupleMember(t.dotDotDotToken,t.name,t.questionToken,t.type||e.factory.createKeywordTypeNode(128)),t),n=t.symbol&&t.symbol.getDocumentationComment(s);if(n){var i=e.displayPartsToString(n);i.length&&e.setSyntheticLeadingComments(r,[{text:"*\n"+i.split("\n").map((function(e){return" * "+e})).join("\n")+"\n ",kind:3,pos:-1,end:-1,hasTrailingNewLine:!0,hasLeadingNewline:!0}])}return r}},getAvailableActions:function(t){var r=t.file,a=t.startPosition,s=t.program;return o(r,a,s)?[{name:n,description:i,actions:[{name:n,description:i}]}]:e.emptyArray}})}(t.addOrRemoveBracesToArrowFunction||(t.addOrRemoveBracesToArrowFunction={}))}(e.refactor||(e.refactor={}))}(u||(u={})),function(e){!function(t){!function(r){var n,i,a,o,s="Extract Symbol";function c(t){var r=l(t.file,e.getRefactorContextSpan(t),"invoked"===t.triggerReason),n=r.targetRange;if(void 0===n)return r.errors&&0!==r.errors.length&&t.preferences.provideRefactorNotApplicableReason?[{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_function),name:"function_extract_error",notApplicableReason:S(r.errors)}]},{name:s,description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),actions:[{description:e.getLocaleSpecificMessage(e.Diagnostics.Extract_constant),name:"constant_extract_error",notApplicableReason:S(r.errors)}]}]:e.emptyArray;var i=function(t,r){var n=p(t,r),i=n.scopes,a=n.readsAndWrites,o=a.functionErrorsPerScope,s=a.constantErrorsPerScope;return i.map((function(t,r){var n,i,a=function(t){return e.isFunctionLikeDeclaration(t)?"inner function":e.isClassLike(t)?"method":"function"}(t),c=function(t){return e.isClassLike(t)?"readonly field":"constant"}(t),u=e.isFunctionLikeDeclaration(t)?function(t){switch(t.kind){case 166:return"constructor";case 208:case 251:return t.name?"function '"+t.name.text+"'":e.ANONYMOUS;case 209:return"arrow function";case 165:return"method '"+t.name.getText()+"'";case 167:return"'get "+t.name.getText()+"'";case 168:return"'set "+t.name.getText()+"'";default:throw e.Debug.assertNever(t,"Unexpected scope kind "+t.kind)}}(t):e.isClassLike(t)?function(e){return 252===e.kind?e.name?"class '"+e.name.text+"'":"anonymous class declaration":e.name?"class expression '"+e.name.text+"'":"anonymous class expression"}(t):function(e){return 257===e.kind?"namespace '"+e.parent.name.getText()+"'":e.externalModuleIndicator?0:1}(t);return 1===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"global"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"global"])):0===u?(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[a,"module"]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1_scope),[c,"module"])):(n=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[a,u]),i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_1),[c,u])),0!==r||e.isClassLike(t)||(i=e.formatStringFromArgs(e.getLocaleSpecificMessage(e.Diagnostics.Extract_to_0_in_enclosing_scope),[c])),{functionExtraction:{description:n,errors:o[r]},constantExtraction:{description:i,errors:s[r]}}}))}(n,t);if(void 0===i)return e.emptyArray;for(var a,o,c=[],u=new e.Map,d=[],_=new e.Map,f=0,g=0,m=i;g0;if(e.isBlock(t)&&!s&&0===i.size)return{body:e.factory.createBlock(t.statements,!0),returnValueProperty:void 0};var c=!1,u=e.factory.createNodeArray(e.isBlock(t)?t.statements.slice(0):[e.isStatement(t)?t:e.factory.createReturnStatement(t)]);if(s||i.size){var l=e.visitNodes(u,_).slice();if(s&&!a&&e.isStatement(t)){var d=m(r,n);1===d.length?l.push(e.factory.createReturnStatement(d[0].name)):l.push(e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(d)))}return{body:e.factory.createBlock(l,!0),returnValueProperty:o}}return{body:e.factory.createBlock(u,!0),returnValueProperty:void 0};function _(t){if(!c&&e.isReturnStatement(t)&&s){var a=m(r,n);return t.expression&&(o||(o="__return"),a.unshift(e.factory.createPropertyAssignment(o,e.visitNode(t.expression,_)))),1===a.length?e.factory.createReturnStatement(a[0].name):e.factory.createReturnStatement(e.factory.createObjectLiteralExpression(a))}var u=c;c=c||e.isFunctionLikeDeclaration(t)||e.isClassLike(t);var l=i.get(e.getNodeId(t).toString()),d=l?e.getSynthesizedDeepClone(l):e.visitEachChild(t,_,e.nullTransformationContext);return c=u,d}}(t,a,u,_,!!(o.facts&i.HasReturn)),I=w.body,O=w.returnValueProperty;if(e.suppressLeadingAndTrailingTrivia(I),e.isClassLike(r)){var M=S?[]:[e.factory.createModifier(120)];o.facts&i.InStaticRegion&&M.push(e.factory.createModifier(123)),o.facts&i.IsAsyncFunction&&M.push(e.factory.createModifier(129)),P=e.factory.createMethodDeclaration(void 0,M.length?M:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,void 0,A,C,c,I)}else P=e.factory.createFunctionDeclaration(void 0,o.facts&i.IsAsyncFunction?[e.factory.createToken(129)]:void 0,o.facts&i.IsGenerator?e.factory.createToken(41):void 0,E,A,C,c,I);var L=e.textChanges.ChangeTracker.fromContext(s),R=function(t,r){return e.find(function(t){if(e.isFunctionLikeDeclaration(t)){var r=t.body;if(e.isBlock(r))return r.statements}else{if(e.isModuleBlock(t)||e.isSourceFile(t))return t.statements;if(e.isClassLike(t))return t.members;e.assertType(t)}return e.emptyArray}(r),(function(r){return r.pos>=t&&e.isFunctionLikeDeclaration(r)&&!e.isConstructorDeclaration(r)}))}((y(o.range)?e.last(o.range):o.range).end,r);R?L.insertNodeBefore(s.file,R,P,!0):L.insertNodeAtEndOfScope(s.file,r,P);h.writeFixes(L);var B=[],j=function(t,r,n){var a=e.factory.createIdentifier(n);if(e.isClassLike(t)){var o=r.facts&i.InStaticRegion?e.factory.createIdentifier(t.name.text):e.factory.createThis();return e.factory.createPropertyAccessExpression(o,a)}return a}(r,o,b),J=e.factory.createCallExpression(j,F,T);o.facts&i.IsGenerator&&(J=e.factory.createYieldExpression(e.factory.createToken(41),J));o.facts&i.IsAsyncFunction&&(J=e.factory.createAwaitExpression(J));D(t)&&(J=e.factory.createJsxExpression(void 0,J));if(a.length&&!u)if(e.Debug.assert(!O,"Expected no returnValueProperty"),e.Debug.assert(!(o.facts&i.HasReturn),"Expected RangeFacts.HasReturn flag to be unset"),1===a.length){var K=a[0];B.push(e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([e.factory.createVariableDeclaration(e.getSynthesizedDeepClone(K.name),void 0,e.getSynthesizedDeepClone(K.type),J)],K.parent.flags)))}else{for(var z=[],U=[],V=a[0].parent.flags,q=!1,W=0,H=a;W0,"Found no members");for(var a=!0,o=0,s=i;ot)return n||i[0];if(a&&!e.isPropertyDeclaration(c)){if(void 0!==n)return c;a=!1}n=c}return void 0===n?e.Debug.fail():n}(t.pos,r);m.insertNodeBefore(o.file,b,v,!0),m.replaceNode(o.file,t,x)}else{var S=e.factory.createVariableDeclaration(d,void 0,f,g),E=function(t,r){var n;for(;void 0!==t&&t!==r;){if(e.isVariableDeclaration(t)&&t.initializer===n&&e.isVariableDeclarationList(t.parent)&&t.parent.declarations.length>1)return t;n=t,t=t.parent}}(t,r);if(E){m.insertNodeBefore(o.file,E,S);x=e.factory.createIdentifier(d);m.replaceNode(o.file,t,x)}else if(233===t.parent.kind&&r===e.findAncestor(t,_)){var C=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));m.replaceNode(o.file,t.parent,C)}else{C=e.factory.createVariableStatement(void 0,e.factory.createVariableDeclarationList([S],2));if(0===(b=function(t,r){var n;e.Debug.assert(!e.isClassLike(r));for(var i=t;i!==r;i=i.parent)_(i)&&(n=i);for(i=(n||t).parent;;i=i.parent){if(h(i)){for(var a=void 0,o=0,s=i.statements;ot.pos)break;a=c}return!a&&e.isCaseClause(i)?(e.Debug.assert(e.isSwitchStatement(i.parent.parent),"Grandparent isn't a switch statement"),i.parent.parent):e.Debug.checkDefined(a,"prevStatement failed to get set")}e.Debug.assert(i!==r,"Didn't encounter a block-like before encountering scope")}}(t,r)).pos?m.insertNodeAtTopOfFile(o.file,C,!1):m.insertNodeBefore(o.file,b,C,!1),233===t.parent.kind)m.delete(o.file,t.parent);else{x=e.factory.createIdentifier(d);D(t)&&(x=e.factory.createJsxExpression(void 0,x)),m.replaceNode(o.file,t,x)}}}var T=m.getChanges(),k=t.getSourceFile().fileName,A=e.getRenameLocation(T,k,d,!0);return{renameFilename:k,renameLocation:A,edits:T};function F(n,i){if(void 0===n)return{variableType:n,initializer:i};if(!e.isFunctionExpression(i)&&!e.isArrowFunction(i)||i.typeParameters)return{variableType:n,initializer:i};var a=u.getTypeAtLocation(t),o=e.singleOrUndefined(u.getSignaturesOfType(a,0));if(!o)return{variableType:n,initializer:i};if(o.getTypeParameters())return{variableType:n,initializer:i};for(var s=[],c=!1,l=0,d=i.parameters;l=r.start+r.length)return(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractSuper)),!0}else f|=i.UsesThis;break;case 209:e.forEachChild(a,(function t(r){if(e.isThis(r))f|=i.UsesThis;else{if(e.isClassLike(r)||e.isFunctionLike(r)&&!e.isArrowFunction(r))return!1;e.forEachChild(r,t)}}));case 252:case 251:e.isSourceFile(a.parent)&&void 0===a.parent.externalModuleIndicator&&(o||(o=[])).push(e.createDiagnosticForNode(a,n.functionWillNotBeVisibleInTheNewScope));case 221:case 208:case 165:case 166:case 167:case 168:return!1}var d=u;switch(a.kind){case 234:case 247:u=0;break;case 230:a.parent&&247===a.parent.kind&&a.parent.finallyBlock===a&&(u=4);break;case 285:case 284:u|=1;break;default:e.isIterationStatement(a,!1)&&(u|=3)}switch(a.kind){case 187:case 107:f|=i.UsesThis;break;case 245:var _=a.label;(c||(c=[])).push(_.escapedText),e.forEachChild(a,t),c.pop();break;case 241:case 240:(_=a.label)?e.contains(c,_.escapedText)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):u&(241===a.kind?1:2)||(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 213:f|=i.IsAsyncFunction;break;case 219:f|=i.IsGenerator;break;case 242:4&u?f|=i.HasReturn:(o||(o=[])).push(e.createDiagnosticForNode(a,n.cannotExtractRangeContainingConditionalReturnStatement));break;default:e.forEachChild(a,t)}u=d}(t),o}}function d(t){return e.isStatement(t)?[t]:e.isExpressionNode(t)?e.isExpressionStatement(t.parent)?[t.parent]:t:void 0}function _(t){return e.isFunctionLikeDeclaration(t)||e.isSourceFile(t)||e.isModuleBlock(t)||e.isClassLike(t)}function p(t,r){var a=r.file,o=function(t){var r=y(t.range)?e.first(t.range):t.range;if(t.facts&i.UsesThis){var n=e.getContainingClass(r);if(n){var a=e.findAncestor(r,e.isFunctionLikeDeclaration);return a?[a,n]:[n]}}for(var o=[];;)if(160===(r=r.parent).kind&&(r=e.findAncestor(r,(function(t){return e.isFunctionLikeDeclaration(t)})).parent),_(r)&&(o.push(r),297===r.kind))return o}(t);return{scopes:o,readsAndWrites:function(t,r,a,o,s,c){var u,l,d=new e.Map,_=[],p=[],f=[],g=[],m=[],v=new e.Map,h=[],D=y(t.range)?1===t.range.length&&e.isExpressionStatement(t.range[0])?t.range[0].expression:void 0:t.range;if(void 0===D){var x=t.range,b=e.first(x).getStart(),S=e.last(x).end;l=e.createFileDiagnostic(o,b,S-b,n.expressionExpected)}else 147456&s.getTypeAtLocation(D).flags&&(l=e.createDiagnosticForNode(D,n.uselessConstantType));for(var E=0,C=r;E0){for(var w=new e.Map,I=0,O=N;void 0!==O&&I0&&(i.usages.size>0||i.typeParameterUsages.size>0)){var a=y(t.range)?t.range[0]:t.range;g[r].push(e.createDiagnosticForNode(a,n.cannotAccessVariablesFromNestedScopes))}var o,s=!1;if(_[r].usages.forEach((function(t){2===t.usage&&(s=!0,106500&t.symbol.flags&&t.symbol.valueDeclaration&&e.hasEffectiveModifier(t.symbol.valueDeclaration,64)&&(o=t.symbol.valueDeclaration))})),e.Debug.assert(y(t.range)||0===h.length,"No variable declarations expected if something was extracted"),s&&!y(t.range)){var c=e.createDiagnosticForNode(t.range,n.cannotWriteInExpression);f[r].push(c),g[r].push(c)}else if(o&&r>0){c=e.createDiagnosticForNode(o,n.cannotExtractReadonlyPropertyInitializerOutsideConstructor);f[r].push(c),g[r].push(c)}else if(u){c=e.createDiagnosticForNode(u,n.cannotExtractExportedEntity);f[r].push(c),g[r].push(c)}},K=0;K=u)return m;if(A.set(m,u),y){for(var v=0,h=_;v=0)){var n=e.isIdentifier(r)?G(r):s.getSymbolAtLocation(r);if(n){var i=e.find(m,(function(e){return e.symbol===n}));if(i)if(e.isVariableDeclaration(i)){var a=i.symbol.id.toString();v.has(a)||(h.push(i),v.set(a,!0))}else u=u||i}e.forEachChild(r,H)}}function G(t){return t.parent&&e.isShorthandPropertyAssignment(t.parent)&&t.parent.name===t?s.getShorthandAssignmentValueSymbol(t.parent):s.getSymbolAtLocation(t)}function Y(t,r,n){if(t){var i=t.getDeclarations();if(i&&i.some((function(e){return e.parent===r})))return e.factory.createIdentifier(t.name);var a=Y(t.parent,r,n);if(void 0!==a)return n?e.factory.createQualifiedName(a,e.factory.createIdentifier(t.name)):e.factory.createPropertyAccessExpression(a,t.name)}}}(t,o,function(t,r){return y(t.range)?{pos:e.first(t.range).getStart(r),end:e.last(t.range).getEnd()}:t.range}(t,a),a,r.program.getTypeChecker(),r.cancellationToken)}}function f(e){var t,r=e.symbol;if(r&&r.declarations)for(var n=0,i=r.declarations;nn.pos}));if(-1!==a){var o=i[a];if(e.isNamedDeclaration(o)&&o.name&&e.rangeContainsRange(o.name,n))return{toMove:[i[a]],afterLast:i[a+1]};if(!(n.pos>o.getStart(r))){var s=e.findIndex(i,(function(e){return e.end>n.end}),a);if(-1===s||!(0===s||i[s].getStart(r)=2&&e.every(t,(function(t){return function(t,r){if(e.isRestParameter(t)){var n=r.getTypeAtLocation(t);if(!r.isArrayType(n)&&!r.isTupleType(n))return!1}return!t.modifiers&&!t.decorators&&e.isIdentifier(t.name)}(t,r)}))}(t.parameters,r))return!1;switch(t.kind){case 251:return _(t)&&d(t,r);case 165:return d(t,r);case 166:return e.isClassDeclaration(t.parent)?_(t.parent)&&d(t,r):p(t.parent.parent)&&d(t,r);case 208:case 209:return p(t.parent)}return!1}(a,n)&&e.rangeContainsRange(a,i))||a.body&&e.rangeContainsRange(a.body,i)?void 0:a}function d(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function _(t){return!!t.name||!!e.findModifier(t,87)}function p(t){return e.isVariableDeclaration(t)&&e.isVarConst(t)&&e.isIdentifier(t.name)&&!t.type}function f(t){return t.length>0&&e.isThis(t[0].name)}function g(t){return f(t)&&(t=e.factory.createNodeArray(t.slice(1),t.hasTrailingComma)),t}function m(t,r){var n=g(t.parameters),i=e.isRestParameter(e.last(n)),a=i?r.slice(0,n.length-1):r,o=e.map(a,(function(t,r){var i=function(t,r){return e.isIdentifier(r)&&e.getTextOfIdentifierOrLiteral(r)===t?e.factory.createShorthandPropertyAssignment(t):e.factory.createPropertyAssignment(t,r)}(y(n[r]),t);return e.suppressLeadingAndTrailingTrivia(i.name),e.isPropertyAssignment(i)&&e.suppressLeadingAndTrailingTrivia(i.initializer),e.copyComments(t,i),i}));if(i&&r.length>=n.length){var s=r.slice(n.length-1),c=e.factory.createPropertyAssignment(y(e.last(n)),e.factory.createArrayLiteralExpression(s));o.push(c)}return e.factory.createObjectLiteralExpression(o,!1)}function y(t){return e.getTextOfIdentifierOrLiteral(t.name)}t.registerRefactor(i,{getEditsForAction:function(t,n){e.Debug.assert(n===i,"Unexpected action name");var d=t.file,_=t.startPosition,p=t.program,v=t.cancellationToken,h=t.host,D=l(d,_,p.getTypeChecker());if(!D||!v)return;var x=function(t,n,i){var l=function(t){switch(t.kind){case 251:return t.name?[t.name]:[e.Debug.checkDefined(e.findModifier(t,87),"Nameless function declaration should be a default export")];case 165:return[t.name];case 166:var r=e.Debug.checkDefined(e.findChildOfKind(t,132,t.getSourceFile()),"Constructor declaration should have constructor keyword");return 221===t.parent.kind?[t.parent.parent.name,r]:[r];case 209:return[t.parent.name];case 208:return t.name?[t.name,t.parent.name]:[t.parent.name];default:return e.Debug.assertNever(t,"Unexpected function declaration kind "+t.kind)}}(t),d=e.isConstructorDeclaration(t)?function(t){switch(t.parent.kind){case 252:var r=t.parent;return r.name?[r.name]:[e.Debug.checkDefined(e.findModifier(r,87),"Nameless class declaration should be a default export")];case 221:var n=t.parent,i=t.parent.parent,a=n.name;return a?[a,i.name]:[i.name]}}(t):[],_=e.deduplicate(r(l,d),e.equateValues),p=n.getTypeChecker(),f=g(e.flatMap(_,(function(t){return e.FindAllReferences.getReferenceEntriesForNode(-1,t,n,n.getSourceFiles(),i)})));e.every(f.declarations,(function(t){return e.contains(_,t)}))||(f.valid=!1);return f;function g(r){for(var n={accessExpressions:[],typeUsages:[]},i={functionCalls:[],declarations:[],classReferences:n,valid:!0},_=e.map(l,m),p=e.map(d,m),f=e.isConstructorDeclaration(t),g=0,y=r;g0;){var o=i.shift();e.copyTrailingComments(t[o],a,r,3,!1),n(o,a)}}}(n,r,a),s=l(0,n),c=s[0],u=s[1],_=s[2];if(c===n.length){var p=e.factory.createNoSubstitutionTemplateLiteral(u);return o(_,p),p}var f=[],g=e.factory.createTemplateHead(u);o(_,g);for(var m=c;m333}));return n.kind<157?n:n.getFirstToken(t)}},r.prototype.getLastToken=function(t){this.assertHasRealPosition();var r=this.getChildren(t),n=e.lastOrUndefined(r);if(n)return n.kind<157?n:n.getLastToken(t)},r.prototype.forEachChild=function(t,r){return e.forEachChild(this,t,r)},r}();function a(r,n,i,a){for(e.scanner.setTextPos(n);n=n.length&&(t=this.getEnd()),t||(t=n[r+1]-1);var i=this.getFullText();return"\n"===i[t]&&"\r"===i[t-1]?t-1:t},r.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},r.prototype.computeNamedDeclarations=function(){var t=e.createMultiMap();return this.forEachChild((function i(a){switch(a.kind){case 251:case 208:case 165:case 164:var o=a,s=n(o);if(s){var c=function(e){var r=t.get(e);r||t.set(e,r=[]);return r}(s),u=e.lastOrUndefined(c);u&&o.parent===u.parent&&o.symbol===u.symbol?o.body&&!u.body&&(c[c.length-1]=o):c.push(o)}e.forEachChild(a,i);break;case 252:case 221:case 253:case 254:case 255:case 256:case 260:case 270:case 265:case 262:case 263:case 167:case 168:case 177:r(a),e.forEachChild(a,i);break;case 160:if(!e.hasSyntacticModifier(a,92))break;case 249:case 198:var l=a;if(e.isBindingPattern(l.name)){e.forEachChild(l.name,i);break}l.initializer&&i(l.initializer);case 291:case 163:case 162:r(a);break;case 267:var d=a;d.exportClause&&(e.isNamedExports(d.exportClause)?e.forEach(d.exportClause.elements,i):i(d.exportClause.name));break;case 261:var _=a.importClause;_&&(_.name&&r(_.name),_.namedBindings&&(263===_.namedBindings.kind?r(_.namedBindings):e.forEach(_.namedBindings.elements,i)));break;case 216:0!==e.getAssignmentDeclarationKind(a)&&r(a);default:e.forEachChild(a,i)}})),t;function r(e){var r=n(e);r&&t.add(r,e)}function n(t){var r=e.getNonAssignedNameOfDeclaration(t);return r&&(e.isComputedPropertyName(r)&&e.isPropertyAccessExpression(r.expression)?r.expression.name.text:e.isPropertyName(r)?e.getNameFromPropertyName(r):void 0)}},r}(i),y=function(){function t(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}return t.prototype.getLineAndCharacterOfPosition=function(t){return e.getLineAndCharacterOfPosition(this,t)},t}();function v(t){var r=!0;for(var n in t)if(e.hasProperty(t,n)&&!h(n)){r=!1;break}if(r)return t;var i={};for(var n in t){if(e.hasProperty(t,n))i[h(n)?n:n.charAt(0).toLowerCase()+n.substr(1)]=t[n]}return i}function h(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function D(){return{target:1,jsx:1}}e.toEditorSettings=v,e.displayPartsToString=function(t){return t?e.map(t,(function(e){return e.text})).join(""):""},e.getDefaultCompilerOptions=D,e.getSupportedCodeFixes=function(){return e.codefix.getSupportedErrorCodes()};var x=function(){function t(t,r){this.host=t,this.currentDirectory=t.getCurrentDirectory(),this.fileNameToEntry=new e.Map;for(var n=0,i=t.getScriptFileNames();n=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=t,this.hostCancellationToken.isCancellationRequested())},t.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new e.OperationCanceledException},t}();e.ThrottledCancellationToken=k;var A=["getSyntacticDiagnostics","getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls"],F=r(A,["getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"]);function N(t){var r=function(t){switch(t.kind){case 10:case 14:case 8:if(158===t.parent.kind)return e.isObjectLiteralElement(t.parent.parent)?t.parent.parent:void 0;case 78:return!e.isObjectLiteralElement(t.parent)||200!==t.parent.parent.kind&&281!==t.parent.parent.kind||t.parent.name!==t?void 0:t.parent}return}(t);return r&&(e.isObjectLiteralExpression(r.parent)||e.isJsxAttributes(r.parent))?r:void 0}function P(t,r,n,i){var a=e.getNameFromPropertyName(t.name);if(!a)return e.emptyArray;if(!n.isUnion())return(o=n.getProperty(a))?[o]:e.emptyArray;var o,s=e.mapDefined(n.types,(function(n){return e.isObjectLiteralExpression(t.parent)&&r.isTypeInvalidDueToUnionDiscriminant(n,t.parent)?void 0:n.getProperty(a)}));if(i&&(0===s.length||s.length===n.types.length)&&(o=n.getProperty(a)))return[o];return 0===s.length?e.mapDefined(n.types,(function(e){return e.getProperty(a)})):s}e.createLanguageService=function(t,i,a){var o,s;void 0===i&&(i=e.createDocumentRegistry(t.useCaseSensitiveFileNames&&t.useCaseSensitiveFileNames(),t.getCurrentDirectory())),s=void 0===a?e.LanguageServiceMode.Semantic:"boolean"==typeof a?a?e.LanguageServiceMode.Syntactic:e.LanguageServiceMode.Semantic:a;var c,u,l=new b(t),d=0,_=new T(t.getCancellationToken&&t.getCancellationToken()),p=t.getCurrentDirectory();function f(e){t.log&&t.log(e)}!e.localizedDiagnosticMessages&&t.getLocalizedDiagnosticMessages&&e.setLocalizedDiagnosticMessages(t.getLocalizedDiagnosticMessages());var g=e.hostUsesCaseSensitiveFileNames(t),m=e.createGetCanonicalFileName(g),y=e.getSourceMapper({useCaseSensitiveFileNames:function(){return g},getCurrentDirectory:function(){return p},getProgram:S,fileExists:e.maybeBind(t,t.fileExists),readFile:e.maybeBind(t,t.readFile),getDocumentPositionMapper:e.maybeBind(t,t.getDocumentPositionMapper),getSourceFileLike:e.maybeBind(t,t.getSourceFileLike),log:f});function h(e){var t=c.getSourceFile(e);if(!t){var r=new Error("Could not find source file: '"+e+"'.");throw r.ProgramFiles=c.getSourceFiles().map((function(e){return e.fileName})),r}return t}function D(){var r,n;if(e.Debug.assert(s!==e.LanguageServiceMode.Syntactic),t.getProjectVersion){var a=t.getProjectVersion();if(a){if(u===a&&!(null===(r=t.hasChangedAutomaticTypeDirectiveNames)||void 0===r?void 0:r.call(t)))return;u=a}}var o=t.getTypeRootsVersion?t.getTypeRootsVersion():0;d!==o&&(f("TypeRoots version has changed; provide new program"),c=void 0,d=o);var l=new x(t,m),v=l.getRootFileNames(),h=t.hasInvalidatedResolution||e.returnFalse,D=e.maybeBind(t,t.hasChangedAutomaticTypeDirectiveNames),b=l.getProjectReferences();if(!e.isProgramUptoDate(c,v,l.compilationSettings(),(function(e,r){return t.getScriptVersion(r)}),k,h,D,b)){var S=l.compilationSettings(),E={getSourceFile:function(t,r,n,i){return A(t,e.toPath(t,p,m),r,n,i)},getSourceFileByPath:A,getCancellationToken:function(){return _},getCanonicalFileName:m,useCaseSensitiveFileNames:function(){return g},getNewLine:function(){return e.getNewLineCharacter(S,(function(){return e.getNewLineOrDefaultFromHost(t)}))},getDefaultLibFileName:function(e){return t.getDefaultLibFileName(e)},writeFile:e.noop,getCurrentDirectory:function(){return p},fileExists:k,readFile:function(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);if(i)return e.isString(i)?void 0:e.getSnapshotText(i.scriptSnapshot);return t.readFile&&t.readFile(r)},getSymlinkCache:e.maybeBind(t,t.getSymlinkCache),realpath:e.maybeBind(t,t.realpath),directoryExists:function(r){return e.directoryProbablyExists(r,t)},getDirectories:function(e){return t.getDirectories?t.getDirectories(e):[]},readDirectory:function(r,n,i,a,o){return e.Debug.checkDefined(t.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),t.readDirectory(r,n,i,a,o)},onReleaseOldSourceFile:function(e,t){var r=i.getKeyForCompilationSettings(t);i.releaseDocumentWithKey(e.resolvedPath,r)},hasInvalidatedResolution:h,hasChangedAutomaticTypeDirectiveNames:D,trace:e.maybeBind(t,t.trace),resolveModuleNames:e.maybeBind(t,t.resolveModuleNames),resolveTypeReferenceDirectives:e.maybeBind(t,t.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:e.maybeBind(t,t.useSourceOfProjectReferenceRedirect)};null===(n=t.setCompilerHost)||void 0===n||n.call(t,E);var C=i.getKeyForCompilationSettings(S),T={rootNames:v,options:S,host:E,oldProgram:c,projectReferences:b};return c=e.createProgram(T),l=void 0,y.clearCache(),void c.getTypeChecker()}function k(r){var n=e.toPath(r,p,m),i=l&&l.getEntryByPath(n);return i?!e.isString(i):!!t.fileExists&&t.fileExists(r)}function A(t,r,n,a,o){e.Debug.assert(void 0!==l,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var s=l&&l.getOrCreateEntryByPath(t,r);if(s){if(!o){var u=c&&c.getSourceFileByPath(r);if(u)return e.Debug.assertEqual(s.scriptKind,u.scriptKind,"Registered script kind should match new script kind."),i.updateDocumentWithKey(t,r,S,C,s.scriptSnapshot,s.version,s.scriptKind)}return i.acquireDocumentWithKey(t,r,S,C,s.scriptSnapshot,s.version,s.scriptKind)}}}function S(){if(s!==e.LanguageServiceMode.Syntactic)return D(),c;e.Debug.assert(void 0===c)}function E(t,r,n){var i=e.normalizePath(t);e.Debug.assert(n.some((function(t){return e.normalizePath(t)===i}))),D();var a=e.mapDefined(n,(function(e){return c.getSourceFile(e)})),o=h(t);return e.DocumentHighlights.getDocumentHighlights(c,_,o,r,a)}function C(t,r,n,i){D();var a=n&&2===n.use?c.getSourceFiles().filter((function(e){return!c.isSourceFileDefaultLibrary(e)})):c.getSourceFiles();return e.FindAllReferences.findReferenceOrRenameEntries(c,_,a,t,r,n,i)}function k(r){var n=e.getScriptKind(r,t);return 3===n||4===n}var w=new e.Map(e.getEntries(((o={})[18]=19,o[20]=21,o[22]=23,o[31]=29,o)));function I(r){return e.Debug.assertEqual(r.type,"install package"),t.installPackage?t.installPackage({fileName:function(t){return e.toPath(t,p,m)}(r.file),packageName:r.packageName}):Promise.reject("Host does not implement `installPackage`")}function O(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function M(t,r,n){for(var i=l.getCurrentSourceFile(t),a=[],o=O(i,r),s=o.lineStarts,c=o.firstLine,u=o.lastLine,d=n||!1,_=Number.MAX_VALUE,p=new e.Map,f=new RegExp(/\S/),g=e.isInsideJsxElement(i,s[c]),m=g?"{/*":"//",y=c;y<=u;y++){var v=i.text.substring(s[y],i.getLineEndOfPosition(s[y])),h=f.exec(v);h&&(_=Math.min(_,h.index),p.set(y.toString(),h.index),v.substr(h.index,m.length)!==m&&(d=void 0===n||n))}for(y=c;y<=u;y++)if(c===u||s[y]!==r.end){var D=p.get(y.toString());void 0!==D&&(g?a.push.apply(a,L(t,{pos:s[y]+_,end:i.getLineEndOfPosition(s[y])},d,g)):d?a.push({newText:m,span:{length:0,start:s[y]+_}}):i.text.substr(s[y]+D,m.length)===m&&a.push({newText:"",span:{length:m.length,start:s[y]+D}}))}return a}function L(t,r,n,i){for(var a,o=l.getCurrentSourceFile(t),s=[],c=o.text,u=!1,d=n||!1,_=[],p=r.pos,f=void 0!==i?i:e.isInsideJsxElement(o,p),g=f?"{/*":"/*",m=f?"*/}":"*/",y=f?"\\{\\/\\*":"\\/\\*",v=f?"\\*\\/\\}":"\\*\\/";p<=r.end;){var h=c.substr(p,g.length)===g?g.length:0,D=e.isInComment(o,p+h);if(D)f&&(D.pos--,D.end++),_.push(D.pos),3===D.kind&&_.push(D.end),u=!0,p=D.end+1;else{var x=c.substring(p,r.end).search("("+y+")|("+v+")");d=void 0!==n?n:d||!e.isTextWhiteSpaceLike(c,p,-1===x?r.end:p+x),p=-1===x?r.end+1:p+x+m.length}}if(d||!u){2!==(null===(a=e.isInComment(o,r.pos))||void 0===a?void 0:a.kind)&&e.insertSorted(_,r.pos,e.compareValues),e.insertSorted(_,r.end,e.compareValues);var b=_[0];c.substr(b,g.length)!==g&&s.push({newText:g,span:{length:0,start:b}});for(var S=1;S<_.length-1;S++)c.substr(_[S]-m.length,m.length)!==m&&s.push({newText:m,span:{length:0,start:_[S]}}),c.substr(_[S],g.length)!==g&&s.push({newText:g,span:{length:0,start:_[S]}});s.length%2!=0&&s.push({newText:m,span:{length:0,start:_[_.length-1]}})}else for(var E=0,C=_;E0?T-m.length:0;h=c.substr(k,m.length)===m?m.length:0;s.push({newText:"",span:{length:g.length,start:T-h}})}return s}function R(t){var r=t.openingElement,n=t.closingElement,i=t.parent;return!e.tagNamesAreEquivalent(r.tagName,n.tagName)||e.isJsxElement(i)&&e.tagNamesAreEquivalent(r.tagName,i.openingElement.tagName)&&R(i)}function B(r,n,i,a,o){var s="number"==typeof n?[n,void 0]:[n.pos,n.end];return{file:r,startPosition:s[0],endPosition:s[1],program:S(),host:t,formatContext:e.formatting.getFormatContext(a,t),cancellationToken:_,preferences:i,triggerReason:o}}w.forEach((function(e,t){return w.set(e.toString(),Number(t))}));var j={dispose:function(){if(c){var r=i.getKeyForCompilationSettings(c.getCompilerOptions());e.forEach(c.getSourceFiles(),(function(e){return i.releaseDocumentWithKey(e.resolvedPath,r)})),c=void 0}t=void 0},cleanupSemanticCache:function(){c=void 0},getSyntacticDiagnostics:function(e){return D(),c.getSyntacticDiagnostics(h(e),_).slice()},getSemanticDiagnostics:function(t){D();var n=h(t),i=c.getSemanticDiagnostics(n,_);if(!e.getEmitDeclarations(c.getCompilerOptions()))return i.slice();var a=c.getDeclarationDiagnostics(n,_);return r(i,a)},getSuggestionDiagnostics:function(t){return D(),e.computeSuggestionDiagnostics(h(t),c,_)},getCompilerOptionsDiagnostics:function(){return D(),r(c.getOptionsDiagnostics(_),c.getGlobalDiagnostics(_))},getSyntacticClassifications:function(t,r){return e.getSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getSemanticClassifications:function(t,r,n){return k(t)?(D(),"2020"===(n||"original")?e.classifier.v2020.getSemanticClassifications(c,_,h(t),r):e.getSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r)):[]},getEncodedSyntacticClassifications:function(t,r){return e.getEncodedSyntacticClassifications(_,l.getCurrentSourceFile(t),r)},getEncodedSemanticClassifications:function(t,r,n){return k(t)?(D(),"original"===(n||"original")?e.getEncodedSemanticClassifications(c.getTypeChecker(),_,h(t),c.getClassifiableNames(),r):e.classifier.v2020.getEncodedSemanticClassifications(c,_,h(t),r)):{spans:[],endOfLineState:0}},getCompletionsAtPosition:function(r,i,a){void 0===a&&(a=e.emptyOptions);var o=n(n({},e.identity(a)),{includeCompletionsForModuleExports:a.includeCompletionsForModuleExports||a.includeExternalModuleExports,includeCompletionsWithInsertText:a.includeCompletionsWithInsertText||a.includeInsertTextCompletions});return D(),e.Completions.getCompletionsAtPosition(t,c,f,h(r),i,o,a.triggerCharacter)},getCompletionEntryDetails:function(r,n,i,a,o,s){return void 0===s&&(s=e.emptyOptions),D(),e.Completions.getCompletionEntryDetails(c,f,h(r),n,{name:i,source:o},t,a&&e.formatting.getFormatContext(a,t),s,_)},getCompletionEntrySymbol:function(r,n,i,a,o){return void 0===o&&(o=e.emptyOptions),D(),e.Completions.getCompletionEntrySymbol(c,f,h(r),n,{name:i,source:a},t,o)},getSignatureHelpItems:function(t,r,n){var i=(void 0===n?e.emptyOptions:n).triggerReason;D();var a=h(t);return e.SignatureHelp.getSignatureHelpItems(c,a,r,i,_)},getQuickInfoAtPosition:function(t,r){D();var n=h(t),i=e.getTouchingPropertyName(n,r);if(i!==n){var a=c.getTypeChecker(),o=function(t){if(e.isNewExpression(t.parent)&&t.pos===t.parent.pos)return t.parent.expression;return t}(i),s=function(t,r){var n=N(t);if(n){var i=r.getContextualType(n.parent),a=i&&P(n,r,i,!1);if(a&&1===a.length)return e.first(a)}return r.getSymbolAtLocation(t)}(o,a);if(!s||a.isUnknownSymbol(s)){var u=function(t,r,n){switch(r.kind){case 78:return!e.isLabelName(r)&&!e.isTagName(r);case 201:case 157:return!e.isInComment(t,n);case 107:case 187:case 105:return!0;default:return!1}}(n,o,r)?a.getTypeAtLocation(o):void 0;return u&&{kind:"",kindModifiers:"",textSpan:e.createTextSpanFromNode(o,n),displayParts:a.runWithCancellationToken(_,(function(t){return e.typeToDisplayParts(t,u,e.getContainerNode(o))})),documentation:u.symbol?u.symbol.getDocumentationComment(a):void 0,tags:u.symbol?u.symbol.getJsDocTags():void 0}}var l=a.runWithCancellationToken(_,(function(t){return e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(t,s,n,e.getContainerNode(o),o)})),d=l.symbolKind,p=l.displayParts,f=l.documentation,g=l.tags;return{kind:d,kindModifiers:e.SymbolDisplay.getSymbolModifiers(s),textSpan:e.createTextSpanFromNode(o,n),displayParts:p,documentation:f,tags:g}}},getDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getDefinitionAtPosition(c,h(t),r)},getDefinitionAndBoundSpan:function(t,r){return D(),e.GoToDefinition.getDefinitionAndBoundSpan(c,h(t),r)},getImplementationAtPosition:function(t,r){return D(),e.FindAllReferences.getImplementationsAtPosition(c,_,c.getSourceFiles(),h(t),r)},getTypeDefinitionAtPosition:function(t,r){return D(),e.GoToDefinition.getTypeDefinitionAtPosition(c.getTypeChecker(),h(t),r)},getReferencesAtPosition:function(t,r){return D(),C(e.getTouchingPropertyName(h(t),r),r,{use:1},e.FindAllReferences.toReferenceEntry)},findReferences:function(t,r){return D(),e.FindAllReferences.findReferencedSymbols(c,_,c.getSourceFiles(),h(t),r)},getOccurrencesAtPosition:function(t,r){return e.flatMap(E(t,r,[t]),(function(e){return e.highlightSpans.map((function(t){return n(n({fileName:e.fileName,textSpan:t.textSpan,isWriteAccess:"writtenReference"===t.kind,isDefinition:!1},t.isInString&&{isInString:!0}),t.contextSpan&&{contextSpan:t.contextSpan})}))}))},getDocumentHighlights:E,getNameOrDottedNameSpan:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.getTouchingPropertyName(i,r);if(a!==i){switch(a.kind){case 201:case 157:case 10:case 94:case 109:case 103:case 105:case 107:case 187:case 78:break;default:return}for(var o=a;;)if(e.isRightSideOfPropertyAccess(o)||e.isRightSideOfQualifiedName(o))o=o.parent;else{if(!e.isNameOfModuleDeclaration(o))break;if(256!==o.parent.parent.kind||o.parent.parent.body!==o.parent)break;o=o.parent.parent.name}return e.createTextSpanFromBounds(o.getStart(),a.getEnd())}},getBreakpointStatementAtPosition:function(t,r){var n=l.getCurrentSourceFile(t);return e.BreakpointResolver.spanInSourceFileAtLocation(n,r)},getNavigateToItems:function(t,r,n,i){void 0===i&&(i=!1),D();var a=n?[h(n)]:c.getSourceFiles();return e.NavigateTo.getNavigateToItems(a,c.getTypeChecker(),_,t,r,i)},getRenameInfo:function(t,r,n){return D(),e.Rename.getRenameInfo(c,h(t),r,n)},getSmartSelectionRange:function(t,r){return e.SmartSelectionRange.getSmartSelectionRange(r,l.getCurrentSourceFile(t))},findRenameLocations:function(t,r,i,a,o){D();var s=h(t),c=e.getAdjustedRenameLocation(e.getTouchingPropertyName(s,r));if(e.isIdentifier(c)&&(e.isJsxOpeningElement(c.parent)||e.isJsxClosingElement(c.parent))&&e.isIntrinsicJsxName(c.escapedText)){var u=c.parent.parent;return[u.openingElement,u.closingElement].map((function(t){var r=e.createTextSpanFromNode(t.tagName,s);return n({fileName:s.fileName,textSpan:r},e.FindAllReferences.toContextSpan(r,s,t.parent))}))}return C(c,r,{findInStrings:i,findInComments:a,providePrefixAndSuffixTextForRename:o,use:2},(function(t,r,n){return e.FindAllReferences.toRenameLocation(t,r,n,o||!1)}))},getNavigationBarItems:function(t){return e.NavigationBar.getNavigationBarItems(l.getCurrentSourceFile(t),_)},getNavigationTree:function(t){return e.NavigationBar.getNavigationTree(l.getCurrentSourceFile(t),_)},getOutliningSpans:function(t){var r=l.getCurrentSourceFile(t);return e.OutliningElementsCollector.collectElements(r,_)},getTodoComments:function(t,r){D();var n=h(t);_.throwIfCancellationRequested();var i,a=n.text,o=[];if(r.length>0&&!function(t){return e.stringContains(t,"/node_modules/")}(n.fileName))for(var s=function(){var t="("+/(?:^(?:\s|\*)*)/.source+"|"+/(?:\/\/+\s*)/.source+"|"+/(?:\/\*+\s*)/.source+")",n="(?:"+e.map(r,(function(e){return"("+(e.text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")+")")})).join("|")+")";return new RegExp(t+"("+n+/(?:.*?)/.source+")"+/(?:$|\*\/)/.source,"gim")}(),c=void 0;c=s.exec(a);){_.throwIfCancellationRequested();e.Debug.assert(c.length===r.length+3);var u=c[1],l=c.index+u.length;if(e.isInComment(n,l)){for(var d=void 0,p=0;p=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57)){var f=c[2];o.push({descriptor:d,message:f,position:l})}}}return o},getBraceMatchingAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.getTouchingToken(n,r),a=i.getStart(n)===r?w.get(i.kind.toString()):void 0,o=a&&e.findChildOfKind(i.parent,a,n);return o?[e.createTextSpanFromNode(i,n),e.createTextSpanFromNode(o,n)].sort((function(e,t){return e.start-t.start})):e.emptyArray},getIndentationAtPosition:function(t,r,n){var i=e.timestamp(),a=v(n),o=l.getCurrentSourceFile(t);f("getIndentationAtPosition: getCurrentSourceFile: "+(e.timestamp()-i)),i=e.timestamp();var s=e.formatting.SmartIndenter.getIndentation(r,o,a);return f("getIndentationAtPosition: computeIndentation : "+(e.timestamp()-i)),s},getFormattingEditsForRange:function(r,n,i,a){var o=l.getCurrentSourceFile(r);return e.formatting.formatSelection(n,i,o,e.formatting.getFormatContext(v(a),t))},getFormattingEditsForDocument:function(r,n){return e.formatting.formatDocument(l.getCurrentSourceFile(r),e.formatting.getFormatContext(v(n),t))},getFormattingEditsAfterKeystroke:function(r,n,i,a){var o=l.getCurrentSourceFile(r),s=e.formatting.getFormatContext(v(a),t);if(!e.isInComment(o,n))switch(i){case"{":return e.formatting.formatOnOpeningCurly(n,o,s);case"}":return e.formatting.formatOnClosingCurly(n,o,s);case";":return e.formatting.formatOnSemicolon(n,o,s);case"\n":return e.formatting.formatOnEnter(n,o,s)}return[]},getDocCommentTemplateAtPosition:function(r,n){return e.JsDoc.getDocCommentTemplateAtPosition(e.getNewLineOrDefaultFromHost(t),l.getCurrentSourceFile(r),n)},isValidBraceCompletionAtPosition:function(t,r,n){if(60===n)return!1;var i=l.getCurrentSourceFile(t);if(e.isInString(i,r))return!1;if(e.isInsideJsxElementOrAttribute(i,r))return 123===n;if(e.isInTemplateString(i,r))return!1;switch(n){case 39:case 34:case 96:return!e.isInComment(i,r)}return!0},getJsxClosingTagAtPosition:function(t,r){var n=l.getCurrentSourceFile(t),i=e.findPrecedingToken(r,n);if(i){var a=31===i.kind&&e.isJsxOpeningElement(i.parent)?i.parent.parent:e.isJsxText(i)?i.parent:void 0;return a&&R(a)?{newText:""}:void 0}},getSpanOfEnclosingComment:function(t,r,n){var i=l.getCurrentSourceFile(t),a=e.formatting.getRangeOfEnclosingComment(i,r);return!a||n&&3!==a.kind?void 0:e.createTextSpanFromRange(a)},getCodeFixesAtPosition:function(r,n,i,a,o,s){void 0===s&&(s=e.emptyOptions),D();var u=h(r),l=e.createTextSpanFromBounds(n,i),d=e.formatting.getFormatContext(o,t);return e.flatMap(e.deduplicate(a,e.equateValues,e.compareValues),(function(r){return _.throwIfCancellationRequested(),e.codefix.getFixes({errorCode:r,sourceFile:u,span:l,program:c,host:t,cancellationToken:_,formatContext:d,preferences:s})}))},getCombinedCodeFix:function(r,n,i,a){void 0===a&&(a=e.emptyOptions),D(),e.Debug.assert("file"===r.type);var o=h(r.fileName),s=e.formatting.getFormatContext(i,t);return e.codefix.getAllFixes({fixId:n,sourceFile:o,program:c,host:t,cancellationToken:_,formatContext:s,preferences:a})},applyCodeActionCommand:function(t,r){var n="string"==typeof t?r:t;return e.isArray(n)?Promise.all(n.map((function(e){return I(e)}))):I(n)},organizeImports:function(r,n,i){void 0===i&&(i=e.emptyOptions),D(),e.Debug.assert("file"===r.type);var a=h(r.fileName),o=e.formatting.getFormatContext(n,t);return e.OrganizeImports.organizeImports(a,o,t,c,i)},getEditsForFileRename:function(r,n,i,a){return void 0===a&&(a=e.emptyOptions),e.getEditsForFileRename(S(),r,n,t,e.formatting.getFormatContext(i,t),a,y)},getEmitOutput:function(r,n,i){D();var a=h(r),o=t.getCustomTransformers&&t.getCustomTransformers();return e.getFileEmitOutput(c,a,!!n,_,o,i)},getNonBoundSourceFile:function(e){return l.getCurrentSourceFile(e)},getProgram:S,getAutoImportProvider:function(){var e;return null===(e=t.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(t)},getApplicableRefactors:function(t,r,n,i){void 0===n&&(n=e.emptyOptions),D();var a=h(t);return e.refactor.getApplicableRefactors(B(a,r,n,e.emptyOptions,i))},getEditsForRefactor:function(t,r,n,i,a,o){void 0===o&&(o=e.emptyOptions),D();var s=h(t);return e.refactor.getEditsForRefactor(B(s,n,o,r),i,a)},toLineColumnOffset:y.toLineColumnOffset,getSourceMapper:function(){return y},clearSourceMapperCache:function(){return y.clearCache()},prepareCallHierarchy:function(t,r){D();var n=e.CallHierarchy.resolveCallHierarchyDeclaration(c,e.getTouchingPropertyName(h(t),r));return n&&e.mapOneOrMany(n,(function(t){return e.CallHierarchy.createCallHierarchyItem(c,t)}))},provideCallHierarchyIncomingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getIncomingCalls(c,i,_):[]},provideCallHierarchyOutgoingCalls:function(t,r){D();var n=h(t),i=e.firstOrOnly(e.CallHierarchy.resolveCallHierarchyDeclaration(c,0===r?n:e.getTouchingPropertyName(n,r)));return i?e.CallHierarchy.getOutgoingCalls(c,i):[]},toggleLineComment:M,toggleMultilineComment:L,commentSelection:function(e,t){var r=O(l.getCurrentSourceFile(e),t);return r.firstLine===r.lastLine&&t.pos!==t.end?L(e,t,!0):M(e,t,!0)},uncommentSelection:function(t,r){var n=l.getCurrentSourceFile(t),i=[],a=r.pos,o=r.end;a===o&&(o+=e.isInsideJsxElement(n,a)?2:1);for(var s=a;s<=o;s++){var c=e.isInComment(n,s);if(c){switch(c.kind){case 2:i.push.apply(i,M(t,{end:c.end,pos:c.pos+1},!1));break;case 3:i.push.apply(i,L(t,{end:c.end,pos:c.pos+1},!1))}s=c.end+1}}return i}};switch(s){case e.LanguageServiceMode.Semantic:break;case e.LanguageServiceMode.PartialSemantic:A.forEach((function(e){return j[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.PartialSemantic")}}));break;case e.LanguageServiceMode.Syntactic:F.forEach((function(e){return j[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.Syntactic")}}));break;default:e.Debug.assertNever(s)}return j},e.getNameTable=function(t){return t.nameTable||function(t){var r=t.nameTable=new e.Map;t.forEachChild((function t(n){if(e.isIdentifier(n)&&!e.isTagName(n)&&n.escapedText||e.isStringOrNumericLiteralLike(n)&&function(t){return e.isDeclarationName(t)||272===t.parent.kind||function(e){return e&&e.parent&&202===e.parent.kind&&e.parent.argumentExpression===e}(t)||e.isLiteralComputedPropertyDeclarationName(t)}(n)){var i=e.getEscapedTextOfIdentifierOrLiteral(n);r.set(i,void 0===r.get(i)?n.pos:-1)}else if(e.isPrivateIdentifier(n)){i=n.escapedText;r.set(i,void 0===r.get(i)?n.pos:-1)}if(e.forEachChild(n,t),e.hasJSDocNodes(n))for(var a=0,o=n.jsDoc;ai){var a=e.findPrecedingToken(n.pos,t);if(!a||t.getLineAndCharacterOfPosition(a.getEnd()).line!==i)return;n=a}if(!(8388608&n.flags))return d(n)}function o(r,n){var i=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(i,(n||r).getEnd())}function s(r,n){return o(r,e.findNextToken(n,n.parent,t))}function c(e,r){return e&&i===t.getLineAndCharacterOfPosition(e.getStart(t)).line?d(e):d(r)}function u(r){return d(e.findPrecedingToken(r.pos,t))}function l(r){return d(e.findNextToken(r,r.parent,t))}function d(r){if(r){var n=r.parent;switch(r.kind){case 232:return v(r.declarationList.declarations[0]);case 249:case 163:case 162:return v(r);case 160:return function t(r){if(e.isBindingPattern(r.name))return b(r.name);if(function(t){return!!t.initializer||void 0!==t.dotDotDotToken||e.hasSyntacticModifier(t,12)}(r))return o(r);var n=r.parent,i=n.parameters.indexOf(r);return e.Debug.assert(-1!==i),0!==i?t(n.parameters[i-1]):d(n.body)}(r);case 251:case 165:case 164:case 167:case 168:case 166:case 208:case 209:return function(e){if(!e.body)return;if(h(e))return o(e);return d(e.body)}(r);case 230:if(e.isFunctionBlock(r))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(h(e.parent))return c(e.parent,t);return d(t)}(r);case 257:return D(r);case 287:return D(r.block);case 233:return o(r.expression);case 242:return o(r.getChildAt(0),r.expression);case 236:return s(r,r.expression);case 235:return d(r.statement);case 248:return o(r.getChildAt(0));case 234:return s(r,r.expression);case 245:return d(r.statement);case 241:case 240:return o(r.getChildAt(0),r.label);case 237:return function(e){if(e.initializer)return x(e);if(e.condition)return o(e.condition);if(e.incrementor)return o(e.incrementor)}(r);case 238:return s(r,r.expression);case 239:return x(r);case 244:return s(r,r.expression);case 284:case 285:return d(r.statements[0]);case 247:return D(r.tryBlock);case 246:case 266:return o(r,r.expression);case 260:return o(r,r.moduleReference);case 261:case 267:return o(r,r.moduleSpecifier);case 256:if(1!==e.getModuleInstanceState(r))return;case 252:case 255:case 291:case 198:return o(r);case 243:return d(r.statement);case 161:return m=n.decorators,e.createTextSpanFromBounds(e.skipTrivia(t.text,m.pos),m.end);case 196:case 197:return b(r);case 253:case 254:return;case 26:case 1:return c(e.findPrecedingToken(r.pos,t));case 27:return u(r);case 18:return function(r){switch(r.parent.kind){case 255:var n=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 252:var i=r.parent;return c(e.findPrecedingToken(r.pos,t,r.parent),i.members.length?i.members[0]:i.getLastToken(t));case 258:return c(r.parent.parent,r.parent.clauses[0])}return d(r.parent)}(r);case 19:return function(t){switch(t.parent.kind){case 257:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 255:case 252:return o(t);case 230:if(e.isFunctionBlock(t.parent))return o(t);case 287:return d(e.lastOrUndefined(t.parent.statements));case 258:var r=t.parent,n=e.lastOrUndefined(r.clauses);return n?d(e.lastOrUndefined(n.statements)):void 0;case 196:var i=t.parent;return d(e.lastOrUndefined(i.elements)||i);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var a=t.parent;return o(e.lastOrUndefined(a.properties)||a)}return d(t.parent)}}(r);case 23:return function(t){switch(t.parent.kind){case 197:var r=t.parent;return o(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return o(e.lastOrUndefined(n.elements)||n)}return d(t.parent)}}(r);case 20:return function(e){if(235===e.parent.kind||203===e.parent.kind||204===e.parent.kind)return u(e);if(207===e.parent.kind)return l(e);return d(e.parent)}(r);case 21:return function(e){switch(e.parent.kind){case 208:case 251:case 209:case 165:case 164:case 167:case 168:case 166:case 236:case 235:case 237:case 239:case 203:case 204:case 207:return u(e);default:return d(e.parent)}}(r);case 58:return function(t){if(e.isFunctionLike(t.parent)||288===t.parent.kind||160===t.parent.kind)return u(t);return d(t.parent)}(r);case 31:case 29:return function(e){if(206===e.parent.kind)return l(e);return d(e.parent)}(r);case 114:return function(e){if(235===e.parent.kind)return s(e,e.parent.expression);return d(e.parent)}(r);case 90:case 82:case 95:return l(r);case 156:return function(e){if(239===e.parent.kind)return l(e);return d(e.parent)}(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return S(r);if((78===r.kind||220===r.kind||288===r.kind||289===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n))return o(r);if(216===r.kind){var i=r,a=i.left,_=i.operatorToken;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a))return S(a);if(62===_.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return o(r);if(27===_.kind)return d(a)}if(e.isExpressionNode(r))switch(n.kind){case 235:return u(r);case 161:return d(r.parent);case 237:case 239:return o(r);case 216:if(27===r.parent.operatorToken.kind)return o(r);break;case 209:if(r.parent.body===r)return o(r)}switch(r.parent.kind){case 288:if(r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return d(r.parent.initializer);break;case 206:if(r.parent.type===r)return l(r.parent.type);break;case 249:case 160:var p=r.parent,f=p.initializer,g=p.type;if(f===r||g===r||e.isAssignmentOperator(r.kind))return u(r);break;case 216:a=r.parent.left;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(a)&&r!==a)return u(r);break;default:if(e.isFunctionLike(r.parent)&&r.parent.type===r)return u(r)}return d(r.parent)}}var m;function y(r){return e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]===r?o(e.findPrecedingToken(r.pos,t,r.parent),r):o(r)}function v(r){if(238===r.parent.parent.kind)return d(r.parent.parent);var n=r.parent;return e.isBindingPattern(r.name)?b(r.name):r.initializer||e.hasSyntacticModifier(r,1)||239===n.parent.kind?y(r):e.isVariableDeclarationList(r.parent)&&r.parent.declarations[0]!==r?d(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function h(t){return e.hasSyntacticModifier(t,1)||252===t.parent.kind&&166!==t.kind}function D(r){switch(r.parent.kind){case 256:if(1!==e.getModuleInstanceState(r.parent))return;case 236:case 234:case 238:return c(r.parent,r.statements[0]);case 237:case 239:return c(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return d(r.statements[0])}function x(e){if(250!==e.initializer.kind)return d(e.initializer);var t=e.initializer;return t.declarations.length>0?d(t.declarations[0]):void 0}function b(t){var r=e.forEach(t.elements,(function(e){return 222!==e.kind?e:void 0}));return r?d(r):198===t.parent.kind?o(t.parent):y(t.parent)}function S(t){e.Debug.assert(197!==t.kind&&196!==t.kind);var r=199===t.kind?t.elements:t.properties,n=e.forEach(r,(function(e){return 222!==e.kind?e:void 0}));return n?d(n):o(216===t.parent.kind?t.parent:t)}}}}(e.BreakpointResolver||(e.BreakpointResolver={}))}(u||(u={})),function(e){e.transform=function(t,r,n){var i=[];n=e.fixupCompilerOptions(n,i);var a=e.isArray(t)?t:[t],o=e.transformNodes(void 0,void 0,e.factory,n,a,r,!0);return o.diagnostics=e.concatenate(o.diagnostics,i),o}}(u||(u={}));var u,l=function(){return this}();!function(e){function t(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var i=function(){function t(e){this.scriptSnapshotShim=e}return t.prototype.getText=function(e,t){return this.scriptSnapshotShim.getText(e,t)},t.prototype.getLength=function(){return this.scriptSnapshotShim.getLength()},t.prototype.getChangeRange=function(t){var r=t,n=this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null===n)return null;var i=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(i.span.start,i.span.length),i.newLength)},t.prototype.dispose=function(){"dispose"in this.scriptSnapshotShim&&this.scriptSnapshotShim.dispose()},t}(),a=function(){function t(t){var r=this;this.shimHost=t,this.loggingEnabled=!1,this.tracingEnabled=!1,"getModuleResolutionsForFile"in this.shimHost&&(this.resolveModuleNames=function(t,n){var i=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.getProperty(i,t);return r?{resolvedFileName:r,extension:e.extensionFromPath(r),isExternalLibraryImport:!1}:void 0}))}),"directoryExists"in this.shimHost&&(this.directoryExists=function(e){return r.shimHost.directoryExists(e)}),"getTypeReferenceDirectiveResolutionsForFile"in this.shimHost&&(this.resolveTypeReferenceDirectives=function(t,n){var i=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.getProperty(i,t)}))})}return t.prototype.log=function(e){this.loggingEnabled&&this.shimHost.log(e)},t.prototype.trace=function(e){this.tracingEnabled&&this.shimHost.trace(e)},t.prototype.error=function(e){this.shimHost.error(e)},t.prototype.getProjectVersion=function(){if(this.shimHost.getProjectVersion)return this.shimHost.getProjectVersion()},t.prototype.getTypeRootsVersion=function(){return this.shimHost.getTypeRootsVersion?this.shimHost.getTypeRootsVersion():0},t.prototype.useCaseSensitiveFileNames=function(){return!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames()},t.prototype.getCompilationSettings=function(){var e=this.shimHost.getCompilationSettings();if(null===e||""===e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");var t=JSON.parse(e);return t.allowNonTsExtensions=!0,t},t.prototype.getScriptFileNames=function(){var e=this.shimHost.getScriptFileNames();return JSON.parse(e)},t.prototype.getScriptSnapshot=function(e){var t=this.shimHost.getScriptSnapshot(e);return t&&new i(t)},t.prototype.getScriptKind=function(e){return"getScriptKind"in this.shimHost?this.shimHost.getScriptKind(e):0},t.prototype.getScriptVersion=function(e){return this.shimHost.getScriptVersion(e)},t.prototype.getLocalizedDiagnosticMessages=function(){var e=this.shimHost.getLocalizedDiagnosticMessages();if(null===e||""===e)return null;try{return JSON.parse(e)}catch(e){return this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format"),null}},t.prototype.getCancellationToken=function(){var t=this.shimHost.getCancellationToken();return new e.ThrottledCancellationToken(t)},t.prototype.getCurrentDirectory=function(){return this.shimHost.getCurrentDirectory()},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t.prototype.getDefaultLibFileName=function(e){return this.shimHost.getDefaultLibFileName(JSON.stringify(e))},t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.readFile=function(e,t){return this.shimHost.readFile(e,t)},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t}();e.LanguageServiceShimHostAdapter=a;var o=function(){function t(e){var t=this;this.shimHost=e,this.useCaseSensitiveFileNames=!!this.shimHost.useCaseSensitiveFileNames&&this.shimHost.useCaseSensitiveFileNames(),"directoryExists"in this.shimHost?this.directoryExists=function(e){return t.shimHost.directoryExists(e)}:this.directoryExists=void 0,"realpath"in this.shimHost?this.realpath=function(e){return t.shimHost.realpath(e)}:this.realpath=void 0}return t.prototype.readDirectory=function(t,r,n,i,a){var o=e.getFileMatcherPatterns(t,n,i,this.shimHost.useCaseSensitiveFileNames(),this.shimHost.getCurrentDirectory());return JSON.parse(this.shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(o.basePaths),o.excludePattern,o.includeFilePattern,o.includeDirectoryPattern,a))},t.prototype.fileExists=function(e){return this.shimHost.fileExists(e)},t.prototype.readFile=function(e){return this.shimHost.readFile(e)},t.prototype.getDirectories=function(e){return JSON.parse(this.shimHost.getDirectories(e))},t}();function u(e,t,r,n){return d(e,t,!0,r,n)}function d(r,n,i,a,o){try{var s=function(t,r,n,i){var a;i&&(t.log(r),a=e.timestamp());var o=n();if(i){var s=e.timestamp();if(t.log(r+" completed in "+(s-a)+" msec"),e.isString(o)){var c=o;c.length>128&&(c=c.substring(0,128)+"..."),t.log(" result.length="+c.length+", result='"+JSON.stringify(c)+"'")}}return o}(r,n,a,o);return i?JSON.stringify({result:s}):s}catch(i){return i instanceof e.OperationCanceledException?JSON.stringify({canceled:!0}):(t(r,i),i.description=n,JSON.stringify({error:i}))}}e.CoreServicesShimHostAdapter=o;var _=function(){function e(e){this.factory=e,e.registerShim(this)}return e.prototype.dispose=function(e){this.factory.unregisterShim(this)},e}();function p(t,r){return t.map((function(t){return function(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.diagnosticCategoryName(t),code:t.code,reportsUnnecessary:t.reportsUnnecessary,reportsDeprecated:t.reportsDeprecated}}(t,r)}))}e.realizeDiagnostics=p;var f=function(t){function r(e,r,n){var i=t.call(this,e)||this;return i.host=r,i.languageService=n,i.logPerformance=!1,i.logger=i.host,i}return c(r,t),r.prototype.forwardJSONCall=function(e,t){return u(this.logger,e,t,this.logPerformance)},r.prototype.dispose=function(e){this.logger.log("dispose()"),this.languageService.dispose(),this.languageService=null,l&&l.CollectGarbage&&(l.CollectGarbage(),this.logger.log("CollectGarbage()")),this.logger=null,t.prototype.dispose.call(this,e)},r.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",(function(){return null}))},r.prototype.cleanupSemanticCache=function(){var e=this;this.forwardJSONCall("cleanupSemanticCache()",(function(){return e.languageService.cleanupSemanticCache(),null}))},r.prototype.realizeDiagnostics=function(t){return p(t,e.getNewLineOrDefaultFromHost(this.host))},r.prototype.getSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return i.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return i.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))},r.prototype.getEncodedSyntacticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return g(i.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getEncodedSemanticClassifications=function(t,r,n){var i=this;return this.forwardJSONCall("getEncodedSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return g(i.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))},r.prototype.getSyntacticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSemanticDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))},r.prototype.getSuggestionDiagnostics=function(e){var t=this;return this.forwardJSONCall("getSuggestionDiagnostics('"+e+"')",(function(){return t.realizeDiagnostics(t.languageService.getSuggestionDiagnostics(e))}))},r.prototype.getCompilerOptionsDiagnostics=function(){var e=this;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))},r.prototype.getQuickInfoAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))},r.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))},r.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))},r.prototype.getSignatureHelpItems=function(e,t,r){var n=this;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",(function(){return n.languageService.getSignatureHelpItems(e,t,r)}))},r.prototype.getDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))},r.prototype.getDefinitionAndBoundSpan=function(e,t){var r=this;return this.forwardJSONCall("getDefinitionAndBoundSpan('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAndBoundSpan(e,t)}))},r.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))},r.prototype.getImplementationAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getImplementationAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getImplementationAtPosition(e,t)}))},r.prototype.getRenameInfo=function(e,t,r){var n=this;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",(function(){return n.languageService.getRenameInfo(e,t,r)}))},r.prototype.getSmartSelectionRange=function(e,t){var r=this;return this.forwardJSONCall("getSmartSelectionRange('"+e+"', "+t+")",(function(){return r.languageService.getSmartSelectionRange(e,t)}))},r.prototype.findRenameLocations=function(e,t,r,n,i){var a=this;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+", "+i+")",(function(){return a.languageService.findRenameLocations(e,t,r,n,i)}))},r.prototype.getBraceMatchingAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))},r.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))},r.prototype.getSpanOfEnclosingComment=function(e,t,r){var n=this;return this.forwardJSONCall("getSpanOfEnclosingComment('"+e+"', "+t+")",(function(){return n.languageService.getSpanOfEnclosingComment(e,t,r)}))},r.prototype.getIndentationAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",(function(){var i=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,i)}))},r.prototype.getReferencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getReferencesAtPosition(e,t)}))},r.prototype.findReferences=function(e,t){var r=this;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",(function(){return r.languageService.findReferences(e,t)}))},r.prototype.getOccurrencesAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))},r.prototype.getDocumentHighlights=function(t,r,n){var i=this;return this.forwardJSONCall("getDocumentHighlights('"+t+"', "+r+")",(function(){var a=i.languageService.getDocumentHighlights(t,r,JSON.parse(n)),o=e.toFileNameLowerCase(e.normalizeSlashes(t));return e.filter(a,(function(t){return e.toFileNameLowerCase(e.normalizeSlashes(t.fileName))===o}))}))},r.prototype.getCompletionsAtPosition=function(e,t,r){var n=this;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getCompletionsAtPosition(e,t,r)}))},r.prototype.getCompletionEntryDetails=function(e,t,r,n,i,a){var o=this;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",(function(){var s=void 0===n?void 0:JSON.parse(n);return o.languageService.getCompletionEntryDetails(e,t,r,s,i,a)}))},r.prototype.getFormattingEditsForRange=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsForRange(e,t,r,a)}))},r.prototype.getFormattingEditsForDocument=function(e,t){var r=this;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))},r.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var i=this;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",(function(){var a=JSON.parse(n);return i.languageService.getFormattingEditsAfterKeystroke(e,t,r,a)}))},r.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)}))},r.prototype.getNavigateToItems=function(e,t,r){var n=this;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNavigateToItems(e,t,r)}))},r.prototype.getNavigationBarItems=function(e){var t=this;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",(function(){return t.languageService.getNavigationBarItems(e)}))},r.prototype.getNavigationTree=function(e){var t=this;return this.forwardJSONCall("getNavigationTree('"+e+"')",(function(){return t.languageService.getNavigationTree(e)}))},r.prototype.getOutliningSpans=function(e){var t=this;return this.forwardJSONCall("getOutliningSpans('"+e+"')",(function(){return t.languageService.getOutliningSpans(e)}))},r.prototype.getTodoComments=function(e,t){var r=this;return this.forwardJSONCall("getTodoComments('"+e+"')",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))},r.prototype.prepareCallHierarchy=function(e,t){var r=this;return this.forwardJSONCall("prepareCallHierarchy('"+e+"', "+t+")",(function(){return r.languageService.prepareCallHierarchy(e,t)}))},r.prototype.provideCallHierarchyIncomingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyIncomingCalls('"+e+"', "+t+")",(function(){return r.languageService.provideCallHierarchyIncomingCalls(e,t)}))},r.prototype.provideCallHierarchyOutgoingCalls=function(e,t){var r=this;return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('"+e+"', "+t+")",(function(){return r.languageService.provideCallHierarchyOutgoingCalls(e,t)}))},r.prototype.getEmitOutput=function(e){var t=this;return this.forwardJSONCall("getEmitOutput('"+e+"')",(function(){var r=t.languageService.getEmitOutput(e),i=r.diagnostics,a=s(r,["diagnostics"]);return n(n({},a),{diagnostics:t.realizeDiagnostics(i)})}))},r.prototype.getEmitOutputObject=function(e){var t=this;return d(this.logger,"getEmitOutput('"+e+"')",!1,(function(){return t.languageService.getEmitOutput(e)}),this.logPerformance)},r.prototype.toggleLineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleLineComment('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.toggleLineComment(e,t)}))},r.prototype.toggleMultilineComment=function(e,t){var r=this;return this.forwardJSONCall("toggleMultilineComment('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.toggleMultilineComment(e,t)}))},r.prototype.commentSelection=function(e,t){var r=this;return this.forwardJSONCall("commentSelection('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.commentSelection(e,t)}))},r.prototype.uncommentSelection=function(e,t){var r=this;return this.forwardJSONCall("uncommentSelection('"+e+"', '"+JSON.stringify(t)+"')",(function(){return r.languageService.uncommentSelection(e,t)}))},r}(_);function g(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var m=function(t){function r(r,n){var i=t.call(this,r)||this;return i.logger=n,i.logPerformance=!1,i.classifier=e.createClassifier(),i}return c(r,t),r.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this;return void 0===r&&(r=!1),u(this.logger,"getEncodedLexicalClassifications",(function(){return g(n.classifier.getEncodedLexicalClassifications(e,t,r))}),this.logPerformance)},r.prototype.getClassificationsForLine=function(e,t,r){void 0===r&&(r=!1);for(var n=this.classifier.getClassificationsForLine(e,t,r),i="",a=0,o=n.entries;a=1&&arguments.length<=3?e.factory.createVariableDeclaration(t,void 0,r,n):e.Debug.fail("Argument count mismatch")}),t),e.updateVariableDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return 5===arguments.length?e.factory.updateVariableDeclaration(t,r,n,i,a):4===arguments.length?e.factory.updateVariableDeclaration(t,r,t.exclamationToken,n,i):e.Debug.fail("Argument count mismatch")}),t),e.createImportClause=e.Debug.deprecate((function(t,r,n){return void 0===n&&(n=!1),e.factory.createImportClause(n,t,r)}),t),e.updateImportClause=e.Debug.deprecate((function(t,r,n,i){return e.factory.updateImportClause(t,i,r,n)}),t),e.createExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a){return void 0===a&&(a=!1),e.factory.createExportDeclaration(t,r,a,n,i)}),t),e.updateExportDeclaration=e.Debug.deprecate((function(t,r,n,i,a,o){return e.factory.updateExportDeclaration(t,r,n,o,i,a)}),t),e.createJSDocParamTag=e.Debug.deprecate((function(t,r,n,i){return e.factory.createJSDocParameterTag(void 0,t,r,n,!1,i)}),t),e.createComma=e.Debug.deprecate((function(t,r){return e.factory.createComma(t,r)}),t),e.createLessThan=e.Debug.deprecate((function(t,r){return e.factory.createLessThan(t,r)}),t),e.createAssignment=e.Debug.deprecate((function(t,r){return e.factory.createAssignment(t,r)}),t),e.createStrictEquality=e.Debug.deprecate((function(t,r){return e.factory.createStrictEquality(t,r)}),t),e.createStrictInequality=e.Debug.deprecate((function(t,r){return e.factory.createStrictInequality(t,r)}),t),e.createAdd=e.Debug.deprecate((function(t,r){return e.factory.createAdd(t,r)}),t),e.createSubtract=e.Debug.deprecate((function(t,r){return e.factory.createSubtract(t,r)}),t),e.createLogicalAnd=e.Debug.deprecate((function(t,r){return e.factory.createLogicalAnd(t,r)}),t),e.createLogicalOr=e.Debug.deprecate((function(t,r){return e.factory.createLogicalOr(t,r)}),t),e.createPostfixIncrement=e.Debug.deprecate((function(t){return e.factory.createPostfixIncrement(t)}),t),e.createLogicalNot=e.Debug.deprecate((function(t){return e.factory.createLogicalNot(t)}),t),e.createNode=e.Debug.deprecate((function(t,r,n){return void 0===r&&(r=0),void 0===n&&(n=0),e.setTextRangePosEnd(297===t?e.parseBaseNodeFactory.createBaseSourceFileNode(t):78===t?e.parseBaseNodeFactory.createBaseIdentifierNode(t):79===t?e.parseBaseNodeFactory.createBasePrivateIdentifierNode(t):e.isNodeKind(t)?e.parseBaseNodeFactory.createBaseNode(t):e.parseBaseNodeFactory.createBaseTokenNode(t),r,n)}),{since:"4.0",warnAfter:"4.1",message:"Use an appropriate `factory` method instead."}),e.getMutableClone=e.Debug.deprecate((function(t){var r=e.factory.cloneNode(t);return e.setTextRange(r,t),e.setParent(r,t.parent),r}),{since:"4.0",warnAfter:"4.1",message:"Use `factory.cloneNode` instead and use `setCommentRange` or `setSourceMapRange` and avoid setting `parent`."}),e.isTypeAssertion=e.Debug.deprecate((function(e){return 206===e.kind}),{since:"4.0",warnAfter:"4.1",message:"Use `isTypeAssertionExpression` instead."})}(u||(u={}))})),vo="object"==typeof t&&t&&t.Object===Object&&t,ho="object"==typeof self&&self&&self.Object===Object&&self,Do=(vo||ho||Function("return this")()).Symbol;var xo=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r",""":'"',"'":"'"}),jo=/&(?:amp|lt|gt|quot|#39);/g,Jo=RegExp(jo.source);var Ko=function(e){return(e=Ro(e))&&Jo.test(e)?e.replace(jo,Bo):e},zo=r((function(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AST_NODE_TYPES=void 0,function(e){e.ArrayExpression="ArrayExpression",e.ArrayPattern="ArrayPattern",e.ArrowFunctionExpression="ArrowFunctionExpression",e.AssignmentExpression="AssignmentExpression",e.AssignmentPattern="AssignmentPattern",e.AwaitExpression="AwaitExpression",e.BinaryExpression="BinaryExpression",e.BlockStatement="BlockStatement",e.BreakStatement="BreakStatement",e.CallExpression="CallExpression",e.CatchClause="CatchClause",e.ChainExpression="ChainExpression",e.ClassBody="ClassBody",e.ClassDeclaration="ClassDeclaration",e.ClassExpression="ClassExpression",e.ClassProperty="ClassProperty",e.ConditionalExpression="ConditionalExpression",e.ContinueStatement="ContinueStatement",e.DebuggerStatement="DebuggerStatement",e.Decorator="Decorator",e.DoWhileStatement="DoWhileStatement",e.EmptyStatement="EmptyStatement",e.ExportAllDeclaration="ExportAllDeclaration",e.ExportDefaultDeclaration="ExportDefaultDeclaration",e.ExportNamedDeclaration="ExportNamedDeclaration",e.ExportSpecifier="ExportSpecifier",e.ExpressionStatement="ExpressionStatement",e.ForInStatement="ForInStatement",e.ForOfStatement="ForOfStatement",e.ForStatement="ForStatement",e.FunctionDeclaration="FunctionDeclaration",e.FunctionExpression="FunctionExpression",e.Identifier="Identifier",e.IfStatement="IfStatement",e.ImportDeclaration="ImportDeclaration",e.ImportDefaultSpecifier="ImportDefaultSpecifier",e.ImportExpression="ImportExpression",e.ImportNamespaceSpecifier="ImportNamespaceSpecifier",e.ImportSpecifier="ImportSpecifier",e.JSXAttribute="JSXAttribute",e.JSXClosingElement="JSXClosingElement",e.JSXClosingFragment="JSXClosingFragment",e.JSXElement="JSXElement",e.JSXEmptyExpression="JSXEmptyExpression",e.JSXExpressionContainer="JSXExpressionContainer",e.JSXFragment="JSXFragment",e.JSXIdentifier="JSXIdentifier",e.JSXMemberExpression="JSXMemberExpression",e.JSXOpeningElement="JSXOpeningElement",e.JSXOpeningFragment="JSXOpeningFragment",e.JSXSpreadAttribute="JSXSpreadAttribute",e.JSXSpreadChild="JSXSpreadChild",e.JSXText="JSXText",e.LabeledStatement="LabeledStatement",e.Literal="Literal",e.LogicalExpression="LogicalExpression",e.MemberExpression="MemberExpression",e.MetaProperty="MetaProperty",e.MethodDefinition="MethodDefinition",e.NewExpression="NewExpression",e.ObjectExpression="ObjectExpression",e.ObjectPattern="ObjectPattern",e.Program="Program",e.Property="Property",e.RestElement="RestElement",e.ReturnStatement="ReturnStatement",e.SequenceExpression="SequenceExpression",e.SpreadElement="SpreadElement",e.Super="Super",e.SwitchCase="SwitchCase",e.SwitchStatement="SwitchStatement",e.TaggedTemplateExpression="TaggedTemplateExpression",e.TemplateElement="TemplateElement",e.TemplateLiteral="TemplateLiteral",e.ThisExpression="ThisExpression",e.ThrowStatement="ThrowStatement",e.TryStatement="TryStatement",e.UnaryExpression="UnaryExpression",e.UpdateExpression="UpdateExpression",e.VariableDeclaration="VariableDeclaration",e.VariableDeclarator="VariableDeclarator",e.WhileStatement="WhileStatement",e.WithStatement="WithStatement",e.YieldExpression="YieldExpression",e.TSAbstractClassProperty="TSAbstractClassProperty",e.TSAbstractKeyword="TSAbstractKeyword",e.TSAbstractMethodDefinition="TSAbstractMethodDefinition",e.TSAnyKeyword="TSAnyKeyword",e.TSArrayType="TSArrayType",e.TSAsExpression="TSAsExpression",e.TSAsyncKeyword="TSAsyncKeyword",e.TSBigIntKeyword="TSBigIntKeyword",e.TSBooleanKeyword="TSBooleanKeyword",e.TSCallSignatureDeclaration="TSCallSignatureDeclaration",e.TSClassImplements="TSClassImplements",e.TSConditionalType="TSConditionalType",e.TSConstructorType="TSConstructorType",e.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",e.TSDeclareFunction="TSDeclareFunction",e.TSDeclareKeyword="TSDeclareKeyword",e.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",e.TSEnumDeclaration="TSEnumDeclaration",e.TSEnumMember="TSEnumMember",e.TSExportAssignment="TSExportAssignment",e.TSExportKeyword="TSExportKeyword",e.TSExternalModuleReference="TSExternalModuleReference",e.TSFunctionType="TSFunctionType",e.TSImportEqualsDeclaration="TSImportEqualsDeclaration",e.TSImportType="TSImportType",e.TSIndexedAccessType="TSIndexedAccessType",e.TSIndexSignature="TSIndexSignature",e.TSInferType="TSInferType",e.TSInterfaceBody="TSInterfaceBody",e.TSInterfaceDeclaration="TSInterfaceDeclaration",e.TSInterfaceHeritage="TSInterfaceHeritage",e.TSIntersectionType="TSIntersectionType",e.TSLiteralType="TSLiteralType",e.TSMappedType="TSMappedType",e.TSMethodSignature="TSMethodSignature",e.TSModuleBlock="TSModuleBlock",e.TSModuleDeclaration="TSModuleDeclaration",e.TSNamedTupleMember="TSNamedTupleMember",e.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",e.TSNeverKeyword="TSNeverKeyword",e.TSNonNullExpression="TSNonNullExpression",e.TSNullKeyword="TSNullKeyword",e.TSNumberKeyword="TSNumberKeyword",e.TSObjectKeyword="TSObjectKeyword",e.TSOptionalType="TSOptionalType",e.TSParameterProperty="TSParameterProperty",e.TSParenthesizedType="TSParenthesizedType",e.TSPrivateKeyword="TSPrivateKeyword",e.TSPropertySignature="TSPropertySignature",e.TSProtectedKeyword="TSProtectedKeyword",e.TSPublicKeyword="TSPublicKeyword",e.TSQualifiedName="TSQualifiedName",e.TSReadonlyKeyword="TSReadonlyKeyword",e.TSRestType="TSRestType",e.TSStaticKeyword="TSStaticKeyword",e.TSStringKeyword="TSStringKeyword",e.TSSymbolKeyword="TSSymbolKeyword",e.TSTemplateLiteralType="TSTemplateLiteralType",e.TSThisType="TSThisType",e.TSTupleType="TSTupleType",e.TSTypeAliasDeclaration="TSTypeAliasDeclaration",e.TSTypeAnnotation="TSTypeAnnotation",e.TSTypeAssertion="TSTypeAssertion",e.TSTypeLiteral="TSTypeLiteral",e.TSTypeOperator="TSTypeOperator",e.TSTypeParameter="TSTypeParameter",e.TSTypeParameterDeclaration="TSTypeParameterDeclaration",e.TSTypeParameterInstantiation="TSTypeParameterInstantiation",e.TSTypePredicate="TSTypePredicate",e.TSTypeQuery="TSTypeQuery",e.TSTypeReference="TSTypeReference",e.TSUndefinedKeyword="TSUndefinedKeyword",e.TSUnionType="TSUnionType",e.TSUnknownKeyword="TSUnknownKeyword",e.TSVoidKeyword="TSVoidKeyword"}(r||(r={})),t.AST_NODE_TYPES=r})),Uo=r((function(e,t){var r;Object.defineProperty(t,"__esModule",{value:!0}),t.AST_TOKEN_TYPES=void 0,function(e){e.Boolean="Boolean",e.Identifier="Identifier",e.JSXIdentifier="JSXIdentifier",e.JSXText="JSXText",e.Keyword="Keyword",e.Null="Null",e.Numeric="Numeric",e.Punctuator="Punctuator",e.RegularExpression="RegularExpression",e.String="String",e.Template="Template",e.Block="Block",e.Line="Line"}(r||(r={})),t.AST_TOKEN_TYPES=r})),Vo=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})})),qo=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})})),Wo=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})})),Ho=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},o=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,"AST_NODE_TYPES",{enumerable:!0,get:function(){return zo.AST_NODE_TYPES}}),Object.defineProperty(r,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return Uo.AST_TOKEN_TYPES}}),a(Vo,r),a(qo,r),r.TSESTree=o(Wo)})),Go=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})})),Yo=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0})})),Xo=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,"__esModule",{value:!0}),r.TSESTree=r.AST_TOKEN_TYPES=r.AST_NODE_TYPES=void 0,Object.defineProperty(r,"AST_NODE_TYPES",{enumerable:!0,get:function(){return Ho.AST_NODE_TYPES}}),Object.defineProperty(r,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return Ho.AST_TOKEN_TYPES}}),Object.defineProperty(r,"TSESTree",{enumerable:!0,get:function(){return Ho.TSESTree}}),i(Go,r),i(Yo,r)})),Qo=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.firstDefined=r.nodeHasTokens=r.createError=r.convertTokens=r.convertToken=r.getTokenType=r.isChildUnwrappableOptionalChain=r.isChainExpression=r.isOptional=r.isComputedProperty=r.unescapeStringLiteralText=r.hasJSXAncestor=r.findFirstMatchingAncestor=r.findNextToken=r.getTSNodeAccessibility=r.getDeclarationKind=r.isJSXToken=r.isToken=r.getRange=r.canContainDirective=r.getLocFor=r.getLineAndCharacterFor=r.getBinaryExpressionType=r.isJSDocComment=r.isComment=r.isComma=r.getLastModifier=r.hasModifier=r.isESTreeClassMember=r.getTextForTokenKind=r.isLogicalOperator=r.isAssignmentOperator=void 0;const s=o(Ko),c=a(yo),u=c.SyntaxKind,l=[u.BarBarToken,u.AmpersandAmpersandToken,u.QuestionQuestionToken];function d(e){return e.kind>=u.FirstAssignment&&e.kind<=u.LastAssignment}function _(e){return l.includes(e.kind)}function p(e){return e.kind===u.SingleLineCommentTrivia||e.kind===u.MultiLineCommentTrivia}function f(e){return e.kind===u.JSDocComment}function g(e,t){const r=t.getLineAndCharacterOfPosition(e);return{line:r.line+1,column:r.character}}function m(e,t,r){return{start:g(e,r),end:g(t,r)}}function y(e){return e.kind>=u.FirstToken&&e.kind<=u.LastToken}function v(e){return e.kind>=u.JsxElement&&e.kind<=u.JsxAttribute}function h(e,t){for(;e;){if(t(e))return e;e=e.parent}}function D(e){return!!h(e,v)}function x(e){return e.type===Xo.AST_NODE_TYPES.ChainExpression}function b(e){if("originalKeywordKind"in e&&e.originalKeywordKind)return e.originalKeywordKind===u.NullKeyword?Xo.AST_TOKEN_TYPES.Null:e.originalKeywordKind>=u.FirstFutureReservedWord&&e.originalKeywordKind<=u.LastKeyword?Xo.AST_TOKEN_TYPES.Identifier:Xo.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstKeyword&&e.kind<=u.LastFutureReservedWord)return e.kind===u.FalseKeyword||e.kind===u.TrueKeyword?Xo.AST_TOKEN_TYPES.Boolean:Xo.AST_TOKEN_TYPES.Keyword;if(e.kind>=u.FirstPunctuation&&e.kind<=u.LastBinaryOperator)return Xo.AST_TOKEN_TYPES.Punctuator;if(e.kind>=u.NoSubstitutionTemplateLiteral&&e.kind<=u.TemplateTail)return Xo.AST_TOKEN_TYPES.Template;switch(e.kind){case u.NumericLiteral:return Xo.AST_TOKEN_TYPES.Numeric;case u.JsxText:return Xo.AST_TOKEN_TYPES.JSXText;case u.StringLiteral:return!e.parent||e.parent.kind!==u.JsxAttribute&&e.parent.kind!==u.JsxElement?Xo.AST_TOKEN_TYPES.String:Xo.AST_TOKEN_TYPES.JSXText;case u.RegularExpressionLiteral:return Xo.AST_TOKEN_TYPES.RegularExpression;case u.Identifier:case u.ConstructorKeyword:case u.GetKeyword:case u.SetKeyword:}if(e.parent&&e.kind===u.Identifier){if(v(e.parent))return Xo.AST_TOKEN_TYPES.JSXIdentifier;if(e.parent.kind===u.PropertyAccessExpression&&D(e))return Xo.AST_TOKEN_TYPES.JSXIdentifier}return Xo.AST_TOKEN_TYPES.Identifier}function S(e,t){const r=e.kind===u.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),a=b(e);return a===Xo.AST_TOKEN_TYPES.RegularExpression?{type:a,value:i,range:[r,n],loc:m(r,n,t),regex:{pattern:i.slice(1,i.lastIndexOf("/")),flags:i.slice(i.lastIndexOf("/")+1)}}:{type:a,value:i,range:[r,n],loc:m(r,n,t)}}function E(e,t){return e.kind===u.EndOfFileToken?!!e.jsDoc:0!==e.getWidth(t)}function C(e,t){if(void 0!==e)for(let r=0;rt.kind===e))},r.getLastModifier=function(e){return!!e.modifiers&&!!e.modifiers.length&&e.modifiers[e.modifiers.length-1]||null},r.isComma=function(e){return e.kind===u.CommaToken},r.isComment=p,r.isJSDocComment=f,r.getBinaryExpressionType=function(e){return d(e)?Xo.AST_NODE_TYPES.AssignmentExpression:_(e)?Xo.AST_NODE_TYPES.LogicalExpression:Xo.AST_NODE_TYPES.BinaryExpression},r.getLineAndCharacterFor=g,r.getLocFor=m,r.canContainDirective=function(e){if(e.kind===c.SyntaxKind.Block)switch(e.parent.kind){case c.SyntaxKind.Constructor:case c.SyntaxKind.GetAccessor:case c.SyntaxKind.SetAccessor:case c.SyntaxKind.ArrowFunction:case c.SyntaxKind.FunctionExpression:case c.SyntaxKind.FunctionDeclaration:case c.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0},r.getRange=function(e,t){return[e.getStart(t),e.getEnd()]},r.isToken=y,r.isJSXToken=v,r.getDeclarationKind=function(e){return e.flags&c.NodeFlags.Let?"let":e.flags&c.NodeFlags.Const?"const":"var"},r.getTSNodeAccessibility=function(e){const t=e.modifiers;if(!t)return null;for(let e=0;e(n.pos<=e.pos&&n.end>e.end||n.pos===e.end)&&E(n,r)?t(n):void 0))}(t)},r.findFirstMatchingAncestor=h,r.hasJSXAncestor=D,r.unescapeStringLiteralText=function(e){return s.default(e)},r.isComputedProperty=function(e){return e.kind===u.ComputedPropertyName},r.isOptional=function(e){return!!e.questionToken&&e.questionToken.kind===u.QuestionToken},r.isChainExpression=x,r.isChildUnwrappableOptionalChain=function(e,t){return!(!x(t)||e.expression.kind===c.SyntaxKind.ParenthesizedExpression)},r.getTokenType=b,r.convertToken=S,r.convertTokens=function(e){const t=[];return function r(n){if(!p(n)&&!f(n))if(y(n)&&n.kind!==u.EndOfFileToken){const r=S(n,e);r&&t.push(r)}else n.getChildren(e).forEach(r)}(e),t},r.createError=function(e,t,r){const n=e.getLineAndCharacterOfPosition(t);return{index:t,lineNumber:n.line+1,column:n.character,message:r}},r.nodeHasTokens=E,r.firstDefined=C})),$o=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.typescriptVersionIsAtLeast=void 0;const o=a(Ci),s=a(yo);function c(e){return o.satisfies(s.version,">= ".concat(e,".0 || >= ").concat(e,".1-rc || >= ").concat(e,".0-beta"),{includePrerelease:!0})}const u=["3.7","3.8","3.9","4.0"],l={};r.typescriptVersionIsAtLeast=l;for(const e of u)l[e]=c(e)})),Zo=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.Converter=r.convertError=void 0;const o=a(yo),s=o.SyntaxKind;r.convertError=function(e){return Qo.createError(e.file,e.start,e.message||e.messageText)};r.Converter=class{constructor(e,t){this.esTreeNodeToTSNodeMap=new WeakMap,this.tsNodeToESTreeNodeMap=new WeakMap,this.allowPattern=!1,this.inTypeMode=!1,this.ast=e,this.options=Object.assign({},t)}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}convertProgram(){return this.converter(this.ast)}converter(e,t,r,n){if(!e)return null;const i=this.inTypeMode,a=this.allowPattern;void 0!==r&&(this.inTypeMode=r),void 0!==n&&(this.allowPattern=n);const o=this.convertNode(e,null!=t?t:e.parent);return this.registerTSNodeInNodeMap(e,o),this.inTypeMode=i,this.allowPattern=a,o}fixExports(e,t){if(e.modifiers&&e.modifiers[0].kind===s.ExportKeyword){this.registerTSNodeInNodeMap(e,t);const r=e.modifiers[0],n=e.modifiers[1],i=n&&n.kind===s.DefaultKeyword,a=i?Qo.findNextToken(n,this.ast,this.ast):Qo.findNextToken(r,this.ast,this.ast);if(t.range[0]=a.getStart(this.ast),t.loc=Qo.getLocFor(t.range[0],t.range[1],this.ast),i)return this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:t,range:[r.getStart(this.ast),t.range[1]],exportKind:"value"});{const n=t.type===Xo.AST_NODE_TYPES.TSInterfaceDeclaration||t.type===Xo.AST_NODE_TYPES.TSTypeAliasDeclaration,i=!0===t.declare;return this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportNamedDeclaration,declaration:t,specifiers:[],source:null,exportKind:n||i?"type":"value",range:[r.getStart(this.ast),t.range[1]]})}}return t}registerTSNodeInNodeMap(e,t){t&&this.options.shouldPreserveNodeMaps&&(this.tsNodeToESTreeNodeMap.has(e)||this.tsNodeToESTreeNodeMap.set(e,t))}convertPattern(e,t){return this.converter(e,t,this.inTypeMode,!0)}convertChild(e,t){return this.converter(e,t,this.inTypeMode,!1)}convertType(e,t){return this.converter(e,t,!0,!1)}createNode(e,t){const r=t;return r.range||(r.range=Qo.getRange(e,this.ast)),r.loc||(r.loc=Qo.getLocFor(r.range[0],r.range[1],this.ast)),r&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(r,e),r}convertBindingNameWithTypeAnnotation(e,t,r){const n=this.convertPattern(e);return t&&(n.typeAnnotation=this.convertTypeAnnotation(t,r),this.fixParentLocation(n,n.typeAnnotation.range)),n}convertTypeAnnotation(e,t){const r=(null==t?void 0:t.kind)===s.FunctionType||(null==t?void 0:t.kind)===s.ConstructorType?2:1,n=e.getFullStart()-r,i=Qo.getLocFor(n,e.end,this.ast);return{type:Xo.AST_NODE_TYPES.TSTypeAnnotation,loc:i,range:[n,e.end],typeAnnotation:this.convertType(e)}}convertBodyExpressions(e,t){let r=Qo.canContainDirective(t);return e.map((e=>{const t=this.convertChild(e);if(r){if((null==t?void 0:t.expression)&&o.isExpressionStatement(e)&&o.isStringLiteral(e.expression)){const e=t.expression.raw;return t.directive=e.slice(1,-1),t}r=!1}return t})).filter((e=>e))}convertTypeArgumentsToTypeParameters(e,t){const r=Qo.findNextToken(e,this.ast,this.ast);return this.createNode(t,{type:Xo.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map((e=>this.convertType(e)))})}convertTSTypeParametersToTypeParametersDeclaration(e){const t=Qo.findNextToken(e,this.ast,this.ast);return{type:Xo.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[e.pos-1,t.end],loc:Qo.getLocFor(e.pos-1,t.end,this.ast),params:e.map((e=>this.convertType(e)))}}convertParameters(e){return e&&e.length?e.map((e=>{var t;const r=this.convertChild(e);return(null===(t=e.decorators)||void 0===t?void 0:t.length)&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),r})):[]}convertChainExpression(e,t){const{child:r,isOptional:n}=e.type===Xo.AST_NODE_TYPES.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===Xo.AST_NODE_TYPES.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=Qo.isChildUnwrappableOptionalChain(t,r);if(!i&&!n)return e;if(i&&Qo.isChainExpression(r)){const t=r.expression;e.type===Xo.AST_NODE_TYPES.MemberExpression?e.object=t:e.type===Xo.AST_NODE_TYPES.CallExpression?e.callee=t:e.expression=t}return this.createNode(t,{type:Xo.AST_NODE_TYPES.ChainExpression,expression:e})}deeplyCopy(e){if(e.kind===o.SyntaxKind.JSDocFunctionType)throw Qo.createError(this.ast,e.pos,"JSDoc types can only be used inside documentation comments.");const t="TS".concat(s[e.kind]);if(this.options.errorOnUnknownASTType&&!Xo.AST_NODE_TYPES[t])throw new Error('Unknown AST_NODE_TYPE: "'.concat(t,'"'));const r=this.createNode(e,{type:t});return"type"in e&&(r.typeAnnotation=e.type&&"kind"in e.type&&o.isTypeNode(e.type)?this.convertTypeAnnotation(e.type,e):null),"typeArguments"in e&&(r.typeParameters=e.typeArguments&&"pos"in e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null),"typeParameters"in e&&(r.typeParameters=e.typeParameters&&"pos"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null),"decorators"in e&&e.decorators&&e.decorators.length&&(r.decorators=e.decorators.map((e=>this.convertChild(e)))),Object.entries(e).filter((([e])=>!/^(?:_children|kind|parent|pos|end|flags|modifierFlagsCache|jsDoc|type|typeArguments|typeParameters|decorators)$/.test(e))).forEach((([e,t])=>{Array.isArray(t)?r[e]=t.map((e=>this.convertChild(e))):t&&"object"==typeof t&&t.kind?r[e]=this.convertChild(t):r[e]=t})),r}convertJSXTagName(e,t){let r;switch(e.kind){case s.PropertyAccessExpression:if(e.name.kind===s.PrivateIdentifier)throw new Error("Non-private identifier expected.");r=this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXTagName(e.name,t)});break;case s.ThisKeyword:r=this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXIdentifier,name:"this"});break;case s.Identifier:default:r=this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXIdentifier,name:e.text})}return this.registerTSNodeInNodeMap(e,r),r}applyModifiersToResult(e,t){if(!t||!t.length)return;const r={};for(let n=0;n!r[t]));n&&n.length&&(e.modifiers=n.map((e=>this.convertChild(e))))}fixParentLocation(e,t){t[0]e.range[1]&&(e.range[1]=t[1],e.loc.end=Qo.getLineAndCharacterFor(e.range[1],this.ast))}convertNode(e,t){var r,n,i,a,c,u,l,d,_,p;switch(e.kind){case s.SourceFile:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(e.statements,e),sourceType:e.externalModuleIndicator?"module":"script",range:[e.getStart(this.ast),e.endOfFileToken.end]});case s.Block:return this.createNode(e,{type:Xo.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case s.Identifier:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Identifier,name:e.text});case s.WithStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.WithStatement,object:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ReturnStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(e.expression)});case s.LabeledStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(e.label),body:this.convertChild(e.statement)});case s.ContinueStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(e.label)});case s.BreakStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.BreakStatement,label:this.convertChild(e.label)});case s.IfStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.IfStatement,test:this.convertChild(e.expression),consequent:this.convertChild(e.thenStatement),alternate:this.convertChild(e.elseStatement)});case s.SwitchStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(e.expression),cases:e.caseBlock.clauses.map((e=>this.convertChild(e)))});case s.CaseClause:case s.DefaultClause:return this.createNode(e,{type:Xo.AST_NODE_TYPES.SwitchCase,test:e.kind===s.CaseClause?this.convertChild(e.expression):null,consequent:e.statements.map((e=>this.convertChild(e)))});case s.ThrowStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(e.expression)});case s.TryStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TryStatement,block:this.convertChild(e.tryBlock),handler:this.convertChild(e.catchClause),finalizer:this.convertChild(e.finallyBlock)});case s.CatchClause:return this.createNode(e,{type:Xo.AST_NODE_TYPES.CatchClause,param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null,body:this.convertChild(e.block)});case s.WhileStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.WhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.DoStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ForStatement,init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor),body:this.convertChild(e.statement)});case s.ForInStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement)});case s.ForOfStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(e.initializer),right:this.convertChild(e.expression),body:this.convertChild(e.statement),await:Boolean(e.awaitModifier&&e.awaitModifier.kind===s.AwaitKeyword)});case s.FunctionDeclaration:{const t=Qo.hasModifier(s.DeclareKeyword,e),r=this.createNode(e,{type:t||!e.body?Xo.AST_NODE_TYPES.TSDeclareFunction:Xo.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(e.name),generator:!!e.asteriskToken,expression:!1,async:Qo.hasModifier(s.AsyncKeyword,e),params:this.convertParameters(e.parameters),body:this.convertChild(e.body)||void 0});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),t&&(r.declare=!0),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,r)}case s.VariableDeclaration:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(e.name,e.type,e),init:this.convertChild(e.initializer)});return e.exclamationToken&&(t.definite=!0),t}case s.VariableStatement:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarationList.declarations.map((e=>this.convertChild(e))),kind:Qo.getDeclarationKind(e.declarationList)});return e.decorators&&(t.decorators=e.decorators.map((e=>this.convertChild(e)))),Qo.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),this.fixExports(e,t)}case s.VariableDeclarationList:return this.createNode(e,{type:Xo.AST_NODE_TYPES.VariableDeclaration,declarations:e.declarations.map((e=>this.convertChild(e))),kind:Qo.getDeclarationKind(e)});case s.ExpressionStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(e.expression)});case s.ThisKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ThisExpression});case s.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:Xo.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:Xo.AST_NODE_TYPES.ArrayExpression,elements:e.elements.map((e=>this.convertChild(e)))});case s.ObjectLiteralExpression:return this.allowPattern?this.createNode(e,{type:Xo.AST_NODE_TYPES.ObjectPattern,properties:e.properties.map((e=>this.convertPattern(e)))}):this.createNode(e,{type:Xo.AST_NODE_TYPES.ObjectExpression,properties:e.properties.map((e=>this.convertChild(e)))});case s.PropertyAssignment:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.converter(e.initializer,e,this.inTypeMode,this.allowPattern),computed:Qo.isComputedProperty(e.name),method:!1,shorthand:!1,kind:"init"});case s.ShorthandPropertyAssignment:return e.objectAssignmentInitializer?this.createNode(e,{type:Xo.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.createNode(e,{type:Xo.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.name),right:this.convertChild(e.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(e,{type:Xo.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:this.convertChild(e.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case s.ComputedPropertyName:return this.convertChild(e.expression);case s.PropertyDeclaration:{const t=Qo.hasModifier(s.AbstractKeyword,e),r=this.createNode(e,{type:t?Xo.AST_NODE_TYPES.TSAbstractClassProperty:Xo.AST_NODE_TYPES.ClassProperty,key:this.convertChild(e.name),value:this.convertChild(e.initializer),computed:Qo.isComputedProperty(e.name),static:Qo.hasModifier(s.StaticKeyword,e),readonly:Qo.hasModifier(s.ReadonlyKeyword,e)||void 0,declare:Qo.hasModifier(s.DeclareKeyword,e)});e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e)),e.decorators&&(r.decorators=e.decorators.map((e=>this.convertChild(e))));const n=Qo.getTSNodeAccessibility(e);return n&&(r.accessibility=n),e.name.kind!==s.Identifier&&e.name.kind!==s.ComputedPropertyName||!e.questionToken||(r.optional=!0),e.exclamationToken&&(r.definite=!0),r.key.type===Xo.AST_NODE_TYPES.Literal&&e.questionToken&&(r.optional=!0),r}case s.GetAccessor:case s.SetAccessor:case s.MethodDeclaration:{const r=this.createNode(e,{type:e.body?Xo.AST_NODE_TYPES.FunctionExpression:Xo.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!e.asteriskToken,expression:!1,async:Qo.hasModifier(s.AsyncKeyword,e),body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end],params:[]});let n;if(e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(r,r.typeParameters.range)),t.kind===s.ObjectLiteralExpression)r.params=e.parameters.map((e=>this.convertChild(e))),n=this.createNode(e,{type:Xo.AST_NODE_TYPES.Property,key:this.convertChild(e.name),value:r,computed:Qo.isComputedProperty(e.name),method:e.kind===s.MethodDeclaration,shorthand:!1,kind:"init"});else{r.params=this.convertParameters(e.parameters);const t=Qo.hasModifier(s.AbstractKeyword,e)?Xo.AST_NODE_TYPES.TSAbstractMethodDefinition:Xo.AST_NODE_TYPES.MethodDefinition;n=this.createNode(e,{type:t,key:this.convertChild(e.name),value:r,computed:Qo.isComputedProperty(e.name),static:Qo.hasModifier(s.StaticKeyword,e),kind:"method"}),e.decorators&&(n.decorators=e.decorators.map((e=>this.convertChild(e))));const i=Qo.getTSNodeAccessibility(e);i&&(n.accessibility=i)}return e.questionToken&&(n.optional=!0),e.kind===s.GetAccessor?n.kind="get":e.kind===s.SetAccessor?n.kind="set":n.static||e.name.kind!==s.StringLiteral||"constructor"!==e.name.text||n.type===Xo.AST_NODE_TYPES.Property||(n.kind="constructor"),n}case s.Constructor:{const t=Qo.getLastModifier(e),r=t&&Qo.findNextToken(t,e,this.ast)||e.getFirstToken(),n=this.createNode(e,{type:e.body?Xo.AST_NODE_TYPES.FunctionExpression:Xo.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(e.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(e.body),range:[e.parameters.pos-1,e.end]});e.typeParameters&&(n.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters),this.fixParentLocation(n,n.typeParameters.range)),e.type&&(n.returnType=this.convertTypeAnnotation(e.type,e));const i=this.createNode(e,{type:Xo.AST_NODE_TYPES.Identifier,name:"constructor",range:[r.getStart(this.ast),r.end]}),a=Qo.hasModifier(s.StaticKeyword,e),o=this.createNode(e,{type:Qo.hasModifier(s.AbstractKeyword,e)?Xo.AST_NODE_TYPES.TSAbstractMethodDefinition:Xo.AST_NODE_TYPES.MethodDefinition,key:i,value:n,computed:!1,static:a,kind:a?"method":"constructor"}),c=Qo.getTSNodeAccessibility(e);return c&&(o.accessibility=c),o}case s.FunctionExpression:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(e.name),generator:!!e.asteriskToken,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:Qo.hasModifier(s.AsyncKeyword,e),expression:!1});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.SuperKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Super});case s.ArrayBindingPattern:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ArrayPattern,elements:e.elements.map((e=>this.convertPattern(e)))});case s.OmittedExpression:return null;case s.ObjectBindingPattern:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ObjectPattern,properties:e.elements.map((e=>this.convertPattern(e)))});case s.BindingElement:if(t.kind===s.ArrayBindingPattern){const r=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:Xo.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}):e.dotDotDotToken?this.createNode(e,{type:Xo.AST_NODE_TYPES.RestElement,argument:r}):r}{let t;return t=e.dotDotDotToken?this.createNode(e,{type:Xo.AST_NODE_TYPES.RestElement,argument:this.convertChild(null!==(r=e.propertyName)&&void 0!==r?r:e.name)}):this.createNode(e,{type:Xo.AST_NODE_TYPES.Property,key:this.convertChild(null!==(n=e.propertyName)&&void 0!==n?n:e.name),value:this.convertChild(e.name),computed:Boolean(e.propertyName&&e.propertyName.kind===s.ComputedPropertyName),method:!1,shorthand:!e.propertyName,kind:"init"}),e.initializer&&(t.value=this.createNode(e,{type:Xo.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(e.name),right:this.convertChild(e.initializer),range:[e.name.getStart(this.ast),e.initializer.end]})),t}case s.ArrowFunction:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(e.parameters),body:this.convertChild(e.body),async:Qo.hasModifier(s.AsyncKeyword,e),expression:e.body.kind!==s.Block});return e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t}case s.YieldExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.YieldExpression,delegate:!!e.asteriskToken,argument:this.convertChild(e.expression)});case s.AwaitExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(e.expression)});case s.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(e,{type:Xo.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1),cooked:e.text},tail:!0})],expressions:[]});case s.TemplateExpression:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(e.head)],expressions:[]});return e.templateSpans.forEach((e=>{t.expressions.push(this.convertChild(e.expression)),t.quasis.push(this.convertChild(e.literal))})),t}case s.TaggedTemplateExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,tag:this.convertChild(e.tag),quasi:this.convertChild(e.template)});case s.TemplateHead:case s.TemplateMiddle:case s.TemplateTail:{const t=e.kind===s.TemplateTail;return this.createNode(e,{type:Xo.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(t?1:2)),cooked:e.text},tail:t})}case s.SpreadAssignment:case s.SpreadElement:return this.allowPattern?this.createNode(e,{type:Xo.AST_NODE_TYPES.RestElement,argument:this.convertPattern(e.expression)}):this.createNode(e,{type:Xo.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(e.expression)});case s.Parameter:{let r,n;return e.dotDotDotToken?r=n=this.createNode(e,{type:Xo.AST_NODE_TYPES.RestElement,argument:this.convertChild(e.name)}):e.initializer?(r=this.convertChild(e.name),n=this.createNode(e,{type:Xo.AST_NODE_TYPES.AssignmentPattern,left:r,right:this.convertChild(e.initializer)}),e.modifiers&&(n.range[0]=r.range[0],n.loc=Qo.getLocFor(n.range[0],n.range[1],this.ast))):r=n=this.convertChild(e.name,t),e.type&&(r.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(r,r.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>r.range[1]&&(r.range[1]=e.questionToken.end,r.loc.end=Qo.getLineAndCharacterFor(r.range[1],this.ast)),r.optional=!0),e.modifiers?this.createNode(e,{type:Xo.AST_NODE_TYPES.TSParameterProperty,accessibility:null!==(i=Qo.getTSNodeAccessibility(e))&&void 0!==i?i:void 0,readonly:Qo.hasModifier(s.ReadonlyKeyword,e)||void 0,static:Qo.hasModifier(s.StaticKeyword,e)||void 0,export:Qo.hasModifier(s.ExportKeyword,e)||void 0,parameter:n}):n}case s.ClassDeclaration:case s.ClassExpression:{const t=null!==(a=e.heritageClauses)&&void 0!==a?a:[],r=e.kind===s.ClassDeclaration?Xo.AST_NODE_TYPES.ClassDeclaration:Xo.AST_NODE_TYPES.ClassExpression,n=t.find((e=>e.token===s.ExtendsKeyword)),i=t.find((e=>e.token===s.ImplementsKeyword)),o=this.createNode(e,{type:r,id:this.convertChild(e.name),body:this.createNode(e,{type:Xo.AST_NODE_TYPES.ClassBody,body:[],range:[e.members.pos-1,e.end]}),superClass:(null==n?void 0:n.types[0])?this.convertChild(n.types[0].expression):null});if(n){if(n.types.length>1)throw Qo.createError(this.ast,n.types[1].pos,"Classes can only extend a single class.");(null===(c=n.types[0])||void 0===c?void 0:c.typeArguments)&&(o.superTypeParameters=this.convertTypeArgumentsToTypeParameters(n.types[0].typeArguments,n.types[0]))}e.typeParameters&&(o.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),i&&(o.implements=i.types.map((e=>this.convertChild(e)))),Qo.hasModifier(s.AbstractKeyword,e)&&(o.abstract=!0),Qo.hasModifier(s.DeclareKeyword,e)&&(o.declare=!0),e.decorators&&(o.decorators=e.decorators.map((e=>this.convertChild(e))));const u=e.members.filter(Qo.isESTreeClassMember);return u.length&&(o.body.body=u.map((e=>this.convertChild(e)))),this.fixExports(e,o)}case s.ModuleBlock:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case s.ImportDeclaration:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:[],importKind:"value"});if(e.importClause&&(e.importClause.isTypeOnly&&(t.importKind="type"),e.importClause.name&&t.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case s.NamespaceImport:t.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case s.NamedImports:t.specifiers=t.specifiers.concat(e.importClause.namedBindings.elements.map((e=>this.convertChild(e))))}return t}case s.NamespaceImport:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case s.ImportSpecifier:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(e.name),imported:this.convertChild(null!==(u=e.propertyName)&&void 0!==u?u:e.name)});case s.ImportClause:{const t=this.convertChild(e.name);return this.createNode(e,{type:Xo.AST_NODE_TYPES.ImportDefaultSpecifier,local:t,range:t.range})}case s.ExportDeclaration:return(null===(l=e.exportClause)||void 0===l?void 0:l.kind)===s.NamedExports?this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map((e=>this.convertChild(e))),exportKind:e.isTypeOnly?"type":"value",declaration:null}):this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(e.moduleSpecifier),exportKind:e.isTypeOnly?"type":"value",exported:e.exportClause&&e.exportClause.kind===s.NamespaceExport?this.convertChild(e.exportClause.name):null});case s.ExportSpecifier:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild(null!==(d=e.propertyName)&&void 0!==d?d:e.name),exported:this.convertChild(e.name)});case s.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:Xo.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:Xo.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:"value"});case s.PrefixUnaryExpression:case s.PostfixUnaryExpression:{const t=Qo.getTextForTokenKind(e.operator);return"++"===t||"--"===t?this.createNode(e,{type:Xo.AST_NODE_TYPES.UpdateExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)}):this.createNode(e,{type:Xo.AST_NODE_TYPES.UnaryExpression,operator:t,prefix:e.kind===s.PrefixUnaryExpression,argument:this.convertChild(e.operand)})}case s.DeleteExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(e.expression)});case s.VoidExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOfExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(e.expression)});case s.TypeOperator:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeOperator,operator:Qo.getTextForTokenKind(e.operator),typeAnnotation:this.convertChild(e.type)});case s.BinaryExpression:if(Qo.isComma(e.operatorToken)){const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.SequenceExpression,expressions:[]}),r=this.convertChild(e.left);return r.type===Xo.AST_NODE_TYPES.SequenceExpression&&e.left.kind!==s.ParenthesizedExpression?t.expressions=t.expressions.concat(r.expressions):t.expressions.push(r),t.expressions.push(this.convertChild(e.right)),t}{const t=Qo.getBinaryExpressionType(e.operatorToken);return this.allowPattern&&t===Xo.AST_NODE_TYPES.AssignmentExpression?this.createNode(e,{type:Xo.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(e.left,e),right:this.convertChild(e.right)}):this.createNode(e,{type:t,operator:Qo.getTextForTokenKind(e.operatorToken.kind),left:this.converter(e.left,e,this.inTypeMode,t===Xo.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(e.right)})}case s.PropertyAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.name),n=!1,i=this.createNode(e,{type:Xo.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.ElementAccessExpression:{const t=this.convertChild(e.expression),r=this.convertChild(e.argumentExpression),n=!0,i=this.createNode(e,{type:Xo.AST_NODE_TYPES.MemberExpression,object:t,property:r,computed:n,optional:void 0!==e.questionDotToken});return this.convertChainExpression(i,e)}case s.CallExpression:{if(e.expression.kind===s.ImportKeyword){if(1!==e.arguments.length)throw Qo.createError(this.ast,e.arguments.pos,"Dynamic import must have one specifier as an argument.");return this.createNode(e,{type:Xo.AST_NODE_TYPES.ImportExpression,source:this.convertChild(e.arguments[0])})}const t=this.convertChild(e.expression),r=e.arguments.map((e=>this.convertChild(e))),n=this.createNode(e,{type:Xo.AST_NODE_TYPES.CallExpression,callee:t,arguments:r,optional:void 0!==e.questionDotToken});return e.typeArguments&&(n.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),this.convertChainExpression(n,e)}case s.NewExpression:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.NewExpression,callee:this.convertChild(e.expression),arguments:e.arguments?e.arguments.map((e=>this.convertChild(e))):[]});return e.typeArguments&&(t.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),t}case s.ConditionalExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(e.condition),consequent:this.convertChild(e.whenTrue),alternate:this.convertChild(e.whenFalse)});case s.MetaProperty:return this.createNode(e,{type:Xo.AST_NODE_TYPES.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:Xo.AST_NODE_TYPES.Identifier,name:Qo.getTextForTokenKind(e.keywordToken)}),property:this.convertChild(e.name)});case s.Decorator:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Decorator,expression:this.convertChild(e.expression)});case s.StringLiteral:{const r=this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,raw:"",value:""});return r.raw=this.ast.text.slice(r.range[0],r.range[1]),"name"in t&&t.name===e?r.value=e.text:r.value=Qo.unescapeStringLiteralText(e.text),r}case s.NumericLiteral:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:Number(e.text),raw:e.getText()});case s.BigIntLiteral:{const t=Qo.getRange(e,this.ast),r=this.ast.text.slice(t[0],t[1]),n=r.slice(0,-1).replace(/_/g,""),i="undefined"!=typeof BigInt?BigInt(n):null;return this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,raw:r,value:i,bigint:null===i?n:String(i),range:t})}case s.RegularExpressionLiteral:{const t=e.text.slice(1,e.text.lastIndexOf("/")),r=e.text.slice(e.text.lastIndexOf("/")+1);let n=null;try{n=new RegExp(t,r)}catch(e){n=null}return this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:n,raw:e.text,regex:{pattern:t,flags:r}})}case s.TrueKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case s.FalseKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case s.NullKeyword:return!$o.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(e,{type:Xo.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:null,raw:"null"});case s.EmptyStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.EmptyStatement});case s.DebuggerStatement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.DebuggerStatement});case s.JsxElement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(e.openingElement),closingElement:this.convertChild(e.closingElement),children:e.children.map((e=>this.convertChild(e)))});case s.JsxFragment:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(e.openingFragment),closingFragment:this.convertChild(e.closingFragment),children:e.children.map((e=>this.convertChild(e)))});case s.JsxSelfClosingElement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!0,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e))),range:Qo.getRange(e,this.ast)}),closingElement:null,children:[]});case s.JsxOpeningElement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXOpeningElement,typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0,selfClosing:!1,name:this.convertJSXTagName(e.tagName,e),attributes:e.attributes.properties.map((e=>this.convertChild(e)))});case s.JsxClosingElement:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case s.JsxOpeningFragment:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXOpeningFragment});case s.JsxClosingFragment:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXClosingFragment});case s.JsxExpression:{const t=e.expression?this.convertChild(e.expression):this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXSpreadChild,expression:t}):this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXExpressionContainer,expression:t})}case s.JsxAttribute:{const t=this.convertChild(e.name);return t.type=Xo.AST_NODE_TYPES.JSXIdentifier,this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXAttribute,name:t,value:this.convertChild(e.initializer)})}case s.JsxText:{const t=e.getFullStart(),r=e.getEnd();return this.options.useJSXTextNode?this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXText,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]}):this.createNode(e,{type:Xo.AST_NODE_TYPES.Literal,value:this.ast.text.slice(t,r),raw:this.ast.text.slice(t,r),range:[t,r]})}case s.JsxSpreadAttribute:return this.createNode(e,{type:Xo.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case s.QualifiedName:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case s.TypeReference:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(e.typeName),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):void 0});case s.TypeParameter:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(e.name),constraint:e.constraint?this.convertType(e.constraint):void 0,default:e.default?this.convertType(e.default):void 0});case s.ThisType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSThisType});case s.AnyKeyword:case s.BigIntKeyword:case s.BooleanKeyword:case s.NeverKeyword:case s.NumberKeyword:case s.ObjectKeyword:case s.StringKeyword:case s.SymbolKeyword:case s.UnknownKeyword:case s.VoidKeyword:case s.UndefinedKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES["TS".concat(s[e.kind])]});case s.NonNullExpression:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(t,e)}case s.TypeLiteral:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeLiteral,members:e.members.map((e=>this.convertChild(e)))});case s.ArrayType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(e.elementType)});case s.IndexedAccessType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(e.objectType),indexType:this.convertType(e.indexType)});case s.ConditionalType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(e.checkType),extendsType:this.convertType(e.extendsType),trueType:this.convertType(e.trueType),falseType:this.convertType(e.falseType)});case s.TypeQuery:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(e.exprName)});case s.MappedType:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(e.typeParameter),nameType:null!==(_=this.convertType(e.nameType))&&void 0!==_?_:null});return e.readonlyToken&&(e.readonlyToken.kind===s.ReadonlyKeyword?t.readonly=!0:t.readonly=Qo.getTextForTokenKind(e.readonlyToken.kind)),e.questionToken&&(e.questionToken.kind===s.QuestionToken?t.optional=!0:t.optional=Qo.getTextForTokenKind(e.questionToken.kind)),e.type&&(t.typeAnnotation=this.convertType(e.type)),t}case s.ParenthesizedExpression:return this.convertChild(e.expression,t);case s.TypeAliasDeclaration:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(e.name),typeAnnotation:this.convertType(e.type)});return Qo.hasModifier(s.DeclareKeyword,e)&&(t.declare=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),this.fixExports(e,t)}case s.MethodSignature:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSMethodSignature,computed:Qo.isComputedProperty(e.name),key:this.convertChild(e.name),params:this.convertParameters(e.parameters)});Qo.isOptional(e)&&(t.optional=!0),e.type&&(t.returnType=this.convertTypeAnnotation(e.type,e)),Qo.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0),e.typeParameters&&(t.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters));const r=Qo.getTSNodeAccessibility(e);return r&&(t.accessibility=r),Qo.hasModifier(s.ExportKeyword,e)&&(t.export=!0),Qo.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.PropertySignature:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSPropertySignature,optional:Qo.isOptional(e)||void 0,computed:Qo.isComputedProperty(e.name),key:this.convertChild(e.name),typeAnnotation:e.type?this.convertTypeAnnotation(e.type,e):void 0,initializer:this.convertChild(e.initializer)||void 0,readonly:Qo.hasModifier(s.ReadonlyKeyword,e)||void 0,static:Qo.hasModifier(s.StaticKeyword,e)||void 0,export:Qo.hasModifier(s.ExportKeyword,e)||void 0}),r=Qo.getTSNodeAccessibility(e);return r&&(t.accessibility=r),t}case s.IndexSignature:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSIndexSignature,parameters:e.parameters.map((e=>this.convertChild(e)))});e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e)),Qo.hasModifier(s.ReadonlyKeyword,e)&&(t.readonly=!0);const r=Qo.getTSNodeAccessibility(e);return r&&(t.accessibility=r),Qo.hasModifier(s.ExportKeyword,e)&&(t.export=!0),Qo.hasModifier(s.StaticKeyword,e)&&(t.static=!0),t}case s.ConstructorType:case s.FunctionType:case s.ConstructSignature:case s.CallSignature:{let t;switch(e.kind){case s.ConstructSignature:t=Xo.AST_NODE_TYPES.TSConstructSignatureDeclaration;break;case s.CallSignature:t=Xo.AST_NODE_TYPES.TSCallSignatureDeclaration;break;case s.FunctionType:t=Xo.AST_NODE_TYPES.TSFunctionType;break;case s.ConstructorType:default:t=Xo.AST_NODE_TYPES.TSConstructorType}const r=this.createNode(e,{type:t,params:this.convertParameters(e.parameters)});return e.type&&(r.returnType=this.convertTypeAnnotation(e.type,e)),e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),r}case s.ExpressionWithTypeArguments:{const r=this.createNode(e,{type:t&&t.kind===s.InterfaceDeclaration?Xo.AST_NODE_TYPES.TSInterfaceHeritage:Xo.AST_NODE_TYPES.TSClassImplements,expression:this.convertChild(e.expression)});return e.typeArguments&&(r.typeParameters=this.convertTypeArgumentsToTypeParameters(e.typeArguments,e)),r}case s.InterfaceDeclaration:{const t=null!==(p=e.heritageClauses)&&void 0!==p?p:[],r=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(e,{type:Xo.AST_NODE_TYPES.TSInterfaceBody,body:e.members.map((e=>this.convertChild(e))),range:[e.members.pos-1,e.end]}),id:this.convertChild(e.name)});if(e.typeParameters&&(r.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)),t.length>0){const n=[],i=[];for(const r of t)if(r.token===s.ExtendsKeyword)for(const t of r.types)n.push(this.convertChild(t,e));else for(const t of r.types)i.push(this.convertChild(t,e));n.length&&(r.extends=n),i.length&&(r.implements=i)}return Qo.hasModifier(s.AbstractKeyword,e)&&(r.abstract=!0),Qo.hasModifier(s.DeclareKeyword,e)&&(r.declare=!0),this.fixExports(e,r)}case s.TypePredicate:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypePredicate,asserts:void 0!==e.assertsModifier,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(t.typeAnnotation=this.convertTypeAnnotation(e.type,e),t.typeAnnotation.loc=t.typeAnnotation.typeAnnotation.loc,t.typeAnnotation.range=t.typeAnnotation.typeAnnotation.range),t}case s.ImportType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSImportType,isTypeOf:!!e.isTypeOf,parameter:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeParameters:e.typeArguments?this.convertTypeArgumentsToTypeParameters(e.typeArguments,e):null});case s.EnumDeclaration:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(e.name),members:e.members.map((e=>this.convertChild(e)))});return this.applyModifiersToResult(t,e.modifiers),this.fixExports(e,t)}case s.EnumMember:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(e.name)});return e.initializer&&(t.initializer=this.convertChild(e.initializer)),e.name.kind===o.SyntaxKind.ComputedPropertyName&&(t.computed=!0),t}case s.ModuleDeclaration:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSModuleDeclaration,id:this.convertChild(e.name)});return e.body&&(t.body=this.convertChild(e.body)),this.applyModifiersToResult(t,e.modifiers),e.flags&o.NodeFlags.GlobalAugmentation&&(t.global=!0),this.fixExports(e,t)}case s.ParenthesizedType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSParenthesizedType,typeAnnotation:this.convertType(e.type)});case s.UnionType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSUnionType,types:e.types.map((e=>this.convertType(e)))});case s.IntersectionType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSIntersectionType,types:e.types.map((e=>this.convertType(e)))});case s.AsExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertType(e.type)});case s.InferType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(e.typeParameter)});case s.LiteralType:return $o.typescriptVersionIsAtLeast["4.0"]&&e.literal.kind===s.NullKeyword?this.createNode(e.literal,{type:Xo.AST_NODE_TYPES.TSNullKeyword}):this.createNode(e,{type:Xo.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(e.literal)});case s.TypeAssertionExpression:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(e.type),expression:this.convertChild(e.expression)});case s.ImportEqualsDeclaration:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(e.name),moduleReference:this.convertChild(e.moduleReference),isExport:Qo.hasModifier(s.ExportKeyword,e)});case s.ExternalModuleReference:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(e.expression)});case s.NamespaceExportDeclaration:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case s.AbstractKeyword:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSAbstractKeyword});case s.TupleType:{const t="elementTypes"in e?e.elementTypes.map((e=>this.convertType(e))):e.elements.map((e=>this.convertType(e)));return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTupleType,elementTypes:t})}case s.NamedTupleMember:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(e.type,e),label:this.convertChild(e.name,e),optional:null!=e.questionToken});return e.dotDotDotToken?(t.range[0]=t.label.range[0],t.loc.start=t.label.loc.start,this.createNode(e,{type:Xo.AST_NODE_TYPES.TSRestType,typeAnnotation:t})):t}case s.OptionalType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(e.type)});case s.RestType:return this.createNode(e,{type:Xo.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(e.type)});case s.TemplateLiteralType:{const t=this.createNode(e,{type:Xo.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach((e=>{t.types.push(this.convertChild(e.type)),t.quasis.push(this.convertChild(e.literal))})),t}default:return this.deeplyCopy(e)}}}})),es=function(e,t){return(es=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var ts=function(){return(ts=Object.assign||function(e){for(var t,r=1,n=arguments.length;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ns(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return o}function is(e){return this instanceof is?(this.v=e,this):new is(e)}var as=Object.freeze({__proto__:null,__extends:function(e,t){function r(){this.constructor=e}es(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)},get __assign(){return ts},__rest:function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,r,o):i(t,r))||o);return a>3&&o&&Object.defineProperty(t,r,o),o},__param:function(e,t){return function(r,n){t(r,n,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,r,n){return new(r||(r=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((n=n.apply(e,t||[])).next())}))},__generator:function(e,t){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,n=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof is?Promise.resolve(r.value.v).then(c,u):l(a[0][2],r)}catch(e){l(a[0][3],e)}var r}function c(e){s("next",e)}function u(e){s("throw",e)}function l(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}},__asyncDelegator:function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:is(e[n](t)),done:"return"===n}:i?i(t):t}:i}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=rs(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}}),os=r((function(e,t){function r(e){return e.kind===yo.SyntaxKind.ModuleDeclaration}function n(e){return e.kind===yo.SyntaxKind.PropertyAccessExpression}function i(e){return e.kind===yo.SyntaxKind.QualifiedName}Object.defineProperty(t,"__esModule",{value:!0}),t.isAccessorDeclaration=function(e){return e.kind===yo.SyntaxKind.GetAccessor||e.kind===yo.SyntaxKind.SetAccessor},t.isArrayBindingPattern=function(e){return e.kind===yo.SyntaxKind.ArrayBindingPattern},t.isArrayLiteralExpression=function(e){return e.kind===yo.SyntaxKind.ArrayLiteralExpression},t.isArrayTypeNode=function(e){return e.kind===yo.SyntaxKind.ArrayType},t.isArrowFunction=function(e){return e.kind===yo.SyntaxKind.ArrowFunction},t.isAsExpression=function(e){return e.kind===yo.SyntaxKind.AsExpression},t.isAssertionExpression=function(e){return e.kind===yo.SyntaxKind.AsExpression||e.kind===yo.SyntaxKind.TypeAssertionExpression},t.isAwaitExpression=function(e){return e.kind===yo.SyntaxKind.AwaitExpression},t.isBinaryExpression=function(e){return e.kind===yo.SyntaxKind.BinaryExpression},t.isBindingElement=function(e){return e.kind===yo.SyntaxKind.BindingElement},t.isBindingPattern=function(e){return e.kind===yo.SyntaxKind.ArrayBindingPattern||e.kind===yo.SyntaxKind.ObjectBindingPattern},t.isBlock=function(e){return e.kind===yo.SyntaxKind.Block},t.isBlockLike=function(e){return void 0!==e.statements},t.isBooleanLiteral=function(e){return e.kind===yo.SyntaxKind.TrueKeyword||e.kind===yo.SyntaxKind.FalseKeyword},t.isBreakOrContinueStatement=function(e){return e.kind===yo.SyntaxKind.BreakStatement||e.kind===yo.SyntaxKind.ContinueStatement},t.isBreakStatement=function(e){return e.kind===yo.SyntaxKind.BreakStatement},t.isCallExpression=function(e){return e.kind===yo.SyntaxKind.CallExpression},t.isCallLikeExpression=function(e){switch(e.kind){case yo.SyntaxKind.CallExpression:case yo.SyntaxKind.Decorator:case yo.SyntaxKind.JsxOpeningElement:case yo.SyntaxKind.JsxSelfClosingElement:case yo.SyntaxKind.NewExpression:case yo.SyntaxKind.TaggedTemplateExpression:return!0;default:return!1}},t.isCallSignatureDeclaration=function(e){return e.kind===yo.SyntaxKind.CallSignature},t.isCaseBlock=function(e){return e.kind===yo.SyntaxKind.CaseBlock},t.isCaseClause=function(e){return e.kind===yo.SyntaxKind.CaseClause},t.isCaseOrDefaultClause=function(e){return e.kind===yo.SyntaxKind.CaseClause||e.kind===yo.SyntaxKind.DefaultClause},t.isCatchClause=function(e){return e.kind===yo.SyntaxKind.CatchClause},t.isClassDeclaration=function(e){return e.kind===yo.SyntaxKind.ClassDeclaration},t.isClassExpression=function(e){return e.kind===yo.SyntaxKind.ClassExpression},t.isClassLikeDeclaration=function(e){return e.kind===yo.SyntaxKind.ClassDeclaration||e.kind===yo.SyntaxKind.ClassExpression},t.isCommaListExpression=function(e){return e.kind===yo.SyntaxKind.CommaListExpression},t.isConditionalExpression=function(e){return e.kind===yo.SyntaxKind.ConditionalExpression},t.isConditionalTypeNode=function(e){return e.kind===yo.SyntaxKind.ConditionalType},t.isConstructorDeclaration=function(e){return e.kind===yo.SyntaxKind.Constructor},t.isConstructorTypeNode=function(e){return e.kind===yo.SyntaxKind.ConstructorType},t.isConstructSignatureDeclaration=function(e){return e.kind===yo.SyntaxKind.ConstructSignature},t.isContinueStatement=function(e){return e.kind===yo.SyntaxKind.ContinueStatement},t.isComputedPropertyName=function(e){return e.kind===yo.SyntaxKind.ComputedPropertyName},t.isDebuggerStatement=function(e){return e.kind===yo.SyntaxKind.DebuggerStatement},t.isDecorator=function(e){return e.kind===yo.SyntaxKind.Decorator},t.isDefaultClause=function(e){return e.kind===yo.SyntaxKind.DefaultClause},t.isDeleteExpression=function(e){return e.kind===yo.SyntaxKind.DeleteExpression},t.isDoStatement=function(e){return e.kind===yo.SyntaxKind.DoStatement},t.isElementAccessExpression=function(e){return e.kind===yo.SyntaxKind.ElementAccessExpression},t.isEmptyStatement=function(e){return e.kind===yo.SyntaxKind.EmptyStatement},t.isEntityName=function(e){return e.kind===yo.SyntaxKind.Identifier||i(e)},t.isEntityNameExpression=function e(t){return t.kind===yo.SyntaxKind.Identifier||n(t)&&e(t.expression)},t.isEnumDeclaration=function(e){return e.kind===yo.SyntaxKind.EnumDeclaration},t.isEnumMember=function(e){return e.kind===yo.SyntaxKind.EnumMember},t.isExportAssignment=function(e){return e.kind===yo.SyntaxKind.ExportAssignment},t.isExportDeclaration=function(e){return e.kind===yo.SyntaxKind.ExportDeclaration},t.isExportSpecifier=function(e){return e.kind===yo.SyntaxKind.ExportSpecifier},t.isExpression=function(e){switch(e.kind){case yo.SyntaxKind.ArrayLiteralExpression:case yo.SyntaxKind.ArrowFunction:case yo.SyntaxKind.AsExpression:case yo.SyntaxKind.AwaitExpression:case yo.SyntaxKind.BinaryExpression:case yo.SyntaxKind.CallExpression:case yo.SyntaxKind.ClassExpression:case yo.SyntaxKind.CommaListExpression:case yo.SyntaxKind.ConditionalExpression:case yo.SyntaxKind.DeleteExpression:case yo.SyntaxKind.ElementAccessExpression:case yo.SyntaxKind.FalseKeyword:case yo.SyntaxKind.FunctionExpression:case yo.SyntaxKind.Identifier:case yo.SyntaxKind.JsxElement:case yo.SyntaxKind.JsxFragment:case yo.SyntaxKind.JsxExpression:case yo.SyntaxKind.JsxOpeningElement:case yo.SyntaxKind.JsxOpeningFragment:case yo.SyntaxKind.JsxSelfClosingElement:case yo.SyntaxKind.MetaProperty:case yo.SyntaxKind.NewExpression:case yo.SyntaxKind.NonNullExpression:case yo.SyntaxKind.NoSubstitutionTemplateLiteral:case yo.SyntaxKind.NullKeyword:case yo.SyntaxKind.NumericLiteral:case yo.SyntaxKind.ObjectLiteralExpression:case yo.SyntaxKind.OmittedExpression:case yo.SyntaxKind.ParenthesizedExpression:case yo.SyntaxKind.PostfixUnaryExpression:case yo.SyntaxKind.PrefixUnaryExpression:case yo.SyntaxKind.PropertyAccessExpression:case yo.SyntaxKind.RegularExpressionLiteral:case yo.SyntaxKind.SpreadElement:case yo.SyntaxKind.StringLiteral:case yo.SyntaxKind.SuperKeyword:case yo.SyntaxKind.TaggedTemplateExpression:case yo.SyntaxKind.TemplateExpression:case yo.SyntaxKind.ThisKeyword:case yo.SyntaxKind.TrueKeyword:case yo.SyntaxKind.TypeAssertionExpression:case yo.SyntaxKind.TypeOfExpression:case yo.SyntaxKind.VoidExpression:case yo.SyntaxKind.YieldExpression:return!0;default:return!1}},t.isExpressionStatement=function(e){return e.kind===yo.SyntaxKind.ExpressionStatement},t.isExpressionWithTypeArguments=function(e){return e.kind===yo.SyntaxKind.ExpressionWithTypeArguments},t.isExternalModuleReference=function(e){return e.kind===yo.SyntaxKind.ExternalModuleReference},t.isForInStatement=function(e){return e.kind===yo.SyntaxKind.ForInStatement},t.isForInOrOfStatement=function(e){return e.kind===yo.SyntaxKind.ForOfStatement||e.kind===yo.SyntaxKind.ForInStatement},t.isForOfStatement=function(e){return e.kind===yo.SyntaxKind.ForOfStatement},t.isForStatement=function(e){return e.kind===yo.SyntaxKind.ForStatement},t.isFunctionDeclaration=function(e){return e.kind===yo.SyntaxKind.FunctionDeclaration},t.isFunctionExpression=function(e){return e.kind===yo.SyntaxKind.FunctionExpression},t.isFunctionTypeNode=function(e){return e.kind===yo.SyntaxKind.FunctionType},t.isGetAccessorDeclaration=function(e){return e.kind===yo.SyntaxKind.GetAccessor},t.isIdentifier=function(e){return e.kind===yo.SyntaxKind.Identifier},t.isIfStatement=function(e){return e.kind===yo.SyntaxKind.IfStatement},t.isImportClause=function(e){return e.kind===yo.SyntaxKind.ImportClause},t.isImportDeclaration=function(e){return e.kind===yo.SyntaxKind.ImportDeclaration},t.isImportEqualsDeclaration=function(e){return e.kind===yo.SyntaxKind.ImportEqualsDeclaration},t.isImportSpecifier=function(e){return e.kind===yo.SyntaxKind.ImportSpecifier},t.isIndexedAccessTypeNode=function(e){return e.kind===yo.SyntaxKind.IndexedAccessType},t.isIndexSignatureDeclaration=function(e){return e.kind===yo.SyntaxKind.IndexSignature},t.isInferTypeNode=function(e){return e.kind===yo.SyntaxKind.InferType},t.isInterfaceDeclaration=function(e){return e.kind===yo.SyntaxKind.InterfaceDeclaration},t.isIntersectionTypeNode=function(e){return e.kind===yo.SyntaxKind.IntersectionType},t.isIterationStatement=function(e){switch(e.kind){case yo.SyntaxKind.ForStatement:case yo.SyntaxKind.ForOfStatement:case yo.SyntaxKind.ForInStatement:case yo.SyntaxKind.WhileStatement:case yo.SyntaxKind.DoStatement:return!0;default:return!1}},t.isJsDoc=function(e){return e.kind===yo.SyntaxKind.JSDocComment},t.isJsxAttribute=function(e){return e.kind===yo.SyntaxKind.JsxAttribute},t.isJsxAttributeLike=function(e){return e.kind===yo.SyntaxKind.JsxAttribute||e.kind===yo.SyntaxKind.JsxSpreadAttribute},t.isJsxAttributes=function(e){return e.kind===yo.SyntaxKind.JsxAttributes},t.isJsxClosingElement=function(e){return e.kind===yo.SyntaxKind.JsxClosingElement},t.isJsxClosingFragment=function(e){return e.kind===yo.SyntaxKind.JsxClosingFragment},t.isJsxElement=function(e){return e.kind===yo.SyntaxKind.JsxElement},t.isJsxExpression=function(e){return e.kind===yo.SyntaxKind.JsxExpression},t.isJsxFragment=function(e){return e.kind===yo.SyntaxKind.JsxFragment},t.isJsxOpeningElement=function(e){return e.kind===yo.SyntaxKind.JsxOpeningElement},t.isJsxOpeningFragment=function(e){return e.kind===yo.SyntaxKind.JsxOpeningFragment},t.isJsxOpeningLikeElement=function(e){return e.kind===yo.SyntaxKind.JsxOpeningElement||e.kind===yo.SyntaxKind.JsxSelfClosingElement},t.isJsxSelfClosingElement=function(e){return e.kind===yo.SyntaxKind.JsxSelfClosingElement},t.isJsxSpreadAttribute=function(e){return e.kind===yo.SyntaxKind.JsxSpreadAttribute},t.isJsxText=function(e){return e.kind===yo.SyntaxKind.JsxText},t.isLabeledStatement=function(e){return e.kind===yo.SyntaxKind.LabeledStatement},t.isLiteralExpression=function(e){return e.kind>=yo.SyntaxKind.FirstLiteralToken&&e.kind<=yo.SyntaxKind.LastLiteralToken},t.isLiteralTypeNode=function(e){return e.kind===yo.SyntaxKind.LiteralType},t.isMappedTypeNode=function(e){return e.kind===yo.SyntaxKind.MappedType},t.isMetaProperty=function(e){return e.kind===yo.SyntaxKind.MetaProperty},t.isMethodDeclaration=function(e){return e.kind===yo.SyntaxKind.MethodDeclaration},t.isMethodSignature=function(e){return e.kind===yo.SyntaxKind.MethodSignature},t.isModuleBlock=function(e){return e.kind===yo.SyntaxKind.ModuleBlock},t.isModuleDeclaration=r,t.isNamedExports=function(e){return e.kind===yo.SyntaxKind.NamedExports},t.isNamedImports=function(e){return e.kind===yo.SyntaxKind.NamedImports},t.isNamespaceDeclaration=function e(t){return r(t)&&t.name.kind===yo.SyntaxKind.Identifier&&void 0!==t.body&&(t.body.kind===yo.SyntaxKind.ModuleBlock||e(t.body))},t.isNamespaceImport=function(e){return e.kind===yo.SyntaxKind.NamespaceImport},t.isNamespaceExportDeclaration=function(e){return e.kind===yo.SyntaxKind.NamespaceExportDeclaration},t.isNewExpression=function(e){return e.kind===yo.SyntaxKind.NewExpression},t.isNonNullExpression=function(e){return e.kind===yo.SyntaxKind.NonNullExpression},t.isNoSubstitutionTemplateLiteral=function(e){return e.kind===yo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isNullLiteral=function(e){return e.kind===yo.SyntaxKind.NullKeyword},t.isNumericLiteral=function(e){return e.kind===yo.SyntaxKind.NumericLiteral},t.isNumericOrStringLikeLiteral=function(e){switch(e.kind){case yo.SyntaxKind.StringLiteral:case yo.SyntaxKind.NumericLiteral:case yo.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}},t.isObjectBindingPattern=function(e){return e.kind===yo.SyntaxKind.ObjectBindingPattern},t.isObjectLiteralExpression=function(e){return e.kind===yo.SyntaxKind.ObjectLiteralExpression},t.isOmittedExpression=function(e){return e.kind===yo.SyntaxKind.OmittedExpression},t.isParameterDeclaration=function(e){return e.kind===yo.SyntaxKind.Parameter},t.isParenthesizedExpression=function(e){return e.kind===yo.SyntaxKind.ParenthesizedExpression},t.isParenthesizedTypeNode=function(e){return e.kind===yo.SyntaxKind.ParenthesizedType},t.isPostfixUnaryExpression=function(e){return e.kind===yo.SyntaxKind.PostfixUnaryExpression},t.isPrefixUnaryExpression=function(e){return e.kind===yo.SyntaxKind.PrefixUnaryExpression},t.isPropertyAccessExpression=n,t.isPropertyAssignment=function(e){return e.kind===yo.SyntaxKind.PropertyAssignment},t.isPropertyDeclaration=function(e){return e.kind===yo.SyntaxKind.PropertyDeclaration},t.isPropertySignature=function(e){return e.kind===yo.SyntaxKind.PropertySignature},t.isQualifiedName=i,t.isRegularExpressionLiteral=function(e){return e.kind===yo.SyntaxKind.RegularExpressionLiteral},t.isReturnStatement=function(e){return e.kind===yo.SyntaxKind.ReturnStatement},t.isSetAccessorDeclaration=function(e){return e.kind===yo.SyntaxKind.SetAccessor},t.isShorthandPropertyAssignment=function(e){return e.kind===yo.SyntaxKind.ShorthandPropertyAssignment},t.isSignatureDeclaration=function(e){return void 0!==e.parameters},t.isSourceFile=function(e){return e.kind===yo.SyntaxKind.SourceFile},t.isSpreadAssignment=function(e){return e.kind===yo.SyntaxKind.SpreadAssignment},t.isSpreadElement=function(e){return e.kind===yo.SyntaxKind.SpreadElement},t.isStringLiteral=function(e){return e.kind===yo.SyntaxKind.StringLiteral},t.isSwitchStatement=function(e){return e.kind===yo.SyntaxKind.SwitchStatement},t.isSyntaxList=function(e){return e.kind===yo.SyntaxKind.SyntaxList},t.isTaggedTemplateExpression=function(e){return e.kind===yo.SyntaxKind.TaggedTemplateExpression},t.isTemplateExpression=function(e){return e.kind===yo.SyntaxKind.TemplateExpression},t.isTemplateLiteral=function(e){return e.kind===yo.SyntaxKind.TemplateExpression||e.kind===yo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isTextualLiteral=function(e){return e.kind===yo.SyntaxKind.StringLiteral||e.kind===yo.SyntaxKind.NoSubstitutionTemplateLiteral},t.isThrowStatement=function(e){return e.kind===yo.SyntaxKind.ThrowStatement},t.isTryStatement=function(e){return e.kind===yo.SyntaxKind.TryStatement},t.isTupleTypeNode=function(e){return e.kind===yo.SyntaxKind.TupleType},t.isTypeAliasDeclaration=function(e){return e.kind===yo.SyntaxKind.TypeAliasDeclaration},t.isTypeAssertion=function(e){return e.kind===yo.SyntaxKind.TypeAssertionExpression},t.isTypeLiteralNode=function(e){return e.kind===yo.SyntaxKind.TypeLiteral},t.isTypeOfExpression=function(e){return e.kind===yo.SyntaxKind.TypeOfExpression},t.isTypeOperatorNode=function(e){return e.kind===yo.SyntaxKind.TypeOperator},t.isTypeParameterDeclaration=function(e){return e.kind===yo.SyntaxKind.TypeParameter},t.isTypePredicateNode=function(e){return e.kind===yo.SyntaxKind.TypePredicate},t.isTypeReferenceNode=function(e){return e.kind===yo.SyntaxKind.TypeReference},t.isTypeQueryNode=function(e){return e.kind===yo.SyntaxKind.TypeQuery},t.isUnionTypeNode=function(e){return e.kind===yo.SyntaxKind.UnionType},t.isVariableDeclaration=function(e){return e.kind===yo.SyntaxKind.VariableDeclaration},t.isVariableStatement=function(e){return e.kind===yo.SyntaxKind.VariableStatement},t.isVariableDeclarationList=function(e){return e.kind===yo.SyntaxKind.VariableDeclarationList},t.isVoidExpression=function(e){return e.kind===yo.SyntaxKind.VoidExpression},t.isWhileStatement=function(e){return e.kind===yo.SyntaxKind.WhileStatement},t.isWithStatement=function(e){return e.kind===yo.SyntaxKind.WithStatement}})),ss=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(os,t),t.isImportTypeNode=function(e){return e.kind===yo.SyntaxKind.ImportType}})),cs=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(ss,t),t.isOptionalTypeNode=function(e){return e.kind===yo.SyntaxKind.OptionalType},t.isRestTypeNode=function(e){return e.kind===yo.SyntaxKind.RestType},t.isSyntheticExpression=function(e){return e.kind===yo.SyntaxKind.SyntheticExpression}})),us=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(cs,t),t.isBigIntLiteral=function(e){return e.kind===yo.SyntaxKind.BigIntLiteral}})),ls=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(us,t)})),ds=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isConditionalType=function(e){return 0!=(e.flags&yo.TypeFlags.Conditional)},t.isEnumType=function(e){return 0!=(e.flags&yo.TypeFlags.Enum)},t.isGenericType=function(e){return 0!=(e.flags&yo.TypeFlags.Object)&&0!=(e.objectFlags&yo.ObjectFlags.ClassOrInterface)&&0!=(e.objectFlags&yo.ObjectFlags.Reference)},t.isIndexedAccessType=function(e){return 0!=(e.flags&yo.TypeFlags.IndexedAccess)},t.isIndexedAccessype=function(e){return 0!=(e.flags&yo.TypeFlags.Index)},t.isInstantiableType=function(e){return 0!=(e.flags&yo.TypeFlags.Instantiable)},t.isInterfaceType=function(e){return 0!=(e.flags&yo.TypeFlags.Object)&&0!=(e.objectFlags&yo.ObjectFlags.ClassOrInterface)},t.isIntersectionType=function(e){return 0!=(e.flags&yo.TypeFlags.Intersection)},t.isLiteralType=function(e){return 0!=(e.flags&(yo.TypeFlags.StringOrNumberLiteral|yo.TypeFlags.BigIntLiteral))},t.isObjectType=function(e){return 0!=(e.flags&yo.TypeFlags.Object)},t.isSubstitutionType=function(e){return 0!=(e.flags&yo.TypeFlags.Substitution)},t.isTypeParameter=function(e){return 0!=(e.flags&yo.TypeFlags.TypeParameter)},t.isTypeReference=function(e){return 0!=(e.flags&yo.TypeFlags.Object)&&0!=(e.objectFlags&yo.ObjectFlags.Reference)},t.isTypeVariable=function(e){return 0!=(e.flags&yo.TypeFlags.TypeVariable)},t.isUnionOrIntersectionType=function(e){return 0!=(e.flags&yo.TypeFlags.UnionOrIntersection)},t.isUnionType=function(e){return 0!=(e.flags&yo.TypeFlags.Union)},t.isUniqueESSymbolType=function(e){return 0!=(e.flags&yo.TypeFlags.UniqueESSymbol)}})),_s=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(ds,t)})),ps=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(_s,t);const r=_s;function n(e){return 0!==(e.flags&yo.TypeFlags.Object&&e.objectFlags&yo.ObjectFlags.Tuple)}t.isTupleType=n,t.isTupleTypeReference=function(e){return r.isTypeReference(e)&&n(e.target)}})),fs=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(ps,t)})),gs=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(us,t),as.__exportStar(fs,t)})),ms=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),as.__exportStar(fs,t)})),ys=r((function(e,t){function r(e,t){if(!n(t,yo.TypeFlags.Undefined))return t;const r=n(t,yo.TypeFlags.Null);return t=e.getNonNullableType(t),r?e.getNullableType(t,yo.TypeFlags.Null):t}function n(e,t){for(const r of a(e))if(vs.isTypeFlagSet(r,t))return!0;return!1}function i(e,t,r){let n;return r|=yo.TypeFlags.Any,function t(i){if(ms.isTypeParameter(i)&&void 0!==i.symbol&&void 0!==i.symbol.declarations){if(void 0===n)n=new Set([i]);else{if(n.has(i))return!1;n.add(i)}const r=i.symbol.declarations[0];return void 0===r.constraint||t(e.getTypeFromTypeNode(r.constraint))}return ms.isUnionType(i)?i.types.every(t):ms.isIntersectionType(i)?i.types.some(t):vs.isTypeFlagSet(i,r)}(t)}function a(e){return ms.isUnionType(e)?e.types:[e]}function o(e,t,r){return t(e)?e.types.some(r):r(e)}function s(e,t,r){let n=e.getApparentType(e.getTypeOfSymbolAtLocation(t,r));if(t.valueDeclaration.dotDotDotToken&&(n=n.getNumberIndexType(),void 0===n))return!1;for(const e of a(n))if(0!==e.getCallSignatures().length)return!0;return!1}function c(e,t){return vs.isTypeFlagSet(e,yo.TypeFlags.BooleanLiteral)&&e.intrinsicName===(t?"true":"false")}function u(e,t){return t.startsWith("__")?e.getProperties().find((e=>e.escapedName===t)):e.getProperty(t)}function l(e,t,r){let n=!1,i=!1;for(const o of a(e))if(void 0===u(o,t)){const e=(vs.isNumericPropertyName(t)?r.getIndexInfoOfType(o,yo.IndexKind.Number):void 0)||r.getIndexInfoOfType(o,yo.IndexKind.String);if(void 0!==e&&e.isReadonly){if(n)return!0;i=!0}}else{if(i||d(o,t,r))return!0;n=!0}return!1}function d(e,t,r){return o(e,ms.isIntersectionType,(e=>{const n=u(e,t);if(void 0===n)return!1;if(n.flags&yo.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(t)&&ms.isTupleTypeReference(e))return e.target.readonly;switch(function(e,t,r){if(!ms.isObjectType(e)||!vs.isObjectFlagSet(e,yo.ObjectFlags.Mapped))return;const n=e.symbol.declarations[0];return void 0===n.readonlyToken||/^__@[^@]+$/.test(t)?l(e.modifiersType,t,r):n.readonlyToken.kind!==yo.SyntaxKind.MinusToken}(e,t,r)){case!0:return!0;case!1:return!1}}return vs.isSymbolFlagSet(n,yo.SymbolFlags.ValueModule)||_(n,r)}))}function _(e,t){return(e.flags&yo.SymbolFlags.Accessor)===yo.SymbolFlags.GetAccessor||void 0!==e.declarations&&e.declarations.some((e=>vs.isModifierFlagSet(e,yo.ModifierFlags.Readonly)||ls.isVariableDeclaration(e)&&vs.isNodeFlagSet(e.parent,yo.NodeFlags.Const)||ls.isCallExpression(e)&&vs.isReadonlyAssignmentDeclaration(e,t)||ls.isEnumMember(e)||(ls.isPropertyAssignment(e)||ls.isShorthandPropertyAssignment(e))&&vs.isInConstContext(e.parent)))}Object.defineProperty(t,"__esModule",{value:!0}),t.isEmptyObjectType=function e(t){if(ms.isObjectType(t)&&t.objectFlags&yo.ObjectFlags.Anonymous&&0===t.getProperties().length&&0===t.getCallSignatures().length&&0===t.getConstructSignatures().length&&void 0===t.getStringIndexType()&&void 0===t.getNumberIndexType()){const r=t.getBaseTypes();return void 0===r||r.every(e)}return!1},t.removeOptionalityFromType=r,t.isTypeAssignableToNumber=function(e,t){return i(e,t,yo.TypeFlags.NumberLike)},t.isTypeAssignableToString=function(e,t){return i(e,t,yo.TypeFlags.StringLike)},t.getCallSignaturesOfType=function e(t){if(ms.isUnionType(t)){const r=[];for(const n of t.types)r.push(...e(n));return r}if(ms.isIntersectionType(t)){let r;for(const n of t.types){const t=e(n);if(0!==t.length){if(void 0!==r)return[];r=t}}return void 0===r?[]:r}return t.getCallSignatures()},t.unionTypeParts=a,t.intersectionTypeParts=function(e){return ms.isIntersectionType(e)?e.types:[e]},t.someTypePart=o,t.isThenableType=function(e,t,r=e.getTypeAtLocation(t)){for(const n of a(e.getApparentType(r))){const r=n.getProperty("then");if(void 0===r)continue;const i=e.getTypeOfSymbolAtLocation(r,t);for(const r of a(i))for(const n of r.getCallSignatures())if(0!==n.parameters.length&&s(e,n.parameters[0],t))return!0}return!1},t.isFalsyType=function(e){return!!(e.flags&(yo.TypeFlags.Undefined|yo.TypeFlags.Null|yo.TypeFlags.Void))||(ms.isLiteralType(e)?!e.value:c(e,!1))},t.isBooleanLiteralType=c,t.getPropertyOfType=u,t.isPropertyReadonlyInType=l,t.symbolHasReadonlyDeclaration=_,t.getPropertyNameFromType=function(e){if(e.flags&(yo.TypeFlags.StringLiteral|yo.TypeFlags.NumberLiteral)){const t=String(e.value);return{displayName:t,symbolName:yo.escapeLeadingUnderscores(t)}}if(ms.isUniqueESSymbolType(e))return{displayName:"[".concat(e.symbol?e.symbol.name:e.escapedName.replace(/^__@|@\d+$/g,""),"]"),symbolName:e.escapedName}},t.getConstructorTypeOfClassLikeDeclaration=function(e,t){return t.getDeclaredTypeOfSymbol(void 0!==e.name?t.getSymbolAtLocation(e.name):t.getTypeAtLocation(e).symbol)},t.getInstanceTypeOfClassLikeDeclaration=function(e,t){return e.kind===yo.SyntaxKind.ClassDeclaration?t.getTypeAtLocation(e):t.getTypeOfSymbolAtLocation(t.getTypeAtLocation(e).getProperty("prototype"),e)},t.getIteratorYieldResultFromIteratorResult=function(e,t,n){return ms.isUnionType(e)&&e.types.find((e=>{const i=e.getProperty("done");return void 0!==i&&c(r(n,n.getTypeOfSymbolAtLocation(i,t)),!1)}))||e}})),vs=r((function(e,t){function r(e){return e>=yo.SyntaxKind.FirstToken&&e<=yo.SyntaxKind.LastToken}function n(e){return e>=yo.SyntaxKind.FirstAssignment&&e<=yo.SyntaxKind.LastAssignment}function i(e,...t){if(void 0===e)return!1;for(const r of e)if(t.includes(r.kind))return!0;return!1}function a(e,t){return 0!=(e.flags&t)}function o(e,t,n,i){if(!(t=e.end))return r(e.kind)?e:(void 0===n&&(n=e.getSourceFile()),s(e,t,n,!0===i))}function s(e,t,n,i){e:for(;;){for(const a of e.getChildren(n))if(a.end>t&&(i||a.kind!==yo.SyntaxKind.JSDocComment)){if(r(a.kind))return a;e=a;continue e}return}}function c(e,t,r=e){const n=o(r,t,e);if(void 0===n||n.kind===yo.SyntaxKind.JsxText||t>=n.end-(yo.tokenToString(n.kind)||"").length)return;const i=0===n.pos?(yo.getShebang(e.text)||"").length:n.pos;return 0!==i&&yo.forEachTrailingCommentRange(e.text,i,u,t)||yo.forEachLeadingCommentRange(e.text,i,u,t)}function u(e,t,r,n,i){return i>=e&&i=65536?2:1}function x(e,t=yo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!yo.isIdentifierStart(r,t))return!1;for(let n=D(r);nn===yo.SyntaxKind.MultiLineCommentTrivia&&"*"===t.text[e+2]?{pos:e}:void 0));if(void 0===i)return[];const a=i.pos,o=t.text.slice(a,n),s=yo.createSourceFile("jsdoc.ts","".concat(o,"var a;"),t.languageVersion),c=k(s.statements[0],s);for(const t of c)u(t,e);return c;function u(e,t){return e.pos+=a,e.end+=a,e.parent=t,yo.forEachChild(e,(t=>u(t,e)),(t=>{t.pos+=a,t.end+=a;for(const r of t)u(r,e)}))}}function F(e,t){return new N(e,t).find()}Object.defineProperty(t,"__esModule",{value:!0}),t.getChildOfKind=function(e,t,r){for(const n of e.getChildren(r))if(n.kind===t)return n},t.isTokenKind=r,t.isNodeKind=function(e){return e>=yo.SyntaxKind.FirstNode},t.isAssignmentKind=n,t.isTypeNodeKind=function(e){return e>=yo.SyntaxKind.FirstTypeNode&&e<=yo.SyntaxKind.LastTypeNode},t.isJsDocKind=function(e){return e>=yo.SyntaxKind.FirstJSDocNode&&e<=yo.SyntaxKind.LastJSDocNode},t.isKeywordKind=function(e){return e>=yo.SyntaxKind.FirstKeyword&&e<=yo.SyntaxKind.LastKeyword},t.isThisParameter=function(e){return e.name.kind===yo.SyntaxKind.Identifier&&e.name.originalKeywordKind===yo.SyntaxKind.ThisKeyword},t.getModifier=function(e,t){if(void 0!==e.modifiers)for(const r of e.modifiers)if(r.kind===t)return r},t.hasModifier=i,t.isParameterProperty=function(e){return i(e.modifiers,yo.SyntaxKind.PublicKeyword,yo.SyntaxKind.ProtectedKeyword,yo.SyntaxKind.PrivateKeyword,yo.SyntaxKind.ReadonlyKeyword)},t.hasAccessModifier=function(e){return i(e.modifiers,yo.SyntaxKind.PublicKeyword,yo.SyntaxKind.ProtectedKeyword,yo.SyntaxKind.PrivateKeyword)},t.isNodeFlagSet=a,t.isTypeFlagSet=a,t.isSymbolFlagSet=a,t.isObjectFlagSet=function(e,t){return 0!=(e.objectFlags&t)},t.isModifierFlagSet=function(e,t){return 0!=(yo.getCombinedModifierFlags(e)&t)},t.getPreviousStatement=function(e){const t=e.parent;if(ls.isBlockLike(t)){const r=t.statements.indexOf(e);if(r>0)return t.statements[r-1]}},t.getNextStatement=function(e){const t=e.parent;if(ls.isBlockLike(t)){const r=t.statements.indexOf(e);if(r=0;--t){const a=i[t];if(a.post||e.node.end<=t))e:for(;;){for(const r of e.children){if(r.node.pos>t)return e;if(r.node.end>t){e=r;continue e}}return e}},t.getPropertyName=l,t.forEachDestructuringIdentifier=d,t.forEachDeclaredVariable=function(e,t){for(const r of e.declarations){let e;if(e=r.name.kind===yo.SyntaxKind.Identifier?t(r):d(r.name,t),e)return e}},function(e){e[e.Var=0]="Var",e[e.Let=1]="Let",e[e.Const=2]="Const"}(t.VariableDeclarationKind||(t.VariableDeclarationKind={})),t.getVariableDeclarationKind=function(e){return e.flags&yo.NodeFlags.Let?1:e.flags&yo.NodeFlags.Const?2:0},t.isBlockScopedVariableDeclarationList=_,t.isBlockScopedVariableDeclaration=function(e){const t=e.parent;return t.kind===yo.SyntaxKind.CatchClause||_(t)},t.isBlockScopedDeclarationStatement=function(e){switch(e.kind){case yo.SyntaxKind.VariableStatement:return _(e.declarationList);case yo.SyntaxKind.ClassDeclaration:case yo.SyntaxKind.EnumDeclaration:case yo.SyntaxKind.InterfaceDeclaration:case yo.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}},t.isInSingleStatementContext=function(e){switch(e.parent.kind){case yo.SyntaxKind.ForStatement:case yo.SyntaxKind.ForInStatement:case yo.SyntaxKind.ForOfStatement:case yo.SyntaxKind.WhileStatement:case yo.SyntaxKind.DoStatement:case yo.SyntaxKind.IfStatement:case yo.SyntaxKind.WithStatement:case yo.SyntaxKind.LabeledStatement:return!0;default:return!1}},function(e){e[e.None=0]="None",e[e.Function=1]="Function",e[e.Block=2]="Block",e[e.Type=4]="Type",e[e.ConditionalType=8]="ConditionalType"}(t.ScopeBoundary||(t.ScopeBoundary={})),function(e){e[e.Function=1]="Function",e[e.Block=3]="Block",e[e.Type=7]="Type",e[e.InferType=8]="InferType"}(t.ScopeBoundarySelector||(t.ScopeBoundarySelector={})),t.isScopeBoundary=function(e){return f(e)||g(e)||p(e)},t.isTypeScopeBoundary=p,t.isFunctionScopeBoundary=f,t.isBlockScopeBoundary=g,t.hasOwnThisReference=function(e){switch(e.kind){case yo.SyntaxKind.ClassDeclaration:case yo.SyntaxKind.ClassExpression:case yo.SyntaxKind.FunctionExpression:return!0;case yo.SyntaxKind.FunctionDeclaration:return void 0!==e.body;case yo.SyntaxKind.MethodDeclaration:case yo.SyntaxKind.GetAccessor:case yo.SyntaxKind.SetAccessor:return e.parent.kind===yo.SyntaxKind.ObjectLiteralExpression;default:return!1}},t.isFunctionWithBody=function(e){switch(e.kind){case yo.SyntaxKind.GetAccessor:case yo.SyntaxKind.SetAccessor:case yo.SyntaxKind.FunctionDeclaration:case yo.SyntaxKind.MethodDeclaration:case yo.SyntaxKind.Constructor:return void 0!==e.body;case yo.SyntaxKind.FunctionExpression:case yo.SyntaxKind.ArrowFunction:return!0;default:return!1}},t.forEachToken=m,t.forEachTokenWithTrivia=function(e,t,r=e.getSourceFile()){const n=r.text,i=yo.createScanner(r.languageVersion,!1,r.languageVariant,n);return m(e,(e=>{const a=e.kind===yo.SyntaxKind.JsxText||e.pos===e.end?e.pos:e.getStart(r);if(a!==e.pos){i.setTextPos(e.pos);let r=i.scan(),o=i.getTokenPos();for(;o{if(e.pos!==e.end)return e.kind!==yo.SyntaxKind.JsxText&&yo.forEachLeadingCommentRange(n,0===e.pos?(yo.getShebang(n)||"").length:e.pos,a),i||function(e){switch(e.kind){case yo.SyntaxKind.CloseBraceToken:return e.parent.kind!==yo.SyntaxKind.JsxExpression||!y(e.parent.parent);case yo.SyntaxKind.GreaterThanToken:switch(e.parent.kind){case yo.SyntaxKind.JsxOpeningElement:return e.end!==e.parent.end;case yo.SyntaxKind.JsxOpeningFragment:return!1;case yo.SyntaxKind.JsxSelfClosingElement:return e.end!==e.parent.end||!y(e.parent.parent);case yo.SyntaxKind.JsxClosingElement:case yo.SyntaxKind.JsxClosingFragment:return!y(e.parent.parent.parent)}}return!0}(e)?yo.forEachTrailingCommentRange(n,e.end,a):void 0}),r);function a(e,r,i){t(n,{pos:e,end:r,kind:i})}},t.getLineRanges=function(e){const t=e.getLineStarts(),r=[],n=t.length,i=e.text;let a=0;for(let e=1;ea&&yo.isLineBreak(i.charCodeAt(o-1));--o);r.push({pos:a,end:n,contentLength:o-a}),a=n}return r.push({pos:a,end:e.end,contentLength:e.end-a}),r},t.getLineBreakStyle=function(e){const t=e.getLineStarts();return 1===t.length||t[1]<2||"\r"!==e.text[t[1]-2]?"\n":"\r\n"},t.isValidIdentifier=function(e,t=yo.ScriptTarget.Latest){const r=h(e,t);return r.isIdentifier()&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidPropertyAccess=x,t.isValidPropertyName=function(e,t=yo.ScriptTarget.Latest){if(x(e,t))return!0;const r=h(e,t);return r.getTextPos()===e.length&&r.getToken()===yo.SyntaxKind.NumericLiteral&&r.getTokenValue()===e},t.isValidNumericLiteral=function(e,t=yo.ScriptTarget.Latest){const r=h(e,t);return r.getToken()===yo.SyntaxKind.NumericLiteral&&r.getTextPos()===e.length&&0===r.getTokenPos()},t.isValidJsxIdentifier=function(e,t=yo.ScriptTarget.Latest){if(0===e.length)return!1;let r=e.codePointAt(0);if(!yo.isIdentifierStart(r,t))return!1;for(let n=D(r);n{if(i===yo.SyntaxKind.SingleLineCommentTrivia){const i=e.slice(r,n),a=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(i);null!==a&&(t={pos:r,end:n,enabled:void 0===a[1]})}})),t},t.isConstAssertion=I,t.isInConstContext=function(e){let t=e;for(;;){const e=t.parent;e:switch(e.kind){case yo.SyntaxKind.TypeAssertionExpression:case yo.SyntaxKind.AsExpression:return I(e);case yo.SyntaxKind.PrefixUnaryExpression:if(t.kind!==yo.SyntaxKind.NumericLiteral)return!1;switch(e.operator){case yo.SyntaxKind.PlusToken:case yo.SyntaxKind.MinusToken:t=e;break e;default:return!1}case yo.SyntaxKind.PropertyAssignment:if(e.initializer!==t)return!1;t=e.parent;break;case yo.SyntaxKind.ShorthandPropertyAssignment:t=e.parent;break;case yo.SyntaxKind.ParenthesizedExpression:case yo.SyntaxKind.ArrayLiteralExpression:case yo.SyntaxKind.ObjectLiteralExpression:t=e;break;default:return!1}}},t.isReadonlyAssignmentDeclaration=function(e,t){if(!O(e))return!1;const r=t.getTypeAtLocation(e.arguments[2]);if(void 0===r.getProperty("value"))return void 0===r.getProperty("set");const n=r.getProperty("writable");if(void 0===n)return!1;const i=void 0!==n.valueDeclaration&&ls.isPropertyAssignment(n.valueDeclaration)?t.getTypeAtLocation(n.valueDeclaration.initializer):t.getTypeOfSymbolAtLocation(n,e.arguments[2]);return ys.isBooleanLiteralType(i,!1)},t.isBindableObjectDefinePropertyCall=O,t.isWellKnownSymbolLiterally=M,t.getPropertyNameOfWellKnownSymbol=L,t.getLateBoundPropertyNames=R,t.getLateBoundPropertyNamesOfPropertyName=function(e,t){const r=l(e);return void 0!==r?{known:!0,names:[{displayName:r,symbolName:yo.escapeLeadingUnderscores(r)}]}:R(e.expression,t)},t.getSingleLateBoundPropertyNameOfPropertyName=function(e,t){const r=l(e);if(void 0!==r)return{displayName:r,symbolName:yo.escapeLeadingUnderscores(r)};const{expression:n}=e;return M(n)?L(n):ys.getPropertyNameFromType(t.getTypeAtLocation(n))},t.unwrapParentheses=B})),hs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.convertComments=void 0;const o=a(yo);r.convertComments=function(e,t){const r=[];return vs.forEachComment(e,((n,i)=>{const a=i.kind==o.SyntaxKind.SingleLineCommentTrivia?Xo.AST_TOKEN_TYPES.Line:Xo.AST_TOKEN_TYPES.Block,s=[i.pos,i.end],c=Qo.getLocFor(s[0],s[1],e),u=s[0]+2,l=i.kind===o.SyntaxKind.SingleLineCommentTrivia?s[1]-u:s[1]-u-2;r.push({type:a,value:t.substr(u,l),range:s,loc:c})}),e),r}})),Ds={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};const xs=Object.freeze(Object.keys(Ds));for(const e of xs)Object.freeze(Ds[e]);Object.freeze(Ds);const bs=new Set(["parent","leadingComments","trailingComments"]);function Ss(e){return!bs.has(e)&&"_"!==e[0]}var Es=Object.freeze({KEYS:Ds,getKeys:e=>Object.keys(e).filter(Ss),unionWith(e){const t=Object.assign({},Ds);for(const r of Object.keys(e))if(t.hasOwnProperty(r)){const n=new Set(e[r]);for(const e of t[r])n.add(e);t[r]=Object.freeze(Array.from(n))}else t[r]=Object.freeze(Array.from(e[r]));return Object.freeze(t)}}),Cs=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getKeys=void 0;const r=Es.getKeys;t.getKeys=r})),Ts=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.visitorKeys=void 0;const o=a(Es).unionWith({ImportExpression:["source"],ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:["typeParameters","params","returnType","body"],AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["decorators","typeAnnotation"],MethodDefinition:["decorators","key","value"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],RestElement:["decorators","argument","typeAnnotation"],TaggedTemplateExpression:["tag","typeParameters","quasi"],JSXOpeningElement:["name","typeParameters","attributes"],JSXClosingFragment:[],JSXOpeningFragment:[],JSXSpreadChild:["expression"],ClassProperty:["decorators","key","typeAnnotation","value"],Decorator:["expression"],TSAbstractClassProperty:["decorators","key","typeAnnotation","value"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:["expression","typeAnnotation"],TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:["typeParameters","params","returnType"],TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:["typeParameters","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","params","returnType"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:["typeParameters","params","returnType"],TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSParenthesizedType:["typeAnnotation"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]});r.visitorKeys=o})),ks=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.visitorKeys=t.getKeys=void 0,Object.defineProperty(t,"getKeys",{enumerable:!0,get:function(){return Cs.getKeys}}),Object.defineProperty(t,"visitorKeys",{enumerable:!0,get:function(){return Ts.visitorKeys}})})),As=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.simpleTraverse=void 0;class r{constructor(e,t=!1){this.allVisitorKeys=ks.visitorKeys,this.selectors=e,this.setParentPointers=t}traverse(e,t){if(null===(r=e)||"object"!=typeof r||"string"!=typeof r.type)return;var r;this.setParentPointers&&(e.parent=t),"enter"in this.selectors?this.selectors.enter(e,t):e.type in this.selectors&&this.selectors[e.type](e,t);const n=function(e,t){const r=e[t.type];return null!=r?r:[]}(this.allVisitorKeys,e);if(!(n.length<1))for(const t of n){const r=e[t];if(Array.isArray(r))for(const t of r)this.traverse(t,e);else this.traverse(r,e)}}}t.simpleTraverse=function(e,t,n=!1){new r(t,n).traverse(e,void 0)}})),Fs=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.astConverter=void 0,t.astConverter=function(e,t,r){const n=e.parseDiagnostics;if(n.length)throw Zo.convertError(n[0]);const i=new Zo.Converter(e,{errorOnUnknownASTType:t.errorOnUnknownASTType||!1,useJSXTextNode:t.useJSXTextNode||!1,shouldPreserveNodeMaps:r}),a=i.convertProgram();return t.range&&t.loc||As.simpleTraverse(a,{enter:e=>{t.range||delete e.range,t.loc||delete e.loc}}),t.tokens&&(a.tokens=Qo.convertTokens(e)),t.comment&&(a.comments=hs.convertComments(e,t.code)),{estree:a,astMaps:i.getASTMaps()}}})),Ns=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getTsconfigPath=r.getScriptKind=r.getCanonicalFileName=r.ensureAbsolutePath=r.createDefaultCompilerOptionsFromExtra=r.canonicalDirname=void 0;const s=o(fo),c=a(yo),u={allowNonTsExtensions:!0,allowJs:!0,checkJs:!0,noEmit:!0,noUnusedLocals:!0,noUnusedParameters:!0};r.createDefaultCompilerOptionsFromExtra=function(e){return e.debugLevel.has("typescript")?Object.assign(Object.assign({},u),{extendedDiagnostics:!0}):u};const l=void 0===c.sys||c.sys.useCaseSensitiveFileNames?e=>e:e=>e.toLowerCase();function d(e){let t=s.default.normalize(e);return t.endsWith(s.default.sep)&&(t=t.substr(0,t.length-1)),l(t)}function _(e,t){return s.default.isAbsolute(e)?e:s.default.join(t.tsconfigRootDir||V.cwd(),e)}r.getCanonicalFileName=d,r.ensureAbsolutePath=_,r.getTsconfigPath=function(e,t){return d(_(e,t))},r.canonicalDirname=function(e){return s.default.dirname(e)},r.getScriptKind=function(e,t=e.filePath){switch(s.default.extname(t).toLowerCase()){case".ts":return c.ScriptKind.TS;case".tsx":return c.ScriptKind.TSX;case".js":return c.ScriptKind.JS;case".jsx":return c.ScriptKind.JSX;case".json":return c.ScriptKind.JSON;default:return e.jsx?c.ScriptKind.TSX:c.ScriptKind.TS}}})),Ps=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.createDefaultProgram=void 0;const s=o(cn),c=o(fo),u=a(yo),l=s.default("typescript-eslint:typescript-estree:createDefaultProgram");r.createDefaultProgram=function(e,t){if(l("Getting default program for: %s",t.filePath||"unnamed file"),!t.projects||1!==t.projects.length)return;const r=Ns.getTsconfigPath(t.projects[0],t),n=u.getParsedCommandLineOfConfigFile(r,Ns.createDefaultCompilerOptionsFromExtra(t),Object.assign(Object.assign({},u.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!n)return;const i=u.createCompilerHost(n.options,!0),a=i.readFile;i.readFile=r=>c.default.normalize(r)===c.default.normalize(t.filePath)?e:a(r);const o=u.createProgram([t.filePath],n.options,i),s=o.getSourceFile(t.filePath);return s&&{ast:s,program:o}}})),ws=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.createIsolatedProgram=void 0;const s=o(cn),c=a(yo),u=s.default("typescript-eslint:typescript-estree:createIsolatedProgram");r.createIsolatedProgram=function(e,t){u("Getting isolated program in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath);const r={fileExists:()=>!0,getCanonicalFileName:()=>t.filePath,getCurrentDirectory:()=>"",getDirectories:()=>[],getDefaultLibFileName:()=>"lib.d.ts",getNewLine:()=>"\n",getSourceFile:r=>c.createSourceFile(r,e,c.ScriptTarget.Latest,!0,Ns.getScriptKind(t,r)),readFile(){},useCaseSensitiveFileNames:()=>!0,writeFile:()=>null},n=c.createProgram([t.filePath],Object.assign({noResolve:!0,target:c.ScriptTarget.Latest,jsx:t.jsx?c.JsxEmit.Preserve:void 0},Ns.createDefaultCompilerOptionsFromExtra(t)),r),i=n.getSourceFile(t.filePath);if(!i)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:i,program:n}}})),Is=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.getProgramsForProjects=r.createWatchProgram=r.clearCaches=void 0;const s=o(cn),c=o(go),u=o(Ci),l=a(yo),d=s.default("typescript-eslint:typescript-estree:createWatchProgram"),_=new Map,p=new Map,f=new Map,g=new Map,m=new Map,y=new Map;function v(e){return(t,r)=>{const n=Ns.getCanonicalFileName(t),i=(()=>{let t=e.get(n);return t||(t=new Set,e.set(n,t)),t})();return i.add(r),{close:()=>{i.delete(r)}}}}r.clearCaches=function(){_.clear(),p.clear(),f.clear(),y.clear(),g.clear(),m.clear()};const h={code:"",filePath:""};function D(e){throw new Error(l.flattenDiagnosticMessageText(e.messageText,l.sys.newLine))}function x(e){var t;return(null===(t=l.sys)||void 0===t?void 0:t.createHash)?l.sys.createHash(e):e}function b(e,t,r){const n=r.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(t.getSourceFiles().map((e=>Ns.getCanonicalFileName(e.fileName)))):new Set(t.getRootFileNames().map((e=>Ns.getCanonicalFileName(e))));return g.set(e,n),n}r.getProgramsForProjects=function(e,t,r){const n=Ns.getCanonicalFileName(t),i=[];h.code=e,h.filePath=n;const a=p.get(n),o=x(e);y.get(n)!==o&&a&&a.size>0&&a.forEach((e=>e(n,l.FileWatcherEventKind.Changed)));for(const[e,t]of _.entries()){let i=g.get(e),a=null;if(i||(a=t.getProgram().getProgram(),i=b(e,a,r)),i.has(n))return d("Found existing program for file. %s",n),a=null!=a?a:t.getProgram().getProgram(),a.getTypeChecker(),[a]}d("File did not belong to any existing programs, moving to create/update. %s",n);for(const e of r.projects){const t=Ns.getTsconfigPath(e,r),a=_.get(t);if(a){const e=C(a,n,t);if(!e)continue;e.getTypeChecker();if(b(t,e,r).has(n))return d("Found updated program for file. %s",n),[e];i.push(e);continue}const o=E(t,r);_.set(t,o);const s=o.getProgram().getProgram();s.getTypeChecker();if(b(t,s,r).has(n))return d("Found program for file. %s",n),[s];i.push(s)}return i};const S=u.default.satisfies(l.version,">=3.9.0-beta",{includePrerelease:!0});function E(e,t){d("Creating watch program for %s.",e);const r=l.createWatchCompilerHost(e,Ns.createDefaultCompilerOptionsFromExtra(t),l.sys,l.createAbstractBuilder,D,(()=>{})),n=r.readFile;r.readFile=(e,t)=>{const r=Ns.getCanonicalFileName(e),i=r===h.filePath?h.code:n(r,t);return void 0!==i&&y.set(r,x(i)),i},r.onUnRecoverableConfigFileDiagnostic=D,r.afterProgramCreate=e=>{const t=e.getConfigFileParsingDiagnostics().filter((e=>e.category===l.DiagnosticCategory.Error&&18003!==e.code));t.length>0&&D(t[0])},r.watchFile=v(p),r.watchDirectory=v(f);const i=r.onCachedDirectoryStructureHostCreate;let a;r.onCachedDirectoryStructureHostCreate=e=>{const r=e.readDirectory;e.readDirectory=(e,n,i,a,o)=>r(e,n?n.concat(t.extraFileExtensions):void 0,i,a,o),i(e)},r.extraFileExtensions=t.extraFileExtensions.map((e=>({extension:e,isMixedContent:!0,scriptKind:l.ScriptKind.Deferred}))),r.trace=d,r.useSourceOfProjectReferenceRedirect=()=>t.EXPERIMENTAL_useSourceOfProjectReferenceRedirect,S?(r.setTimeout=void 0,r.clearTimeout=void 0):(d("Running without timeout fix"),r.setTimeout=(e,t,...r)=>(a=e.bind(void 0,...r),a),r.clearTimeout=()=>{a=void 0});const o=l.createWatchProgram(r);if(!S){const e=o.getProgram;o.getProgram=()=>(a&&a(),a=void 0,e.call(o))}return o}function C(e,t,r){let n=e.getProgram().getProgram();if("true"===V.env.TSESTREE_NO_INVALIDATION)return n;(function(e){const t=c.default.statSync(e).mtimeMs,r=m.get(e);return m.set(e,t),void 0!==r&&Math.abs(r-t)>Number.EPSILON})(r)&&(d("tsconfig has changed - triggering program update. %s",r),p.get(r).forEach((e=>e(r,l.FileWatcherEventKind.Changed))),g.delete(r));let i=n.getSourceFile(t);if(i)return n;d("File was not found in program - triggering folder update. %s",t);const a=Ns.canonicalDirname(t);let o=null,s=a,u=!1;for(;o!==s;){o=s;const e=f.get(o);e&&(e.forEach((e=>{a!==o&&e(a,l.FileWatcherEventKind.Changed),e(o,l.FileWatcherEventKind.Changed)})),u=!0),s=Ns.canonicalDirname(o)}if(!u)return d("No callback found for file, not part of this program. %s",t),null;if(g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i)return n;d("File was still not found in program after directory update - checking file deletions. %s",t);const _=n.getRootFileNames().find((e=>!c.default.existsSync(e)));if(!_)return null;const y=p.get(Ns.getCanonicalFileName(_));return y?(d("Marking file as deleted. %s",_),y.forEach((e=>e(_,l.FileWatcherEventKind.Deleted))),g.delete(r),n=e.getProgram().getProgram(),i=n.getSourceFile(t),i?n:(d("File was still not found in program after deletion check, assuming it is not part of this program. %s",t),null)):(d("Could not find watch callbacks for root file. %s",_),n)}r.createWatchProgram=E})),Os=r((function(e,r){var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.createProjectProgram=void 0;const i=n(cn),a=n(fo),o=i.default("typescript-eslint:typescript-estree:createProjectProgram"),s=[".ts",".tsx",".js",".jsx"];function c(e){return e?e.endsWith(".d.ts")?".d.ts":a.default.extname(e):null}r.createProjectProgram=function(e,t,r){o("Creating project program for: %s",r.filePath);const n=Qo.firstDefined(Is.getProgramsForProjects(e,r.filePath,r),(e=>{const t=e.getSourceFile(r.filePath);if(c(r.filePath)===c(null==t?void 0:t.fileName))return t&&{ast:t,program:e}}));if(!n&&!t){const e=['"parserOptions.project" has been set for @typescript-eslint/parser.',"The file does not match your project config: ".concat(a.default.relative(r.tsconfigRootDir||V.cwd(),r.filePath),".")];let t=!1;const n=r.extraFileExtensions||[];n.forEach((t=>{t.startsWith(".")||e.push('Found unexpected extension "'.concat(t,'" specified with the "extraFileExtensions" option. Did you mean ".').concat(t,'"?')),s.includes(t)&&e.push('You unnecessarily included the extension "'.concat(t,'" with the "extraFileExtensions" option. This extension is already handled by the parser by default.'))}));const i=a.default.extname(r.filePath);if(!s.includes(i)){const r="The extension for the file (".concat(i,") is non-standard");n.length>0?n.includes(i)||(e.push("".concat(r,'. It should be added to your existing "parserOptions.extraFileExtensions".')),t=!0):(e.push("".concat(r,'. You should add "parserOptions.extraFileExtensions" to your config.')),t=!0)}throw t||e.push("The file must be included in at least one of the projects provided."),new Error(e.join("\n"))}return n}})),Ms=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.createSourceFile=void 0;const s=o(cn),c=a(yo),u=s.default("typescript-eslint:typescript-estree:createSourceFile");r.createSourceFile=function(e,t){return u("Getting AST without type information in %s mode for: %s",t.jsx?"TSX":"TS",t.filePath),c.createSourceFile(t.filePath,e,c.ScriptTarget.Latest,!0,Ns.getScriptKind(t))}})),Ls=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(r,"__esModule",{value:!0}),r.getFirstSemanticOrSyntacticError=void 0;const o=a(yo);function s(e){return e.filter((e=>{switch(e.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1}))}function c(e){return Object.assign(Object.assign({},e),{message:o.flattenDiagnosticMessageText(e.messageText,o.sys.newLine)})}r.getFirstSemanticOrSyntacticError=function(e,t){try{const r=s(e.getSyntacticDiagnostics(t));if(r.length)return c(r[0]);const n=s(e.getSemanticDiagnostics(t));return n.length?c(n[0]):void 0}catch(e){return void console.warn('Warning From TSC: "'.concat(e.message))}}})),Rs=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},o=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.parseWithNodeMaps=r.parseAndGenerateServices=r.parse=void 0;const s=o(cn),c={},u=o(_n),l=o(Ci),d=a(yo),_=s.default("typescript-eslint:typescript-estree:parser"),p=">=3.3.1 <4.2.0",f=d.version,g=l.default.satisfies(f,[p].concat(["4.1.1-rc","4.1.0-beta"]).join(" || "));let m,y=!1;function v(e){return"string"!=typeof e?String(e):e}function h({jsx:e}={}){return e?"estree.tsx":"estree.ts"}function D(){m={code:"",comment:!1,comments:[],createDefaultProgram:!1,debugLevel:new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:!1,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:!1,extraFileExtensions:[],filePath:h(),jsx:!1,loc:!1,log:console.log,preserveNodeMaps:!0,projects:[],range:!1,strict:!1,tokens:null,tsconfigRootDir:V.cwd(),useJSXTextNode:!1}}function x(e){var t;if(!0===e.debugLevel?m.debugLevel=new Set(["typescript-eslint"]):Array.isArray(e.debugLevel)&&(m.debugLevel=new Set(e.debugLevel)),m.debugLevel.size>0){const e=[];m.debugLevel.has("typescript-eslint")&&e.push("typescript-eslint:*"),(m.debugLevel.has("eslint")||s.default.enabled("eslint:*,-eslint:code-path"))&&e.push("eslint:*,-eslint:code-path"),s.default.enable(e.join(","))}m.range="boolean"==typeof e.range&&e.range,m.loc="boolean"==typeof e.loc&&e.loc,"boolean"==typeof e.tokens&&e.tokens&&(m.tokens=[]),"boolean"==typeof e.comment&&e.comment&&(m.comment=!0,m.comments=[]),"boolean"==typeof e.jsx&&e.jsx&&(m.jsx=!0),"string"==typeof e.filePath&&""!==e.filePath?m.filePath=e.filePath:m.filePath=h(m),"boolean"==typeof e.useJSXTextNode&&e.useJSXTextNode&&(m.useJSXTextNode=!0),"boolean"==typeof e.errorOnUnknownASTType&&e.errorOnUnknownASTType&&(m.errorOnUnknownASTType=!0),"function"==typeof e.loggerFn?m.log=e.loggerFn:!1===e.loggerFn&&(m.log=()=>{}),"string"==typeof e.tsconfigRootDir&&(m.tsconfigRootDir=e.tsconfigRootDir),m.filePath=Ns.ensureAbsolutePath(m.filePath,m);const r=(null!==(t=e.projectFolderIgnoreList)&&void 0!==t?t:[]).reduce(((e,t)=>("string"==typeof t&&e.push(t),e)),[]).map((e=>e.startsWith("!")?e:"!".concat(e)));m.projects=[]||function(e,t){let r=[];if("string"==typeof e)r.push(e);else if(Array.isArray(e))for(const t of e)"string"==typeof t&&r.push(t);if(0===r.length)return r;const n=r.filter((e=>u.default(e)));return r=r.filter((e=>!u.default(e))).concat(c.sync([...n,...t],{cwd:m.tsconfigRootDir})),_("parserOptions.project (excluding ignored) matched projects: %s",r),r}(e.project,r),Array.isArray(e.extraFileExtensions)&&e.extraFileExtensions.every((e=>"string"==typeof e))&&(m.extraFileExtensions=e.extraFileExtensions),"boolean"==typeof e.preserveNodeMaps&&(m.preserveNodeMaps=e.preserveNodeMaps),m.createDefaultProgram="boolean"==typeof e.createDefaultProgram&&e.createDefaultProgram,m.EXPERIMENTAL_useSourceOfProjectReferenceRedirect="boolean"==typeof e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect&&e.EXPERIMENTAL_useSourceOfProjectReferenceRedirect}function b(){var e;if(!g&&!y){if(void 0!==typeof V&&(null===(e=V.stdout)||void 0===e?void 0:e.isTTY)){const e="=============",t=[e,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.","SUPPORTED TYPESCRIPT VERSIONS: ".concat(p),"YOUR TYPESCRIPT VERSION: ".concat(f),"Please only submit bug reports when using the officially supported version.",e];m.log(t.join("\n\n"))}y=!0}}function S(e,t,r){if(D(),null==t?void 0:t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');e=v(e),m.code=e,void 0!==t&&x(t),b();const n=Ms.createSourceFile(e,m),{estree:i,astMaps:a}=Fs.astConverter(n,m,r);return{ast:i,esTreeNodeToTSNodeMap:a.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:a.tsNodeToESTreeNodeMap}}r.parse=function(e,t){const{ast:r}=S(e,t,!1);return r},r.parseWithNodeMaps=function(e,t){return S(e,t,!0)},r.parseAndGenerateServices=function(e,t){D(),e=v(e),m.code=e,void 0!==t&&(x(t),"boolean"==typeof t.errorOnTypeScriptSyntacticAndSemanticIssues&&t.errorOnTypeScriptSyntacticAndSemanticIssues&&(m.errorOnTypeScriptSyntacticAndSemanticIssues=!0)),b();const r=m.projects&&m.projects.length>0,{ast:n,program:i}=function(e,t,r){return t&&Os.createProjectProgram(e,r,m)||t&&r&&Ps.createDefaultProgram(e,m)||ws.createIsolatedProgram(e,m)}(e,r,m.createDefaultProgram),a="boolean"!=typeof m.preserveNodeMaps||m.preserveNodeMaps,{estree:o,astMaps:s}=Fs.astConverter(n,m,a);if(i&&m.errorOnTypeScriptSyntacticAndSemanticIssues){const e=Ls.getFirstSemanticOrSyntacticError(i,n);if(e)throw Zo.convertError(e)}return{ast:o,services:{hasFullTypeInformation:r,program:i,esTreeNodeToTSNodeMap:s.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:s.tsNodeToESTreeNodeMap}}}})),Bs="4.8.1",js=r((function(e,r){var n=t&&t.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=t&&t.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(r,"__esModule",{value:!0}),r.version=r.visitorKeys=r.clearCaches=r.simpleTraverse=void 0,i(Rs,r),Object.defineProperty(r,"simpleTraverse",{enumerable:!0,get:function(){return As.simpleTraverse}}),i(Xo,r),Object.defineProperty(r,"clearCaches",{enumerable:!0,get:function(){return Is.clearCaches}}),Object.defineProperty(r,"visitorKeys",{enumerable:!0,get:function(){return ks.visitorKeys}}),r.version=Bs}));const{hasPragma:Js}=Ge,{locStart:Ks,locEnd:zs}=$e;function Us(e,t){const{parseWithNodeMaps:r}=js;return r(e,{loc:!0,range:!0,comment:!0,useJSXTextNode:!0,jsx:t,tokens:!0,loggerFn:!1,project:[]})}var Vs={parsers:{typescript:{parse:function(t,r,n){const i=function(e){return new RegExp(["(^[^\"'`]*)"].join(""),"m").test(e)}(t);let a;try{a=Us(t,i)}catch(r){try{a=Us(t,!i)}catch(t){const{message:n,lineNumber:i,column:a}=r;if("number"!=typeof i)throw r;throw e(n,{start:{line:i,column:a+1}})}}return jr(a.ast,Object.assign({},n,{originalText:t,tsParseResult:a}))},astFormat:"estree",hasPragma:Js,locStart:Ks,locEnd:zs}}};export default Vs; diff --git a/node_modules/prettier/esm/parser-yaml.mjs b/node_modules/prettier/esm/parser-yaml.mjs deleted file mode 100644 index 1eca8a6b..00000000 --- a/node_modules/prettier/esm/parser-yaml.mjs +++ /dev/null @@ -1,15 +0,0 @@ -var e=function(e,t){const n=new SyntaxError(e+" ("+t.start.line+":"+t.start.column+")");return n.loc=t,n};var t={isPragma:function(e){return/^\s*@(prettier|format)\s*$/.test(e)},hasPragma:function(e){return/^\s*#[^\S\n]*@(prettier|format)\s*?(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n".concat(e)}};var n={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};function r(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")} -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */(null==t&&n.path)}},n.exports),n.exports}var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var s=function(){return(s=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return i}function c(e){return this instanceof c?(this.v=e,this):new c(e)}var u=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return s},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(i=(s<3?o(i):s>3?o(t,n,i):o(t,n))||i);return s>3&&i&&Object.defineProperty(t,n,i),i},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,s){function i(e){try{c(r.next(e))}catch(e){s(e)}}function a(e){try{c(r.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}c((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,s,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof c?Promise.resolve(n.value.v).then(u,l):f(s[0][2],n)}catch(e){f(s[0][3],e)}var n}function u(e){a("next",e)}function l(e){a("throw",e)}function f(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:c(e[r](t)),done:"return"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=i(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),l=r((function(e,t){var n="\n",r=function(){function e(e){this.string=e;for(var t=[0],r=0;rthis.string.length)return null;for(var t=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){var t=e.line,n=e.column;return t<0||t>=this.offsets.length||n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){var t=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=r})),f=r((function(e,t){t.__esModule=!0,t.defineParents=function e(t,n){void 0===n&&(n=null),"children"in t&&t.children.forEach((function(n){return e(n,t)})),"anchor"in t&&t.anchor&&e(t.anchor,t),"tag"in t&&t.tag&&e(t.tag,t),"leadingComments"in t&&t.leadingComments.forEach((function(n){return e(n,t)})),"middleComments"in t&&t.middleComments.forEach((function(n){return e(n,t)})),"indicatorComment"in t&&t.indicatorComment&&e(t.indicatorComment,t),"trailingComment"in t&&t.trailingComment&&e(t.trailingComment,t),"endComments"in t&&t.endComments.forEach((function(n){return e(n,t)})),Object.defineProperty(t,"_parent",{value:n,enumerable:!1})}})),h=r((function(e,t){t.__esModule=!0,t.getPointText=function(e){return e.line+":"+e.column}})),p=r((function(e,t){function n(e,t){if(t.position.start.offset!==t.position.end.offset){if("leadingComments"in t){var r=t.position.start,o=e[r.line-1].leadingAttachableNode;(!o||r.column1&&"document"!==t.type&&"documentHead"!==t.type){var s=t.position.end,i=e[s.line-1].trailingAttachableNode;(!i||s.column>=i.position.end.column)&&(e[s.line-1].trailingAttachableNode=t)}if("root"!==t.type&&"document"!==t.type&&"documentHead"!==t.type&&"documentBody"!==t.type)for(var a=t.position,c=(r=a.start,0),u=[(s=a.end).line].concat(r.line===s.line?[]:r.line);c=f.position.end.column)&&(e[l-1].trailingNode=t)}"children"in t&&t.children.forEach((function(t){n(e,t)}))}}function r(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case"flowMapping":case"flowSequence":return 0===e.children.length||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case"mappingKey":case"mappingValue":return t.position.start.column>e._parent.position.start.column&&(0===e.children.length||1===e.children.length&&"blockFolded"!==e.children[0].type&&"blockLiteral"!==e.children[0].type)&&("mappingValue"===e.type||o(e));default:return!1}}function o(e){return e.position.start!==e.position.end&&(0===e.children.length||e.position.start.offset!==e.children[0].position.start.offset)}t.__esModule=!0,t.attachComments=function(e){f.defineParents(e);var t=function(e){for(var t=Array.from(new Array(e.position.end.line),(function(){return{}})),r=0,o=e.comments;r1&&e.position.start.line>s[0].position.end.line;)s.shift();!function(e,t,n){var s=e.position.start.line,i=t[s-1].trailingAttachableNode;if(i){if(i.trailingComment)throw new Error("Unexpected multiple trailing comment at "+h.getPointText(e.position.start));return f.defineParents(e,i),void(i.trailingComment=e)}for(var a=s;a>=n.position.start.line;a--){var c=t[a-1].trailingNode,u=void 0;if(c)u=c;else{if(a===s||!t[a-1].comment)continue;u=t[a-1].comment._parent}if("sequence"!==u.type&&"mapping"!==u.type||(u=u.children[0]),"mappingItem"===u.type){var l=u.children,p=l[0],d=l[1];u=o(p)?p:d}for(;;){if(r(u,e))return f.defineParents(e,u),void u.endComments.push(e);if(!u._parent)break;u=u._parent}break}for(a=s+1;a<=n.position.end.line;a++){var g=t[a-1].leadingAttachableNode;if(g)return f.defineParents(e,g),void g.leadingComments.push(e)}var m=n.children[1];f.defineParents(e,m),m.endComments.push(e)}(e,t,s[0])}))}})),d=r((function(e,t){t.__esModule=!0,t.createNode=function(e,t){return{type:e,position:t}}})),g=r((function(e,t){t.__esModule=!0,t.createRoot=function(e,t,n){return u.__assign(u.__assign({},d.createNode("root",e)),{children:t,comments:n})}})),m=r((function(e,t){t.__esModule=!0,t.removeCstBlankLine=function e(t){switch(t.type){case"DOCUMENT":for(var n=t.contents.length-1;n>=0;n--)"BLANK_LINE"===t.contents[n].type?t.contents.splice(n,1):e(t.contents[n]);for(n=t.directives.length-1;n>=0;n--)"BLANK_LINE"===t.directives[n].type&&t.directives.splice(n,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(n=t.items.length-1;n>=0;n--){var r=t.items[n];"char"in r||("BLANK_LINE"===r.type?t.items.splice(n,1):e(r))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":t.node&&e(t.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(t.type))}}})),y=r((function(e,t){t.__esModule=!0,t.createLeadingCommentAttachable=function(){return{leadingComments:[]}}})),v=r((function(e,t){t.__esModule=!0,t.createTrailingCommentAttachable=function(e){return void 0===e&&(e=null),{trailingComment:e}}})),_=r((function(e,t){t.__esModule=!0,t.createCommentAttachable=function(){return u.__assign(u.__assign({},y.createLeadingCommentAttachable()),v.createTrailingCommentAttachable())}})),w=r((function(e,t){t.__esModule=!0,t.createAlias=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("alias",e)),_.createCommentAttachable()),t),{value:n})}})),E=r((function(e,t){t.__esModule=!0,t.transformAlias=function(e,t){var n=e.cstNode;return w.createAlias(t.transformRange({origStart:n.valueRange.origStart-1,origEnd:n.valueRange.origEnd}),t.transformContent(e),n.rawValue)}})),S=r((function(e,t){t.__esModule=!0,t.createBlockFolded=function(e){return u.__assign(u.__assign({},e),{type:"blockFolded"})}})),b=r((function(e,t){t.__esModule=!0,t.createBlockValue=function(e,t,n,r,o,s){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("blockValue",e)),y.createLeadingCommentAttachable()),t),{chomping:n,indent:r,value:o,indicatorComment:s})}})),A=r((function(e,t){t.__esModule=!0,function(e){e.Tag="!",e.Anchor="&",e.Comment="#"}(t.PropLeadingCharacter||(t.PropLeadingCharacter={}))})),M=r((function(e,t){t.__esModule=!0,t.createAnchor=function(e,t){return u.__assign(u.__assign({},d.createNode("anchor",e)),{value:t})}})),O=r((function(e,t){t.__esModule=!0,t.createComment=function(e,t){return u.__assign(u.__assign({},d.createNode("comment",e)),{value:t})}})),L=r((function(e,t){t.__esModule=!0,t.createContent=function(e,t,n){return{anchor:t,tag:e,middleComments:n}}})),N=r((function(e,t){t.__esModule=!0,t.createTag=function(e,t){return u.__assign(u.__assign({},d.createNode("tag",e)),{value:t})}})),T=r((function(e,t){t.__esModule=!0,t.transformContent=function(e,t,n){void 0===n&&(n=function(){return!1});for(var r=e.cstNode,o=[],s=null,i=null,a=null,c=0,u=r.props;c=0;c--){var u=e.contents[c];if("COMMENT"===u.type){var l=t.transformNode(u);n&&n.line===l.position.start.line?i.unshift(l):a?r.unshift(l):l.position.start.offset>=e.valueRange.origEnd?s.unshift(l):r.unshift(l)}else a=!0}if(s.length>1)throw new Error("Unexpected multiple document trailing comments at "+h.getPointText(s[1].position.start));if(i.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+h.getPointText(i[1].position.start));return{comments:r,endComments:o,documentTrailingComment:W.getLast(s)||null,documentHeadTrailingComment:W.getLast(i)||null}}(o,t,n),i=s.comments,a=s.endComments,c=s.documentTrailingComment,l=s.documentHeadTrailingComment,f=t.transformNode(e.contents),p=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(e.valueRange.origEnd),/^\.\.\./),o=-1===r?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);"\r"===n.text[o-1]&&o--;var s=n.transformRange({origStart:null!==t?t.position.start.offset:o,origEnd:o}),i=-1===r?s.end:n.transformOffset(e.valueRange.origEnd+3);return{position:s,documentEndPoint:i}}(o,f,t),d=p.position,g=p.documentEndPoint;return(r=t.comments).push.apply(r,u.__spreadArrays(i,a)),{documentBody:j.createDocumentBody(d,f,a),documentEndPoint:g,documentTrailingComment:c,documentHeadTrailingComment:l}}})),K=r((function(e,t){t.__esModule=!0,t.createDocumentHead=function(e,t,n,r){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("documentHead",e)),F.createEndCommentAttachable(n)),v.createTrailingCommentAttachable(r)),{children:t})}})),q=r((function(e,t){t.__esModule=!0,t.transformDocumentHead=function(e,t){var n,r=e.cstNode,o=function(e,t){for(var n=[],r=[],o=[],s=!1,i=e.directives.length-1;i>=0;i--){var a=t.transformNode(e.directives[i]);"comment"===a.type?s?r.unshift(a):o.unshift(a):(s=!0,n.unshift(a))}return{directives:n,comments:r,endComments:o}}(r,t),s=o.directives,i=o.comments,a=o.endComments,c=function(e,t,n){var r=Q.getMatchIndex(n.text.slice(0,e.valueRange.origStart),/---\s*$/);r>0&&!/[\r\n]/.test(n.text[r-1])&&(r=-1);var o=-1===r?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:r,origEnd:r+3};0!==t.length&&(o.origStart=t[0].position.start.offset);return{position:n.transformRange(o),endMarkerPoint:-1===r?null:n.transformOffset(r)}}(r,s,t),l=c.position,f=c.endMarkerPoint;return(n=t.comments).push.apply(n,u.__spreadArrays(i,a)),{createDocumentHeadWithTrailingComment:function(e){return e&&t.comments.push(e),K.createDocumentHead(l,s,a,e)},documentHeadEndMarkerPoint:f}}})),J=r((function(e,t){t.__esModule=!0,t.transformDocument=function(e,t){var n=q.transformDocumentHead(e,t),r=n.createDocumentHeadWithTrailingComment,o=n.documentHeadEndMarkerPoint,s=V.transformDocumentBody(e,t,o),i=s.documentBody,a=s.documentEndPoint,c=s.documentTrailingComment,u=r(s.documentHeadTrailingComment);return c&&t.comments.push(c),D.createDocument(U.createPosition(u.position.start,a),u,i,c)}})),$=r((function(e,t){t.__esModule=!0,t.createFlowCollection=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("flowCollection",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),G=r((function(e,t){t.__esModule=!0,t.createFlowMapping=function(e,t,n){return u.__assign(u.__assign({},$.createFlowCollection(e,t,n)),{type:"flowMapping"})}})),H=r((function(e,t){t.__esModule=!0,t.createFlowMappingItem=function(e,t,n){return u.__assign(u.__assign(u.__assign({},d.createNode("flowMappingItem",e)),y.createLeadingCommentAttachable()),{children:[t,n]})}})),z=r((function(e,t){t.__esModule=!0,t.extractComments=function(e,t){for(var n=[],r=0,o=e;r=0;r--)if(n.test(e[r]))return r;return-1}})),pe=r((function(e,t){t.__esModule=!0,t.transformPlain=function(e,t){var n=e.cstNode;return fe.createPlain(t.transformRange({origStart:n.valueRange.origStart,origEnd:he.findLastCharIndex(t.text,n.valueRange.origEnd-1,/\S/)+1}),t.transformContent(e),n.strValue)}})),de=r((function(e,t){t.__esModule=!0,t.createQuoteDouble=function(e){return u.__assign(u.__assign({},e),{type:"quoteDouble"})}})),ge=r((function(e,t){t.__esModule=!0,t.createQuoteValue=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("quoteValue",e)),t),_.createCommentAttachable()),{value:n})}})),me=r((function(e,t){t.__esModule=!0,t.transformAstQuoteValue=function(e,t){var n=e.cstNode;return ge.createQuoteValue(t.transformRange(n.valueRange),t.transformContent(e),n.strValue)}})),ye=r((function(e,t){t.__esModule=!0,t.transformQuoteDouble=function(e,t){return de.createQuoteDouble(me.transformAstQuoteValue(e,t))}})),ve=r((function(e,t){t.__esModule=!0,t.createQuoteSingle=function(e){return u.__assign(u.__assign({},e),{type:"quoteSingle"})}})),_e=r((function(e,t){t.__esModule=!0,t.transformQuoteSingle=function(e,t){return ve.createQuoteSingle(me.transformAstQuoteValue(e,t))}})),we=r((function(e,t){t.__esModule=!0,t.createSequence=function(e,t,n){return u.__assign(u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("sequence",e)),y.createLeadingCommentAttachable()),F.createEndCommentAttachable()),t),{children:n})}})),Ee=r((function(e,t){t.__esModule=!0,t.createSequenceItem=function(e,t){return u.__assign(u.__assign(u.__assign(u.__assign({},d.createNode("sequenceItem",e)),_.createCommentAttachable()),F.createEndCommentAttachable()),{children:t?[t]:[]})}})),Se=r((function(e,t){t.__esModule=!0,t.transformSeq=function(e,t){var n=z.extractComments(e.cstNode.items,t).map((function(n,r){B.extractPropComments(n,t);var o=t.transformNode(e.items[r]);return Ee.createSequenceItem(U.createPosition(t.transformOffset(n.valueRange.origStart),null===o?t.transformOffset(n.valueRange.origStart+1):o.position.end),o)}));return we.createSequence(U.createPosition(n[0].position.start,W.getLast(n).position.end),t.transformContent(e),n)}})),be=r((function(e,t){t.__esModule=!0,t.transformNode=function(e,t){if(null===e||void 0===e.type&&null===e.value)return null;switch(e.type){case"ALIAS":return E.transformAlias(e,t);case"BLOCK_FOLDED":return x.transformBlockFolded(e,t);case"BLOCK_LITERAL":return R.transformBlockLiteral(e,t);case"COMMENT":return I.transformComment(e,t);case"DIRECTIVE":return Y.transformDirective(e,t);case"DOCUMENT":return J.transformDocument(e,t);case"FLOW_MAP":return oe.transformFlowMap(e,t);case"FLOW_SEQ":return ae.transformFlowSeq(e,t);case"MAP":return le.transformMap(e,t);case"PLAIN":return pe.transformPlain(e,t);case"QUOTE_DOUBLE":return ye.transformQuoteDouble(e,t);case"QUOTE_SINGLE":return _e.transformQuoteSingle(e,t);case"SEQ":return Se.transformSeq(e,t);default:throw new Error("Unexpected node type "+e.type)}}})),Ae=r((function(e,t){t.__esModule=!0,t.createError=function(e,t,n){var r=new SyntaxError(e);return r.name="YAMLSyntaxError",r.source=t,r.position=n,r}})),Me=r((function(e,t){t.__esModule=!0,t.transformError=function(e,t){var n=e.source.range||e.source.valueRange;return Ae.createError(e.message,t.text,t.transformRange(n))}})),Oe=r((function(e,t){t.__esModule=!0,t.createPoint=function(e,t,n){return{offset:e,line:t,column:n}}})),Le=r((function(e,t){t.__esModule=!0,t.transformOffset=function(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);var n=t.locator.locationForIndex(e);return Oe.createPoint(e,n.line+1,n.column+1)}})),Ne=r((function(e,t){t.__esModule=!0,t.transformRange=function(e,t){return U.createPosition(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))}})),Te=r((function(e,t){t.__esModule=!0;var n=!0;function r(e,t){if(e&&"object"==typeof e&&t(e)!==n)for(var o=0,s=Object.keys(e);oe.offset}t.__esModule=!0,t.updatePositions=function e(t){if(null!==t&&"children"in t){var c=t.children;if(c.forEach(e),"document"===t.type){var u=t.children,l=u[0],f=u[1];l.position.start.offset===l.position.end.offset?l.position.start=l.position.end=f.position.start:f.position.start.offset===f.position.end.offset&&(f.position.start=f.position.end=l.position.end)}var h=xe.createUpdater(t.position,n,r,i),p=xe.createUpdater(t.position,o,s,a);"endComments"in t&&0!==t.endComments.length&&(h(t.endComments[0].position.start),p(W.getLast(t.endComments).position.end));var d=c.filter((function(e){return null!==e}));if(0!==d.length){var g=d[0],m=W.getLast(d);h(g.position.start),p(m.position.end),"leadingComments"in g&&0!==g.leadingComments.length&&h(g.leadingComments[0].position.start),"tag"in g&&g.tag&&h(g.tag.position.start),"anchor"in g&&g.anchor&&h(g.anchor.position.start),"trailingComment"in m&&m.trailingComment&&p(m.trailingComment.position.end)}}}}));const Re={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},Ie={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"};function ke(e){const t=[0];let n=e.indexOf("\n");for(;-1!==n;)n+=1,t.push(n),n=e.indexOf("\n",n);return t}function Be(e){let t,n;return"string"==typeof e?(t=ke(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=ke(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function Ye(e,t){if("number"!=typeof e||e<0)return null;const{lineStarts:n,src:r}=Be(t);if(!n||!r||e>r.length)return null;for(let t=0;t=1)||e>n.length)return null;const o=n[e-1];let s=n[e];for(;s&&s>o&&"\n"===r[s-1];)--s;return r.slice(o,s)}(e.line,n);if(!o)return null;let{col:s}=e;if(o.length>r)if(s<=r-10)o=o.substr(0,r-1)+"\u2026";else{const e=Math.round(r/2);o.length>s+e&&(o=o.substr(0,s+e-1)+"\u2026"),s-=o.length-r,o="\u2026"+o.substr(1-r)}let i=1,a="";t&&(t.line===e.line&&s+(t.col-e.col)<=r+1?i=t.col-e.col:(i=Math.min(o.length+1,r)-s,a="\u2026"));const c=s>1?" ".repeat(s-1):"",u="^".repeat(i);return"".concat(o,"\n").concat(c).concat(u).concat(a)}class Ue{static copy(e){return new Ue(e.start,e.end)}constructor(e,t){this.start=e,this.end=t||e}isEmpty(){return"number"!=typeof this.start||!this.end||this.end<=this.start}setOrigRange(e,t){const{start:n,end:r}=this;if(0===e.length||r<=e[0])return this.origStart=n,this.origEnd=r,t;let o=t;for(;on);)++o;this.origStart=n+o;const s=o;for(;o=r);)++o;return this.origEnd=r+o,s}}class Fe{static addStringTerminator(e,t,n){if("\n"===n[n.length-1])return n;const r=Fe.endOfWhiteSpace(e,t);return r>=e.length||"\n"===e[r]?n+"\n":n}static atDocumentBoundary(e,t,n){const r=e[t];if(!r)return!0;const o=e[t-1];if(o&&"\n"!==o)return!1;if(n){if(r!==n)return!1}else if(r!==Re.DIRECTIVES_END&&r!==Re.DOCUMENT_END)return!1;const s=e[t+1],i=e[t+2];if(s!==r||i!==r)return!1;const a=e[t+3];return!a||"\n"===a||"\t"===a||" "===a}static endOfIdentifier(e,t){let n=e[t];const r="<"===n,o=r?["\n","\t"," ",">"]:["\n","\t"," ","[","]","{","}",","];for(;n&&-1===o.indexOf(n);)n=e[t+=1];return r&&">"===n&&(t+=1),t}static endOfIndent(e,t){let n=e[t];for(;" "===n;)n=e[t+=1];return t}static endOfLine(e,t){let n=e[t];for(;n&&"\n"!==n;)n=e[t+=1];return t}static endOfWhiteSpace(e,t){let n=e[t];for(;"\t"===n||" "===n;)n=e[t+=1];return t}static startOfLine(e,t){let n=e[t-1];if("\n"===n)return t;for(;n&&"\n"!==n;)n=e[t-=1];return t+1}static endOfBlockIndent(e,t,n){const r=Fe.endOfIndent(e,n);if(r>n+t)return r;{const t=Fe.endOfWhiteSpace(e,r),n=e[t];if(!n||"\n"===n)return t}return null}static atBlank(e,t,n){const r=e[t];return"\n"===r||"\t"===r||" "===r||n&&!r}static nextNodeIsIndented(e,t,n){return!(!e||t<0)&&(t>0||n&&"-"===e)}static normalizeOffset(e,t){const n=e[t];return n?"\n"!==n&&"\n"===e[t-1]?t-1:Fe.endOfWhiteSpace(e,t):t}static foldNewline(e,t,n){let r=0,o=!1,s="",i=e[t+1];for(;" "===i||"\t"===i||"\n"===i;){switch(i){case"\n":r=0,t+=1,s+="\n";break;case"\t":r<=n&&(o=!0),t=Fe.endOfWhiteSpace(e,t+2)-1;break;case" ":r+=1,t+=1}i=e[t+1]}return s||(s=" "),i&&r<=n&&(o=!0),{fold:s,offset:t,error:o}}constructor(e,t,n){Object.defineProperty(this,"context",{value:n||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=e,this.value=null}getPropValue(e,t,n){if(!this.context)return null;const{src:r}=this.context,o=this.props[e];return o&&r[o.start]===t?r.slice(o.start+(n?1:0),o.end):null}get anchor(){for(let e=0;e0?e.join("\n"):null}commentHasRequiredWhitespace(e){const{src:t}=this.context;if(this.header&&e===this.header.end)return!1;if(!this.valueRange)return!1;const{end:n}=this.valueRange;return e!==n||Fe.atBlank(t,n-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let t=0;tn.setOrigRange(e,t))),t}toString(){const{context:{src:e},range:t,value:n}=this;if(null!=n)return n;const r=e.slice(t.start,t.end);return Fe.addStringTerminator(e,t.end,r)}}class je extends Error{constructor(e,t,n){if(!(n&&t instanceof Fe))throw new Error("Invalid arguments for new ".concat(e));super(),this.name=e,this.message=n,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if("number"==typeof this.offset){this.range=new Ue(this.offset,this.offset+1);const t=e&&Ye(this.offset,e);if(t){const e={line:t.line,col:t.col+1};this.linePos={start:t,end:e}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:t,col:n}=this.linePos.start;this.message+=" at line ".concat(t,", column ").concat(n);const r=e&&De(this.linePos,e);r&&(this.message+=":\n\n".concat(r,"\n"))}delete this.source}}class We extends je{constructor(e,t){super("YAMLSemanticError",e,t)}}class Qe extends Fe{static endOfLine(e,t,n){let r=e[t],o=t;for(;r&&"\n"!==r&&(!n||"["!==r&&"]"!==r&&"{"!==r&&"}"!==r&&","!==r);){const t=e[o+1];if(":"===r&&(!t||"\n"===t||"\t"===t||" "===t||n&&","===t))break;if((" "===r||"\t"===r)&&"#"===t)break;o+=1,r=t}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{src:n}=this.context;let r=n[t-1];for(;es?n.slice(s,r+1):e)}else o+=e}const s=n[e];switch(s){case"\t":return{errors:[new We(this,"Plain value cannot start with a tab character")],str:o};case"@":case"`":{const e="Plain value cannot start with reserved character ".concat(s);return{errors:[new We(this,e)],str:o}}default:return o}}parseBlockValue(e){const{indent:t,inFlow:n,src:r}=this.context;let o=e,s=e;for(let e=r[o];"\n"===e&&!Fe.atDocumentBoundary(r,o+1);e=r[o]){const e=Fe.endOfBlockIndent(r,t,o+1);if(null===e||"#"===r[e])break;"\n"===r[e]?o=e:(s=Qe.endOfLine(r,e,n),o=s)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=s,s}parse(e,t){this.context=e;const{inFlow:n,src:r}=e;let o=t;const s=r[o];return s&&"#"!==s&&"\n"!==s&&(o=Qe.endOfLine(r,t,n)),this.valueRange=new Ue(t,o),o=Fe.endOfWhiteSpace(r,o),o=this.parseComment(o),this.hasComment&&!this.valueRange.isEmpty()||(o=this.parseBlockValue(o)),o}}var Ve={Char:Re,Node:Fe,PlainValue:Qe,Range:Ue,Type:Ie,YAMLError:je,YAMLReferenceError:class extends je{constructor(e,t){super("YAMLReferenceError",e,t)}},YAMLSemanticError:We,YAMLSyntaxError:class extends je{constructor(e,t){super("YAMLSyntaxError",e,t)}},YAMLWarning:class extends je{constructor(e,t){super("YAMLWarning",e,t)}},_defineProperty:function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},defaultTagPrefix:"tag:yaml.org,2002:",defaultTags:{MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"}};class Ke extends Ve.Node{constructor(){super(Ve.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,t){return this.context=e,this.range=new Ve.Range(t,t+1),t+1}}class qe extends Ve.Node{constructor(e,t){super(e,t),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{atLineStart:o,lineStart:s}=e;o||this.type!==Ve.Type.SEQ_ITEM||(this.error=new Ve.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));const i=o?t-s:e.indent;let a=Ve.Node.endOfWhiteSpace(r,t+1),c=r[a];const u="#"===c,l=[];let f=null;for(;"\n"===c||"#"===c;){if("#"===c){const e=Ve.Node.endOfLine(r,a+1);l.push(new Ve.Range(a,e)),a=e}else{o=!0,s=a+1;"\n"===r[Ve.Node.endOfWhiteSpace(r,s)]&&0===l.length&&(f=new Ke,s=f.parse({src:r},s)),a=Ve.Node.endOfIndent(r,s)}c=r[a]}if(Ve.Node.nextNodeIsIndented(c,a-(s+i),this.type!==Ve.Type.SEQ_ITEM)?this.node=n({atLineStart:o,inCollection:!1,indent:i,lineStart:s,parent:this},a):c&&s>t+1&&(a=s-1),this.node){if(f){const t=e.parent.items||e.parent.contents;t&&t.push(f)}l.length&&Array.prototype.push.apply(this.props,l),a=this.node.range.end}else if(u){const e=l[0];this.props.push(e),a=e.end}else a=Ve.Node.endOfLine(r,t+1);const h=this.node?this.node.valueRange.end:a;return this.valueRange=new Ve.Range(t,h),a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.node?this.node.setOrigRanges(e,t):t}toString(){const{context:{src:e},node:t,range:n,value:r}=this;if(null!=r)return r;const o=t?e.slice(n.start,t.range.start)+String(t):e.slice(n.start,n.end);return Ve.Node.addStringTerminator(e,n.end,o)}}class Je extends Ve.Node{constructor(){super(Ve.Type.COMMENT)}parse(e,t){this.context=e;const n=this.parseComment(t);return this.range=new Ve.Range(t,n),n}}function $e(e){let t=e;for(;t instanceof qe;)t=t.node;if(!(t instanceof Ge))return null;const n=t.items.length;let r=-1;for(let e=n-1;e>=0;--e){const n=t.items[e];if(n.type===Ve.Type.COMMENT){const{indent:t,lineStart:o}=n.context;if(t>0&&n.range.start>=o+t)break;r=e}else{if(n.type!==Ve.Type.BLANK_LINE)break;r=e}}if(-1===r)return null;const o=t.items.splice(r,n-r),s=o[0].range.start;for(;t.range.end=s,t.valueRange&&t.valueRange.end>s&&(t.valueRange.end=s),t!==e;)t=t.context.parent;return o}class Ge extends Ve.Node{static nextContentHasIndent(e,t,n){const r=Ve.Node.endOfLine(e,t)+1,o=e[t=Ve.Node.endOfWhiteSpace(e,r)];return!!o&&(t>=r+n||("#"===o||"\n"===o)&&Ge.nextContentHasIndent(e,t,n))}constructor(e){super(e.type===Ve.Type.SEQ_ITEM?Ve.Type.SEQ:Ve.Type.MAP);for(let t=e.props.length-1;t>=0;--t)if(e.props[t].start0}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let o=Ve.Node.startOfLine(r,t);const s=this.items[0];s.context.parent=this,this.valueRange=Ve.Range.copy(s.valueRange);const i=s.range.start-s.context.lineStart;let a=t;a=Ve.Node.normalizeOffset(r,a);let c=r[a],u=Ve.Node.endOfWhiteSpace(r,o)===a,l=!1;for(;c;){for(;"\n"===c||"#"===c;){if(u&&"\n"===c&&!l){const e=new Ke;if(a=e.parse({src:r},a),this.valueRange.end=a,a>=r.length){c=null;break}this.items.push(e),a-=1}else if("#"===c){if(a=r.length){c=null;break}}if(o=a+1,a=Ve.Node.endOfIndent(r,o),Ve.Node.atBlank(r,a)){const e=Ve.Node.endOfWhiteSpace(r,a),t=r[e];t&&"\n"!==t&&"#"!==t||(a=e)}c=r[a],u=!0}if(!c)break;if(a!==o+i&&(u||":"!==c)){if(at&&(a=o);break}if(!this.error){const e="All collection items must start at the same column";this.error=new Ve.YAMLSyntaxError(this,e)}}if(s.type===Ve.Type.SEQ_ITEM){if("-"!==c){o>t&&(a=o);break}}else if("-"===c&&!this.error){const e=r[a+1];if(!e||"\n"===e||"\t"===e||" "===e){const e="A collection cannot be both a mapping and a sequence";this.error=new Ve.YAMLSyntaxError(this,e)}}const e=n({atLineStart:u,inCollection:!0,indent:i,lineStart:o,parent:this},a);if(!e)return a;if(this.items.push(e),this.valueRange.end=e.valueRange.end,a=Ve.Node.normalizeOffset(r,e.range.end),c=r[a],u=!1,l=e.includesTrailingLines,c){let e=a-1,t=r[e];for(;" "===t||"\t"===t;)t=r[--e];"\n"===t&&(o=e+1,u=!0)}const f=$e(e);f&&Array.prototype.push.apply(this.items,f)}return a}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.items.forEach((n=>{t=n.setOrigRanges(e,t)})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;let o=e.slice(n.start,t[0].range.start)+String(t[0]);for(let e=1;e0&&(this.contents=this.directives,this.directives=[]),o}return t[o]?(this.directivesEndMarker=new Ve.Range(o,o+3),o+3):(r?this.error=new Ve.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:t,src:n}=this.context;this.contents||(this.contents=[]);let r=e;for(;"-"===n[r-1];)r-=1;let o=Ve.Node.endOfWhiteSpace(n,e),s=r===e;for(this.valueRange=new Ve.Range(o);!Ve.Node.atDocumentBoundary(n,o,Ve.Char.DOCUMENT_END);){switch(n[o]){case"\n":if(s){const e=new Ke;o=e.parse({src:n},o),o{t=n.setOrigRanges(e,t)})),this.directivesEndMarker&&(t=this.directivesEndMarker.setOrigRange(e,t)),this.contents.forEach((n=>{t=n.setOrigRanges(e,t)})),this.documentEndMarker&&(t=this.documentEndMarker.setOrigRange(e,t)),t}toString(){const{contents:e,directives:t,value:n}=this;if(null!=n)return n;let r=t.join("");return e.length>0&&((t.length>0||e[0].type===Ve.Type.COMMENT)&&(r+="---\n"),r+=e.join("")),"\n"!==r[r.length-1]&&(r+="\n"),r}}class Ze extends Ve.Node{parse(e,t){this.context=e;const{src:n}=e;let r=Ve.Node.endOfIdentifier(n,t+1);return this.valueRange=new Ve.Range(t+1,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}const Xe="CLIP",et="KEEP",tt="STRIP";class nt extends Ve.Node{constructor(e,t){super(e,t),this.blockIndent=null,this.chomping=Xe,this.header=null}get includesTrailingLines(){return this.chomping===et}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:t}=this.valueRange;const{indent:n,src:r}=this.context;if(this.valueRange.isEmpty())return"";let o=null,s=r[t-1];for(;"\n"===s||"\t"===s||" "===s;){if(t-=1,t<=e){if(this.chomping===et)break;return""}"\n"===s&&(o=t),s=r[t-1]}let i=t+1;o&&(this.chomping===et?(i=o,t=this.valueRange.end):t=o);const a=n+this.blockIndent,c=this.type===Ve.Type.BLOCK_FOLDED;let u=!0,l="",f="",h=!1;for(let n=e;ni&&(i=c);o="\n"===n[e]?e:s=Ve.Node.endOfLine(n,e)}return this.chomping!==et&&(o=n[s]?s+1:s),this.valueRange=new Ve.Range(e+1,o),o}parse(e,t){this.context=e;const{src:n}=e;let r=this.parseBlockHeader(t);return r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r=this.parseBlockValue(r),r}setOrigRanges(e,t){return t=super.setOrigRanges(e,t),this.header?this.header.setOrigRange(e,t):t}}class rt extends Ve.Node{constructor(e,t){super(e,t),this.items=null}prevNodeIsJsonLike(e=this.items.length){const t=this.items[e-1];return!!t&&(t.jsonLike||t.type===Ve.Type.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,t){this.context=e;const{parseNode:n,src:r}=e;let{indent:o,lineStart:s}=e,i=r[t];this.items=[{char:i,offset:t}];let a=Ve.Node.endOfWhiteSpace(r,t+1);for(i=r[a];i&&"]"!==i&&"}"!==i;){switch(i){case"\n":s=a+1;if("\n"===r[Ve.Node.endOfWhiteSpace(r,s)]){const e=new Ke;s=e.parse({src:r},s),this.items.push(e)}if(a=Ve.Node.endOfIndent(r,s),a<=s+o&&(i=r[a],a{if(n instanceof Ve.Node)t=n.setOrigRanges(e,t);else if(0===e.length)n.origOffset=n.offset;else{let r=t;for(;rn.offset);)++r;n.origOffset=n.offset+r,t=r}})),t}toString(){const{context:{src:e},items:t,range:n,value:r}=this;if(null!=r)return r;const o=t.filter((e=>e instanceof Ve.Node));let s="",i=n.start;return o.forEach((t=>{const n=e.slice(i,t.range.start);i=t.range.end,s+=n+String(t),"\n"===s[s.length-1]&&"\n"!==e[i-1]&&"\n"===e[i]&&(i+=1)})),s+=e.slice(i,n.end),Ve.Node.addStringTerminator(e,n.end,s)}}class ot extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n&&'"'!==n;)n=e[t+="\\"===n?2:1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;'"'!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,'Missing closing "quote'));let s="";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parseCharCode(e,t,n){const{src:r}=this.context,o=r.substr(e,t),s=o.length===t&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(s)?(n.push(new Ve.YAMLSyntaxError(this,"Invalid escape sequence ".concat(r.substr(e-2,t+2)))),r.substr(e-2,t+2)):String.fromCodePoint(s)}parse(e,t){this.context=e;const{src:n}=e;let r=ot.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class st extends Ve.Node{static endOfQuote(e,t){let n=e[t];for(;n;)if("'"===n){if("'"!==e[t+1])break;n=e[t+=2]}else n=e[t+=1];return t+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:t,end:n}=this.valueRange,{indent:r,src:o}=this.context;"'"!==o[n-1]&&e.push(new Ve.YAMLSyntaxError(this,"Missing closing 'quote"));let s="";for(let i=t+1;ie?o.slice(e,i+1):t)}else s+=t}return e.length>0?{errors:e,str:s}:s}parse(e,t){this.context=e;const{src:n}=e;let r=st.endOfQuote(n,t+1);return this.valueRange=new Ve.Range(t,r),r=Ve.Node.endOfWhiteSpace(n,r),r=this.parseComment(r),r}}class it{static parseType(e,t,n){switch(e[t]){case"*":return Ve.Type.ALIAS;case">":return Ve.Type.BLOCK_FOLDED;case"|":return Ve.Type.BLOCK_LITERAL;case"{":return Ve.Type.FLOW_MAP;case"[":return Ve.Type.FLOW_SEQ;case"?":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_KEY:Ve.Type.PLAIN;case":":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.MAP_VALUE:Ve.Type.PLAIN;case"-":return!n&&Ve.Node.atBlank(e,t+1,!0)?Ve.Type.SEQ_ITEM:Ve.Type.PLAIN;case'"':return Ve.Type.QUOTE_DOUBLE;case"'":return Ve.Type.QUOTE_SINGLE;default:return Ve.Type.PLAIN}}constructor(e={},{atLineStart:t,inCollection:n,inFlow:r,indent:o,lineStart:s,parent:i}={}){Ve._defineProperty(this,"parseNode",((e,t)=>{if(Ve.Node.atDocumentBoundary(this.src,t))return null;const n=new it(this,e),{props:r,type:o,valueStart:s}=n.parseProps(t),i=function(e,t){switch(e){case Ve.Type.ALIAS:return new Ze(e,t);case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return new nt(e,t);case Ve.Type.FLOW_MAP:case Ve.Type.FLOW_SEQ:return new rt(e,t);case Ve.Type.MAP_KEY:case Ve.Type.MAP_VALUE:case Ve.Type.SEQ_ITEM:return new qe(e,t);case Ve.Type.COMMENT:case Ve.Type.PLAIN:return new Ve.PlainValue(e,t);case Ve.Type.QUOTE_DOUBLE:return new ot(e,t);case Ve.Type.QUOTE_SINGLE:return new st(e,t);default:return null}}(o,r);let a=i.parse(n,s);if(i.range=new Ve.Range(t,a),a<=t&&(i.error=new Error("Node#parse consumed no characters"),i.error.parseEnd=a,i.error.source=i,i.range.end=t+1),n.nodeStartsCollection(i)){i.error||n.atLineStart||n.parent.type!==Ve.Type.DOCUMENT||(i.error=new Ve.YAMLSyntaxError(i,"Block collection must not have preceding content here (e.g. directives-end indicator)"));const e=new Ge(i);return a=e.parse(new it(n),a),e.range=new Ve.Range(t,a),e}return i})),this.atLineStart=null!=t?t:e.atLineStart||!1,this.inCollection=null!=n?n:e.inCollection||!1,this.inFlow=null!=r?r:e.inFlow||!1,this.indent=null!=o?o:e.indent,this.lineStart=null!=s?s:e.lineStart,this.parent=null!=i?i:e.parent||{},this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:t,inFlow:n,src:r}=this;if(t||n)return!1;if(e instanceof qe)return!0;let o=e.range.end;return"\n"!==r[o]&&"\n"!==r[o-1]&&(o=Ve.Node.endOfWhiteSpace(r,o),":"===r[o])}parseProps(e){const{inFlow:t,parent:n,src:r}=this,o=[];let s=!1,i=r[e=this.atLineStart?Ve.Node.endOfIndent(r,e):Ve.Node.endOfWhiteSpace(r,e)];for(;i===Ve.Char.ANCHOR||i===Ve.Char.COMMENT||i===Ve.Char.TAG||"\n"===i;){if("\n"===i){const t=e+1,o=Ve.Node.endOfIndent(r,t),i=o-(t+this.indent),a=n.type===Ve.Type.SEQ_ITEM&&n.context.atLineStart;if(!Ve.Node.nextNodeIsIndented(r[o],i,!a))break;this.atLineStart=!0,this.lineStart=t,s=!1,e=o}else if(i===Ve.Char.COMMENT){const t=Ve.Node.endOfLine(r,e+1);o.push(new Ve.Range(e,t)),e=t}else{let t=Ve.Node.endOfIdentifier(r,e+1);i===Ve.Char.TAG&&","===r[t]&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(r.slice(e+1,t+13))&&(t=Ve.Node.endOfIdentifier(r,t+5)),o.push(new Ve.Range(e,t)),s=!0,e=Ve.Node.endOfWhiteSpace(r,t)}i=r[e]}s&&":"===i&&Ve.Node.atBlank(r,e+1,!0)&&(e-=1);return{props:o,type:it.parseType(r,e,t),valueStart:e}}}var at={parse:function(e){const t=[];-1!==e.indexOf("\r")&&(e=e.replace(/\r\n?/g,((e,n)=>(e.length>1&&t.push(n),"\n"))));const n=[];let r=0;do{const t=new ze,o=new it({src:e});r=t.parse(o,r),n.push(t)}while(r{if(0===t.length)return!1;for(let e=1;en.join("...\n"),n}};function ct(e,t,n){return n?-1===n.indexOf("\n")?"".concat(e," #").concat(n):"".concat(e,"\n")+n.replace(/^/gm,"".concat(t||"","#")):e}class ut{}function lt(e,t,n){if(Array.isArray(e))return e.map(((e,t)=>lt(e,String(t),n)));if(e&&"function"==typeof e.toJSON){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=e=>{r.res=e,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return n&&n.keep||"bigint"!=typeof e?e:Number(e)}class ft extends ut{constructor(e){super(),this.value=e}toJSON(e,t){return t&&t.keep?this.value:lt(this.value,e,t)}toString(){return String(this.value)}}function ht(e,t,n){let r=n;for(let e=t.length-1;e>=0;--e){const n=t[e],o=Number.isInteger(n)&&n>=0?[]:{};o[n]=r,r=o}return e.createNode(r,!1)}const pt=e=>null==e||"object"==typeof e&&e[Symbol.iterator]().next().done;class dt extends ut{constructor(e){super(),Ve._defineProperty(this,"items",[]),this.schema=e}addIn(e,t){if(pt(e))this.add(t);else{const[n,...r]=e,o=this.get(n,!0);if(o instanceof dt)o.addIn(r,t);else{if(void 0!==o||!this.schema)throw new Error("Expected YAML collection at ".concat(n,". Remaining path: ").concat(r));this.set(n,ht(this.schema,r,t))}}}deleteIn([e,...t]){if(0===t.length)return this.delete(e);const n=this.get(e,!0);if(n instanceof dt)return n.deleteIn(t);throw new Error("Expected YAML collection at ".concat(e,". Remaining path: ").concat(t))}getIn([e,...t],n){const r=this.get(e,!0);return 0===t.length?!n&&r instanceof ft?r.value:r:r instanceof dt?r.getIn(t,n):void 0}hasAllNullValues(){return this.items.every((e=>{if(!e||"PAIR"!==e.type)return!1;const t=e.value;return null==t||t instanceof ft&&null==t.value&&!t.commentBefore&&!t.comment&&!t.tag}))}hasIn([e,...t]){if(0===t.length)return this.has(e);const n=this.get(e,!0);return n instanceof dt&&n.hasIn(t)}setIn([e,...t],n){if(0===t.length)this.set(e,n);else{const r=this.get(e,!0);if(r instanceof dt)r.setIn(t,n);else{if(void 0!==r||!this.schema)throw new Error("Expected YAML collection at ".concat(e,". Remaining path: ").concat(t));this.set(e,ht(this.schema,t,n))}}}toJSON(){return null}toString(e,{blockItem:t,flowChars:n,isMap:r,itemIndent:o},s,i){const{indent:a,indentStep:c,stringify:u}=e,l=this.type===Ve.Type.FLOW_MAP||this.type===Ve.Type.FLOW_SEQ||e.inFlow;l&&(o+=c);const f=r&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:f,indent:o,inFlow:l,type:null});let h=!1,p=!1;const d=this.items.reduce(((t,n,r)=>{let s;n&&(!h&&n.spaceBefore&&t.push({type:"comment",str:""}),n.commentBefore&&n.commentBefore.match(/^.*$/gm).forEach((e=>{t.push({type:"comment",str:"#".concat(e)})})),n.comment&&(s=n.comment),l&&(!h&&n.spaceBefore||n.commentBefore||n.comment||n.key&&(n.key.commentBefore||n.key.comment)||n.value&&(n.value.commentBefore||n.value.comment))&&(p=!0)),h=!1;let i=u(n,e,(()=>s=null),(()=>h=!0));return l&&!p&&i.includes("\n")&&(p=!0),l&&re.str));if(p||r.reduce(((e,t)=>e+t.length+2),2)>dt.maxFlowStringSingleLineLength){g=e;for(const e of r)g+=e?"\n".concat(c).concat(a).concat(e):"\n";g+="\n".concat(a).concat(t)}else g="".concat(e," ").concat(r.join(" ")," ").concat(t)}else{const e=d.map(t);g=e.shift();for(const t of e)g+=t?"\n".concat(a).concat(t):"\n"}return this.comment?(g+="\n"+this.comment.replace(/^/gm,"".concat(a,"#")),s&&s()):h&&i&&i(),g}}function gt(e){let t=e instanceof ft?e.value:e;return t&&"string"==typeof t&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}Ve._defineProperty(dt,"maxFlowStringSingleLineLength",60);class mt extends dt{add(e){this.items.push(e)}delete(e){const t=gt(e);if("number"!=typeof t)return!1;return this.items.splice(t,1).length>0}get(e,t){const n=gt(e);if("number"!=typeof n)return;const r=this.items[n];return!t&&r instanceof ft?r.value:r}has(e){const t=gt(e);return"number"==typeof t&&t"comment"===e.type?e.str:"- ".concat(e.str),flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(e.indent||"")+" "},t,n):JSON.stringify(this)}}class yt extends ut{constructor(e,t=null){super(),this.key=e,this.value=t,this.type=yt.Type.PAIR}get commentBefore(){return this.key instanceof ut?this.key.commentBefore:void 0}set commentBefore(e){if(null==this.key&&(this.key=new ft(null)),!(this.key instanceof ut)){throw new Error("Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.")}this.key.commentBefore=e}addToJSMap(e,t){const n=lt(this.key,"",e);if(t instanceof Map){const r=lt(this.value,n,e);t.set(n,r)}else if(t instanceof Set)t.add(n);else{const r=((e,t,n)=>null===t?"":"object"!=typeof t?String(t):e instanceof ut&&n&&n.doc?e.toString({anchors:{},doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t))(this.key,n,e);t[r]=lt(this.value,r,e)}return t}toJSON(e,t){const n=t&&t.mapAsMap?new Map:{};return this.addToJSMap(t,n)}toString(e,t,n){if(!e||!e.doc)return JSON.stringify(this);const{indent:r,indentSeq:o,simpleKeys:s}=e.doc.options;let{key:i,value:a}=this,c=i instanceof ut&&i.comment;if(s){if(c)throw new Error("With simple keys, key nodes cannot have comments");if(i instanceof dt){throw new Error("With simple keys, collection cannot be used as a key value")}}const u=!s&&(!i||c||i instanceof dt||i.type===Ve.Type.BLOCK_FOLDED||i.type===Ve.Type.BLOCK_LITERAL),{doc:l,indent:f,indentStep:h,stringify:p}=e;e=Object.assign({},e,{implicitKey:!u,indent:f+h});let d=!1,g=p(i,e,(()=>c=null),(()=>d=!0));if(g=ct(g,e.indent,c),e.allNullValues&&!s)return this.comment?(g=ct(g,e.indent,this.comment),t&&t()):d&&!c&&n&&n(),e.inFlow?g:"? ".concat(g);g=u?"? ".concat(g,"\n").concat(f,":"):"".concat(g,":"),this.comment&&(g=ct(g,e.indent,this.comment),t&&t());let m="",y=null;if(a instanceof ut){if(a.spaceBefore&&(m="\n"),a.commentBefore){const t=a.commentBefore.replace(/^/gm,"".concat(e.indent,"#"));m+="\n".concat(t)}y=a.comment}else a&&"object"==typeof a&&(a=l.schema.createNode(a,!0));e.implicitKey=!1,!u&&!this.comment&&a instanceof ft&&(e.indentAtStart=g.length+1),d=!1,!o&&r>=2&&!e.inFlow&&!u&&a instanceof mt&&a.type!==Ve.Type.FLOW_SEQ&&!a.tag&&!l.anchors.getName(a)&&(e.indent=e.indent.substr(2));const v=p(a,e,(()=>y=null),(()=>d=!0));let _=" ";if(m||this.comment)_="".concat(m,"\n").concat(e.indent);else if(!u&&a instanceof dt){("["===v[0]||"{"===v[0])&&!v.includes("\n")||(_="\n".concat(e.indent))}return d&&!y&&n&&n(),ct(g+_+v,e.indent,y)}}Ve._defineProperty(yt,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const vt=(e,t)=>{if(e instanceof _t){const n=t.get(e.source);return n.count*n.aliasCount}if(e instanceof dt){let n=0;for(const r of e.items){const e=vt(r,t);e>n&&(n=e)}return n}if(e instanceof yt){const n=vt(e.key,t),r=vt(e.value,t);return Math.max(n,r)}return 1};class _t extends ut{static stringify({range:e,source:t},{anchors:n,doc:r,implicitKey:o,inStringifyKey:s}){let i=Object.keys(n).find((e=>n[e]===t));if(!i&&s&&(i=r.anchors.getName(t)||r.anchors.newName()),i)return"*".concat(i).concat(o?" ":"");const a=r.anchors.getName(t)?"Alias node must be after source node":"Source node not found for alias node";throw new Error("".concat(a," [").concat(e,"]"))}constructor(e){super(),this.source=e,this.type=Ve.Type.ALIAS}set tag(e){throw new Error("Alias nodes cannot have tags")}toJSON(e,t){if(!t)return lt(this.source,e,t);const{anchors:n,maxAliasCount:r}=t,o=n.get(this.source);if(!o||void 0===o.res){const e="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}if(r>=0&&(o.count+=1,0===o.aliasCount&&(o.aliasCount=vt(this.source,n)),o.count*o.aliasCount>r)){const e="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new Ve.YAMLReferenceError(this.cstNode,e):new ReferenceError(e)}return o.res}toString(e){return _t.stringify(this,e)}}function wt(e,t){const n=t instanceof ft?t.value:t;for(const r of e)if(r instanceof yt){if(r.key===t||r.key===n)return r;if(r.key&&r.key.value===n)return r}}Ve._defineProperty(_t,"default",!0);class Et extends dt{add(e,t){e?e instanceof yt||(e=new yt(e.key||e,e.value)):e=new yt(e);const n=wt(this.items,e.key),r=this.schema&&this.schema.sortMapEntries;if(n){if(!t)throw new Error("Key ".concat(e.key," already set"));n.value=e.value}else if(r){const t=this.items.findIndex((t=>r(e,t)<0));-1===t?this.items.push(e):this.items.splice(t,0,e)}else this.items.push(e)}delete(e){const t=wt(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){const n=wt(this.items,e),r=n&&n.value;return!t&&r instanceof ft?r.value:r}has(e){return!!wt(this.items,e)}set(e,t){this.add(new yt(e,t),!0)}toJSON(e,t,n){const r=n?new n:t&&t.mapAsMap?new Map:{};t&&t.onCreate&&t.onCreate(r);for(const e of this.items)e.addToJSMap(t,r);return r}toString(e,t,n){if(!e)return JSON.stringify(this);for(const e of this.items)if(!(e instanceof yt))throw new Error("Map items must all be pairs; found ".concat(JSON.stringify(e)," instead"));return super.toString(e,{blockItem:e=>e.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},t,n)}}class St extends yt{constructor(e){if(e instanceof yt){let t=e.value;t instanceof mt||(t=new mt,t.items.push(e.value),t.range=e.value.range),super(e.key,t),this.range=e.range}else super(new ft("<<"),new mt);this.type=yt.Type.MERGE_PAIR}addToJSMap(e,t){for(const{source:n}of this.value.items){if(!(n instanceof Et))throw new Error("Merge sources must be maps");const r=n.toJSON(null,e,Map);for(const[e,n]of r)t instanceof Map?t.has(e)||t.set(e,n):t instanceof Set?t.add(e):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=n)}return t}toString(e,t){const n=this.value;if(n.items.length>1)return super.toString(e,t);this.value=n.items[0];const r=super.toString(e,t);return this.value=n,r}}const bt={defaultType:Ve.Type.BLOCK_LITERAL,lineWidth:76},At={defaultType:Ve.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function Mt(e,t,n){for(const{format:n,test:r,resolve:o}of t)if(r){const t=e.match(r);if(t){let e=o.apply(null,t);return e instanceof ft||(e=new ft(e)),n&&(e.format=n),e}}return n&&(e=n(e)),new ft(e)}const Ot=(e,t)=>{let n=e[t+1];for(;" "===n||"\t"===n;){do{n=e[t+=1]}while(n&&"\n"!==n);n=e[t+1]}return t};function Lt(e,t,n,{indentAtStart:r,lineWidth:o=80,minContentWidth:s=20,onFold:i,onOverflow:a}){if(!o||o<0)return e;const c=Math.max(1+s,1+o-t.length);if(e.length<=c)return e;const u=[],l={};let f,h=o-("number"==typeof r?r:t.length),p=void 0,d=void 0,g=!1,m=-1;for("block"===n&&(m=Ot(e,m),-1!==m&&(h=m+c));f=e[m+=1];){if("quoted"===n&&"\\"===f)switch(e[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}if("\n"===f)"block"===n&&(m=Ot(e,m)),h=m+c,p=void 0;else{if(" "===f&&d&&" "!==d&&"\n"!==d&&"\t"!==d){const t=e[m+1];t&&" "!==t&&"\n"!==t&&"\t"!==t&&(p=m)}if(m>=h)if(p)u.push(p),h=p+c,p=void 0;else if("quoted"===n){for(;" "===d||"\t"===d;)d=f,f=e[m+=1],g=!0;u.push(m-2),l[m-2]=!0,h=m-2+c,p=void 0}else g=!0}d=f}if(g&&a&&a(),0===u.length)return e;i&&i();let y=e.slice(0,u[0]);for(let r=0;re?Object.assign({indentAtStart:e},At.fold):At.fold,Tt=e=>/^(%|---|\.\.\.)/m.test(e);function Ct(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=At.doubleQuoted,s=JSON.stringify(e);if(r)return s;const i=t.indent||(Tt(e)?" ":"");let a="",c=0;for(let e=0,t=s[e];t;t=s[++e])if(" "===t&&"\\"===s[e+1]&&"n"===s[e+2]&&(a+=s.slice(c,e)+"\\ ",e+=1,c=e,t="\\"),"\\"===t)switch(s[e+1]){case"u":{a+=s.slice(c,e);const t=s.substr(e+2,4);switch(t){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:"00"===t.substr(0,2)?a+="\\x"+t.substr(2):a+=s.substr(e,6)}e+=5,c=e+1}break;case"n":if(n||'"'===s[e+2]||s.lengtht)return!0;if(o=r+1,n-o<=t)return!1}return!0}(n,At.fold.lineWidth-i.length));let u=c?"|":">";if(!n)return u+"\n";let l="",f="";if(n=n.replace(/[\n\t ]*$/,(e=>{const t=e.indexOf("\n");return-1===t?u+="-":n!==e&&t===e.length-1||(u+="+",s&&s()),f=e.replace(/\n$/,""),""})).replace(/^[\n ]*/,(e=>{-1!==e.indexOf(" ")&&(u+=a);const t=e.match(/ +$/);return t?(l=e.slice(0,-t[0].length),t[0]):(l=e,"")})),f&&(f=f.replace(/\n+(?!\n|$)/g,"$&".concat(i))),l&&(l=l.replace(/\n+/g,"$&".concat(i))),e&&(u+=" #"+e.replace(/ ?[\r\n]+/g," "),o&&o()),!n)return"".concat(u).concat(a,"\n").concat(i).concat(f);if(c)return n=n.replace(/\n+/g,"$&".concat(i)),"".concat(u,"\n").concat(i).concat(l).concat(n).concat(f);n=n.replace(/\n+/g,"\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,"$&".concat(i));const h=Lt("".concat(l).concat(n).concat(f),i,"block",At.fold);return"".concat(u,"\n").concat(i).concat(h)}function Rt(e,t){let n,r,o;switch(t.type){case Ve.Type.FLOW_MAP:n="}",r="flow map";break;case Ve.Type.FLOW_SEQ:n="]",r="flow sequence";break;default:return void e.push(new Ve.YAMLSemanticError(t,"Not a flow collection!?"))}for(let e=t.items.length-1;e>=0;--e){const n=t.items[e];if(!n||n.type!==Ve.Type.COMMENT){o=n;break}}if(o&&o.char!==n){const s="Expected ".concat(r," to end with ").concat(n);let i;"number"==typeof o.offset?(i=new Ve.YAMLSemanticError(t,s),i.offset=o.offset+1):(i=new Ve.YAMLSemanticError(o,s),o.range&&o.range.end&&(i.offset=o.range.end-o.range.start)),e.push(i)}}function It(e,t){const n=t.context.src[t.range.start-1];if("\n"!==n&&"\t"!==n&&" "!==n){const n="Comments must be separated from other tokens by white space characters";e.push(new Ve.YAMLSemanticError(t,n))}}function kt(e,t){const n=String(t),r=n.substr(0,8)+"..."+n.substr(-8);return new Ve.YAMLSemanticError(e,'The "'.concat(r,'" key is too long'))}function Bt(e,t){for(const{afterKey:n,before:r,comment:o}of t){let t=e.items[r];t?(n&&t.value&&(t=t.value),void 0===o?!n&&t.commentBefore||(t.spaceBefore=!0):t.commentBefore?t.commentBefore+="\n"+o:t.commentBefore=o):void 0!==o&&(e.comment?e.comment+="\n"+o:e.comment=o)}}function Yt(e,t){const n=t.strValue;return n?"string"==typeof n?n:(n.errors.forEach((n=>{n.source||(n.source=t),e.errors.push(n)})),n.str):""}function Dt(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:r,suffix:s,verbatim:i}=n;if(i){if("!"!==i&&"!!"!==i)return i;const n="Verbatim tags aren't resolved, so ".concat(i," is invalid.");e.errors.push(new Ve.YAMLSemanticError(t,n))}else if("!"!==r||s)try{return function(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find((e=>e.handle===n));if(!o){const r=e.getDefaults().tagPrefixes;if(r&&(o=r.find((e=>e.handle===n))),!o)throw new Ve.YAMLSemanticError(t,"The ".concat(n," tag handle is non-default and was not declared."))}if(!r)throw new Ve.YAMLSemanticError(t,"The ".concat(n," tag has no suffix."));if("!"===n&&"1.0"===(e.version||e.options.version)){if("^"===r[0])return e.warnings.push(new Ve.YAMLWarning(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){const e=r.match(/^([a-z0-9-]+)\/(.*)/i);return e?"tag:".concat(e[1],".yaml.org,2002:").concat(e[2]):"tag:".concat(r)}}return o.prefix+decodeURIComponent(r)}(e,t)}catch(t){e.errors.push(t)}else o=!0}switch(r){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:case Ve.Type.QUOTE_DOUBLE:case Ve.Type.QUOTE_SINGLE:return Ve.defaultTags.STR;case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;case Ve.Type.PLAIN:return o?Ve.defaultTags.STR:null;default:return null}}function Ut(e,t,n){const{tags:r}=e.schema,o=[];for(const s of r)if(s.tag===n){if(!s.test){const n=s.resolve(e,t);return n instanceof dt?n:new ft(n)}o.push(s)}const s=Yt(e,t);return"string"==typeof s&&o.length>0?Mt(s,o,r.scalarFallback):null}function Ft(e,t,n){try{const r=Ut(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(n){return n.source||(n.source=t),e.errors.push(n),null}try{const r=function({type:e}){switch(e){case Ve.Type.FLOW_MAP:case Ve.Type.MAP:return Ve.defaultTags.MAP;case Ve.Type.FLOW_SEQ:case Ve.Type.SEQ:return Ve.defaultTags.SEQ;default:return Ve.defaultTags.STR}}(t);if(!r)throw new Error("The tag ".concat(n," is unavailable"));const o="The tag ".concat(n," is unavailable, falling back to ").concat(r);e.warnings.push(new Ve.YAMLWarning(t,o));const s=Ut(e,t,r);return s.tag=n,s}catch(n){const r=new Ve.YAMLReferenceError(t,n.message);return r.stack=n.stack,e.errors.push(r),null}}function jt(e,t){const n={before:[],after:[]};let r=!1,o=!1;const s=(e=>{if(!e)return!1;const{type:t}=e;return t===Ve.Type.MAP_KEY||t===Ve.Type.MAP_VALUE||t===Ve.Type.SEQ_ITEM})(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:i,end:a}of s)switch(t.context.src[i]){case Ve.Char.COMMENT:{if(!t.commentHasRequiredWhitespace(i)){const n="Comments must be separated from other tokens by white space characters";e.push(new Ve.YAMLSemanticError(t,n))}const{header:r,valueRange:o}=t;(o&&(i>o.start||r&&i>r.start)?n.after:n.before).push(t.context.src.slice(i+1,a));break}case Ve.Char.ANCHOR:if(r){const n="A node can have at most one anchor";e.push(new Ve.YAMLSemanticError(t,n))}r=!0;break;case Ve.Char.TAG:if(o){const n="A node can have at most one tag";e.push(new Ve.YAMLSemanticError(t,n))}o=!0}return{comments:n,hasAnchor:r,hasTag:o}}function Wt(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=jt(e.errors,t);if(r){const{anchors:n}=e,r=t.anchor,o=n.getNode(r);o&&(n.map[n.newName(r)]=o),n.map[r]=t}if(t.type===Ve.Type.ALIAS&&(r||o)){const n="An alias node must not specify any properties";e.errors.push(new Ve.YAMLSemanticError(t,n))}const s=function(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===Ve.Type.ALIAS){const e=t.rawValue,o=n.getNode(e);if(!o){const n="Aliased anchor not found: ".concat(e);return r.push(new Ve.YAMLReferenceError(t,n)),null}const s=new _t(o);return n._cstAliases.push(s),s}const s=Dt(e,t);if(s)return Ft(e,t,s);if(t.type!==Ve.Type.PLAIN){const e="Failed to resolve ".concat(t.type," node here");return r.push(new Ve.YAMLSyntaxError(t,e)),null}try{return Mt(Yt(e,t),o.tags,o.tags.scalarFallback)}catch(e){return e.source||(e.source=t),r.push(e),null}}(e,t);if(s){s.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(s.cstNode=t),e.options.keepNodeTypes&&(s.type=t.type);const r=n.before.join("\n");r&&(s.commentBefore=s.commentBefore?"".concat(s.commentBefore,"\n").concat(r):r);const o=n.after.join("\n");o&&(s.comment=s.comment?"".concat(s.comment,"\n").concat(o):o)}return t.resolved=s}function Qt(e,t){if(!(({context:{lineStart:e,node:t,src:n},props:r})=>{if(0===r.length)return!1;const{start:o}=r[0];if(t&&o>t.valueRange.start)return!1;if(n[o]!==Ve.Char.COMMENT)return!1;for(let t=e;t0){n=new Ve.PlainValue(Ve.Type.PLAIN,[]),n.context={parent:a,src:a.context.src};const e=a.range.start+1;if(n.range={start:e,end:e},n.valueRange={start:e,end:e},"number"==typeof a.range.origStart){const e=a.range.origStart+1;n.range.origStart=n.range.origEnd=e,n.valueRange.origStart=n.valueRange.origEnd=e}}const i=new yt(o,Wt(e,n));Qt(a,i),r.push(i),o&&"number"==typeof s&&a.range.start>s+1024&&e.errors.push(kt(t,o)),o=void 0,s=null}break;default:void 0!==o&&r.push(new yt(o)),o=Wt(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(let n=i+1;;++n){const r=t.items[n];switch(r&&r.type){case Ve.Type.BLANK_LINE:case Ve.Type.COMMENT:continue e;case Ve.Type.MAP_VALUE:break e;default:{const t="Implicit map keys need to be followed by map values";e.errors.push(new Ve.YAMLSemanticError(a,t));break e}}}if(a.valueRangeContainsNewline){const t="Implicit map keys need to be on a single line";e.errors.push(new Ve.YAMLSemanticError(a,t))}}}void 0!==o&&r.push(new yt(o));return{comments:n,items:r}}(e,t),o=new Et;o.items=r,Bt(o,n);let s=!1;for(let n=0;n{if(e instanceof _t){const{type:t}=e.source;return t!==Ve.Type.MAP&&t!==Ve.Type.FLOW_MAP&&(s="Merge nodes aliases can only point to maps")}return s="Merge nodes can only have Alias nodes as values"})),s&&e.errors.push(new Ve.YAMLSemanticError(t,s))}else for(let s=n+1;si+1024&&e.errors.push(kt(t,s));const{src:r}=c.context;for(let t=i;te instanceof yt&&e.key instanceof dt))){const n="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new Ve.YAMLWarning(t,n))}return t.resolved=o,o},resolveString:Yt,strOptions:At,stringifyNumber:function({format:e,minFractionDigits:t,tag:n,value:r}){if("bigint"==typeof r)return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let o=JSON.stringify(r);if(!e&&t&&(!n||"tag:yaml.org,2002:float"===n)&&/^\d/.test(o)){let e=o.indexOf(".");e<0&&(e=o.length,o+=".");let n=t-(o.length-e-1);for(;n-- >0;)o+="0"}return o},stringifyString:function(e,t,n,r){const{defaultType:o}=At,{implicitKey:s,inFlow:i}=t;let{type:a,value:c}=e;"string"!=typeof c&&(c=String(c),e=Object.assign({},e,{value:c}));const u=o=>{switch(o){case Ve.Type.BLOCK_FOLDED:case Ve.Type.BLOCK_LITERAL:return Pt(e,t,n,r);case Ve.Type.QUOTE_DOUBLE:return Ct(c,t);case Ve.Type.QUOTE_SINGLE:return xt(c,t);case Ve.Type.PLAIN:return function(e,t,n,r){const{comment:o,type:s,value:i}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\n[\]{},]/.test(i)||l&&/[[\]{},]/.test(i))return Ct(i,t);if(!i||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return c||l||-1===i.indexOf("\n")?-1!==i.indexOf('"')&&-1===i.indexOf("'")?xt(i,t):Ct(i,t):Pt(e,t,n,r);if(!c&&!l&&s!==Ve.Type.PLAIN&&-1!==i.indexOf("\n"))return Pt(e,t,n,r);if(""===u&&Tt(i))return t.forceBlockIndent=!0,Pt(e,t,n,r);const f=i.replace(/\n+/g,"$&\n".concat(u));if(a){const{tags:e}=t.doc.schema;if("string"!=typeof Mt(f,e,e.scalarFallback).value)return Ct(i,t)}const h=c?f:Lt(f,u,"flow",Nt(t));return!o||l||-1===h.indexOf("\n")&&-1===o.indexOf("\n")?h:(n&&n(),function(e,t,n){if(!n)return e;const r=n.replace(/[\s\S]^/gm,"$&".concat(t,"#"));return"#".concat(r,"\n").concat(t).concat(e)}(h,u,o))}(e,t,n,r);default:return null}};a!==Ve.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)?a=Ve.Type.QUOTE_DOUBLE:!s&&!i||a!==Ve.Type.BLOCK_FOLDED&&a!==Ve.Type.BLOCK_LITERAL||(a=Ve.Type.QUOTE_DOUBLE);let l=u(a);if(null===l&&(l=u(o),null===l))throw new Error("Unsupported default string type ".concat(o));return l},toJSON:lt},Kt="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},qt=[],Jt=[],$t="undefined"!=typeof Uint8Array?Uint8Array:Array,Gt=!1;function Ht(){Gt=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t>18&63]+qt[o>>12&63]+qt[o>>6&63]+qt[63&o]);return s.join("")}function Zt(e){var t;Gt||Ht();for(var n=e.length,r=n%3,o="",s=[],i=16383,a=0,c=n-r;ac?c:a+i));return 1===r?(t=e[n-1],o+=qt[t>>2],o+=qt[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=qt[t>>10],o+=qt[t>>4&63],o+=qt[t<<2&63],o+="="),s.push(o),s.join("")}function Xt(e,t,n,r,o){var s,i,a=8*o-r-1,c=(1<>1,l=-7,f=n?o-1:0,h=n?-1:1,p=e[t+f];for(f+=h,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=256*s+e[t+f],f+=h,l-=8);for(i=s&(1<<-l)-1,s>>=-l,l+=r;l>0;i=256*i+e[t+f],f+=h,l-=8);if(0===s)s=1-u;else{if(s===c)return i?NaN:1/0*(p?-1:1);i+=Math.pow(2,r),s-=u}return(p?-1:1)*i*Math.pow(2,s-r)}function en(e,t,n,r,o,s){var i,a,c,u=8*s-o-1,l=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=l):(i=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-i))<1&&(i--,c*=2),(t+=i+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(i++,c/=2),i+f>=l?(a=0,i=l):i+f>=1?(a=(t*c-1)*Math.pow(2,o),i+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+p]=255&a,p+=d,a/=256,o-=8);for(i=i<0;e[n+p]=255&i,p+=d,i/=256,u-=8);e[n+p-d]|=128*g}var tn={}.toString,nn=Array.isArray||function(e){return"[object Array]"==tn.call(e)};function rn(){return sn.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function on(e,t){if(rn()=rn())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+rn().toString(16)+" bytes");return 0|e}function hn(e){return!(null==e||!e._isBuffer)}function pn(e,t){if(hn(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Un(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Fn(e).length;default:if(r)return Un(e).length;t=(""+t).toLowerCase(),r=!0}}function dn(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Nn(this,t,n);case"utf8":case"utf-8":return Mn(this,t,n);case"ascii":return On(this,t,n);case"latin1":case"binary":return Ln(this,t,n);case"base64":return An(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Tn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function gn(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function mn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=sn.from(t,r)),hn(t))return 0===t.length?-1:yn(e,t,n,r,o);if("number"==typeof t)return t&=255,sn.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):yn(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function yn(e,t,n,r,o){var s,i=1,a=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,a/=2,c/=2,n/=2}function u(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var l=-1;for(s=n;sa&&(n=a-c),s=n;s>=0;s--){for(var f=!0,h=0;ho&&(r=o):r=o;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var i=0;i>8,o=n%256,s.push(o),s.push(r);return s}(t,e.length-n),e,n,r)}function An(e,t,n){return 0===t&&n===e.length?Zt(e):Zt(e.slice(t,n))}function Mn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:u>223?3:u>191?2:1;if(o+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(s=e[o+1]))&&(c=(31&u)<<6|63&s)>127&&(l=c);break;case 3:s=e[o+1],i=e[o+2],128==(192&s)&&128==(192&i)&&(c=(15&u)<<12|(63&s)<<6|63&i)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:s=e[o+1],i=e[o+2],a=e[o+3],128==(192&s)&&128==(192&i)&&128==(192&a)&&(c=(15&u)<<18|(63&s)<<12|(63&i)<<6|63&a)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},sn.prototype.compare=function(e,t,n,r,o){if(!hn(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),a=Math.min(s,i),c=this.slice(r,o),u=e.slice(t,n),l=0;lo)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return vn(this,e,t,n);case"utf8":case"utf-8":return _n(this,e,t,n);case"ascii":return wn(this,e,t,n);case"latin1":case"binary":return En(this,e,t,n);case"base64":return Sn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return bn(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},sn.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function On(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",s=t;sn)throw new RangeError("Trying to access beyond buffer length")}function xn(e,t,n,r,o,s){if(!hn(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function Pn(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,s=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function Rn(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,s=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function In(e,t,n,r,o,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function kn(e,t,n,r,o){return o||In(e,0,n,4),en(e,t,n,r,23,4),n+4}function Bn(e,t,n,r,o){return o||In(e,0,n,8),en(e,t,n,r,52,8),n+8}sn.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},sn.prototype.readUInt8=function(e,t){return t||Cn(e,1,this.length),this[e]},sn.prototype.readUInt16LE=function(e,t){return t||Cn(e,2,this.length),this[e]|this[e+1]<<8},sn.prototype.readUInt16BE=function(e,t){return t||Cn(e,2,this.length),this[e]<<8|this[e+1]},sn.prototype.readUInt32LE=function(e,t){return t||Cn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},sn.prototype.readUInt32BE=function(e,t){return t||Cn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},sn.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Cn(e,t,this.length);for(var r=this[e],o=1,s=0;++s=(o*=128)&&(r-=Math.pow(2,8*t)),r},sn.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Cn(e,t,this.length);for(var r=t,o=1,s=this[e+--r];r>0&&(o*=256);)s+=this[e+--r]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*t)),s},sn.prototype.readInt8=function(e,t){return t||Cn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},sn.prototype.readInt16LE=function(e,t){t||Cn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},sn.prototype.readInt16BE=function(e,t){t||Cn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},sn.prototype.readInt32LE=function(e,t){return t||Cn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},sn.prototype.readInt32BE=function(e,t){return t||Cn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},sn.prototype.readFloatLE=function(e,t){return t||Cn(e,4,this.length),Xt(this,e,!0,23,4)},sn.prototype.readFloatBE=function(e,t){return t||Cn(e,4,this.length),Xt(this,e,!1,23,4)},sn.prototype.readDoubleLE=function(e,t){return t||Cn(e,8,this.length),Xt(this,e,!0,52,8)},sn.prototype.readDoubleBE=function(e,t){return t||Cn(e,8,this.length),Xt(this,e,!1,52,8)},sn.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||xn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[t]=255&e;++s=0&&(s*=256);)this[t+o]=e/s&255;return t+n},sn.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,255,0),sn.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},sn.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),sn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pn(this,e,t,!0),t+2},sn.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,65535,0),sn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pn(this,e,t,!1),t+2},sn.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),sn.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Rn(this,e,t,!0),t+4},sn.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,4294967295,0),sn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Rn(this,e,t,!1),t+4},sn.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var s=0,i=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},sn.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);xn(this,e,t,n,o-1,-o)}var s=n-1,i=1,a=0;for(this[t+s]=255&e;--s>=0&&(i*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/i>>0)-a&255;return t+n},sn.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,1,127,-128),sn.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},sn.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),sn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Pn(this,e,t,!0),t+2},sn.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,2,32767,-32768),sn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Pn(this,e,t,!1),t+2},sn.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),sn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Rn(this,e,t,!0),t+4},sn.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||xn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),sn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Rn(this,e,t,!1),t+4},sn.prototype.writeFloatLE=function(e,t,n){return kn(this,e,t,!0,n)},sn.prototype.writeFloatBE=function(e,t,n){return kn(this,e,t,!1,n)},sn.prototype.writeDoubleLE=function(e,t,n){return Bn(this,e,t,!0,n)},sn.prototype.writeDoubleBE=function(e,t,n){return Bn(this,e,t,!1,n)},sn.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(s<1e3||!sn.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&s.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&s.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function Fn(e){return function(e){var t,n,r,o,s,i;Gt||Ht();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[a-2]?2:"="===e[a-1]?1:0,i=new $t(3*a/4-s),r=s>0?a-4:a;var c=0;for(t=0,n=0;t>16&255,i[c++]=o>>8&255,i[c++]=255&o;return 2===s?(o=Jt[e.charCodeAt(t)]<<2|Jt[e.charCodeAt(t+1)]>>4,i[c++]=255&o):1===s&&(o=Jt[e.charCodeAt(t)]<<10|Jt[e.charCodeAt(t+1)]<<4|Jt[e.charCodeAt(t+2)]>>2,i[c++]=o>>8&255,i[c++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Yn,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function jn(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function Wn(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function Qn(){throw new Error("setTimeout has not been defined")}function Vn(){throw new Error("clearTimeout has not been defined")}var Kn=Qn,qn=Vn;function Jn(e){if(Kn===setTimeout)return setTimeout(e,0);if((Kn===Qn||!Kn)&&setTimeout)return Kn=setTimeout,setTimeout(e,0);try{return Kn(e,0)}catch(t){try{return Kn.call(null,e,0)}catch(t){return Kn.call(this,e,0)}}}"function"==typeof Kt.setTimeout&&(Kn=setTimeout),"function"==typeof Kt.clearTimeout&&(qn=clearTimeout);var $n,Gn=[],Hn=!1,zn=-1;function Zn(){Hn&&$n&&(Hn=!1,$n.length?Gn=$n.concat(Gn):zn=-1,Gn.length&&Xn())}function Xn(){if(!Hn){var e=Jn(Zn);Hn=!0;for(var t=Gn.length;t;){for($n=Gn,Gn=[];++zn1)for(var n=1;ne instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(e,t)=>{const n=Vt.resolveString(e,t);return sn.from(n,"base64")},options:Vt.binaryOptions,stringify:({comment:e,type:t,value:n},r,o,s)=>{let i;if(i=n instanceof sn?n.toString("base64"):sn.from(n.buffer).toString("base64"),t||(t=Vt.binaryOptions.defaultType),t===Ve.Type.QUOTE_DOUBLE)n=i;else{const{lineWidth:e}=Vt.binaryOptions,r=Math.ceil(i.length/e),o=new Array(r);for(let t=0,n=0;t1){const e="Each pair must have its own sequence indicator";throw new Ve.YAMLSemanticError(t,e)}const e=r.items[0]||new Vt.Pair;r.commentBefore&&(e.commentBefore=e.commentBefore?"".concat(r.commentBefore,"\n").concat(e.commentBefore):r.commentBefore),r.comment&&(e.comment=e.comment?"".concat(r.comment,"\n").concat(e.comment):r.comment),r=e}n.items[e]=r instanceof Vt.Pair?r:new Vt.Pair(r)}}return n}function gr(e,t,n){const r=new Vt.YAMLSeq(e);r.tag="tag:yaml.org,2002:pairs";for(const o of t){let t,s;if(Array.isArray(o)){if(2!==o.length)throw new TypeError("Expected [key, value] tuple: ".concat(o));t=o[0],s=o[1]}else if(o&&o instanceof Object){const e=Object.keys(o);if(1!==e.length)throw new TypeError("Expected { key: value } tuple: ".concat(o));t=e[0],s=o[t]}else t=o;const i=e.createPair(t,s,n);r.items.push(i)}return r}const mr={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:dr,createNode:gr};class yr extends Vt.YAMLSeq{constructor(){super(),Ve._defineProperty(this,"add",Vt.YAMLMap.prototype.add.bind(this)),Ve._defineProperty(this,"delete",Vt.YAMLMap.prototype.delete.bind(this)),Ve._defineProperty(this,"get",Vt.YAMLMap.prototype.get.bind(this)),Ve._defineProperty(this,"has",Vt.YAMLMap.prototype.has.bind(this)),Ve._defineProperty(this,"set",Vt.YAMLMap.prototype.set.bind(this)),this.tag=yr.tag}toJSON(e,t){const n=new Map;t&&t.onCreate&&t.onCreate(n);for(const e of this.items){let r,o;if(e instanceof Vt.Pair?(r=Vt.toJSON(e.key,"",t),o=Vt.toJSON(e.value,r,t)):r=Vt.toJSON(e,"",t),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}}Ve._defineProperty(yr,"tag","tag:yaml.org,2002:omap");const vr={identify:e=>e instanceof Map,nodeClass:yr,default:!1,tag:"tag:yaml.org,2002:omap",resolve:function(e,t){const n=dr(e,t),r=[];for(const{key:e}of n.items)if(e instanceof Vt.Scalar){if(r.includes(e.value)){const e="Ordered maps must not include duplicate keys";throw new Ve.YAMLSemanticError(t,e)}r.push(e.value)}return Object.assign(new yr,n)},createNode:function(e,t,n){const r=gr(e,t,n),o=new yr;return o.items=r.items,o}};class _r extends Vt.YAMLMap{constructor(){super(),this.tag=_r.tag}add(e){const t=e instanceof Vt.Pair?e:new Vt.Pair(e);Vt.findPair(this.items,t.key)||this.items.push(t)}get(e,t){const n=Vt.findPair(this.items,e);return!t&&n instanceof Vt.Pair?n.key instanceof Vt.Scalar?n.key.value:n.key:n}set(e,t){if("boolean"!=typeof t)throw new Error("Expected boolean value for set(key, value) in a YAML set, not ".concat(typeof t));const n=Vt.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new Vt.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,t,n);throw new Error("Set items must all have null values")}}Ve._defineProperty(_r,"tag","tag:yaml.org,2002:set");const wr={identify:e=>e instanceof Set,nodeClass:_r,default:!1,tag:"tag:yaml.org,2002:set",resolve:function(e,t){const n=Vt.resolveMap(e,t);if(!n.hasAllNullValues())throw new Ve.YAMLSemanticError(t,"Set items must all have null values");return Object.assign(new _r,n)},createNode:function(e,t,n){const r=new _r;for(const o of t)r.items.push(e.createPair(o,null,n));return r}},Er=(e,t)=>{const n=t.split(":").reduce(((e,t)=>60*e+Number(t)),0);return"-"===e?-n:n},Sr=({value:e})=>{if(isNaN(e)||!isFinite(e))return Vt.stringifyNumber(e);let t="";e<0&&(t="-",e=Math.abs(e));const n=[e%60];return e<60?n.unshift(0):(e=Math.round((e-n[0])/60),n.unshift(e%60),e>=60&&(e=Math.round((e-n[0])/60),n.unshift(e))),t+n.map((e=>e<10?"0"+String(e):String(e))).join(":").replace(/000000\d*$/,"")},br={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>Er(t,n.replace(/_/g,"")),stringify:Sr},Ar={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(e,t,n)=>Er(t,n.replace(/_/g,"")),stringify:Sr},Mr={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(e,t,n,r,o,s,i,a,c)=>{a&&(a=(a+"00").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,s||0,i||0,a||0);if(c&&"Z"!==c){let e=Er(c[0],c.slice(1));Math.abs(e)<30&&(e*=60),u-=6e4*e}return new Date(u)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function Or(e){const t=void 0!==hr&&hr.env||{};return e?"undefined"!=typeof YAML_SILENCE_DEPRECATION_WARNINGS?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:"undefined"!=typeof YAML_SILENCE_WARNINGS?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function Lr(e,t){if(Or(!1)){const n=void 0!==hr&&hr.emitWarning;n?n(e,t):console.warn(t?"".concat(t,": ").concat(e):e)}}const Nr={};var Tr={binary:pr,floatTime:Ar,intTime:br,omap:vr,pairs:mr,set:wr,timestamp:Mr,warn:Lr,warnFileDeprecation:function(e){if(Or(!0)){const t=e.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");Lr("The endpoint 'yaml/".concat(t,"' will be removed in a future release."),"DeprecationWarning")}},warnOptionDeprecation:function(e,t){if(!Nr[e]&&Or(!0)){Nr[e]=!0;let n="The option '".concat(e,"' will be removed in a future release");n+=t?", use '".concat(t,"' instead."):".",Lr(n,"DeprecationWarning")}}};const Cr={createNode:function(e,t,n){const r=new Vt.YAMLMap(e);if(t instanceof Map)for(const[o,s]of t)r.items.push(e.createPair(o,s,n));else if(t&&"object"==typeof t)for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return"function"==typeof e.sortMapEntries&&r.items.sort(e.sortMapEntries),r},default:!0,nodeClass:Vt.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:Vt.resolveMap};const xr={createNode:function(e,t,n){const r=new Vt.YAMLSeq(e);if(t&&t[Symbol.iterator])for(const o of t){const t=e.createNode(o,n.wrapScalars,null,n);r.items.push(t)}return r},default:!0,nodeClass:Vt.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:Vt.resolveSeq},Pr={identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:Vt.resolveString,stringify:(e,t,n,r)=>(t=Object.assign({actualString:!0},t),Vt.stringifyString(e,t,n,r)),options:Vt.strOptions},Rr=[Cr,xr,Pr],Ir=e=>"bigint"==typeof e||Number.isInteger(e),kr=(e,t,n)=>Vt.intOptions.asBigInt?BigInt(e):parseInt(t,n);function Br(e,t,n){const{value:r}=e;return Ir(r)&&r>=0?n+r.toString(t):Vt.stringifyNumber(e)}const Yr={identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Vt.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Vt.nullOptions,stringify:()=>Vt.nullOptions.nullStr},Dr={identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>"t"===e[0]||"T"===e[0],options:Vt.boolOptions,stringify:({value:e})=>e?Vt.boolOptions.trueStr:Vt.boolOptions.falseStr},Ur={identify:e=>Ir(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(e,t)=>kr(e,t,8),options:Vt.intOptions,stringify:e=>Br(e,8,"0o")},Fr={identify:Ir,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:e=>kr(e,e,10),options:Vt.intOptions,stringify:Vt.stringifyNumber},jr={identify:e=>Ir(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>kr(e,t,16),options:Vt.intOptions,stringify:e=>Br(e,16,"0x")},Wr={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Vt.stringifyNumber},Qr={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()},Vr={identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new Vt.Scalar(parseFloat(e));return r&&"0"===r[r.length-1]&&(o.minFractionDigits=r.length),o},stringify:Vt.stringifyNumber},Kr=Rr.concat([Yr,Dr,Ur,Fr,jr,Wr,Qr,Vr]),qr=e=>"bigint"==typeof e||Number.isInteger(e),Jr=({value:e})=>JSON.stringify(e),$r=[Cr,xr,{identify:e=>"string"==typeof e,default:!0,tag:"tag:yaml.org,2002:str",resolve:Vt.resolveString,stringify:Jr},{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Vt.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Jr},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>"true"===e,stringify:Jr},{identify:qr,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>Vt.intOptions.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>qr(e)?e.toString():JSON.stringify(e)},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Jr}];$r.scalarFallback=e=>{throw new SyntaxError("Unresolved plain scalar ".concat(JSON.stringify(e)))};const Gr=({value:e})=>e?Vt.boolOptions.trueStr:Vt.boolOptions.falseStr,Hr=e=>"bigint"==typeof e||Number.isInteger(e);function zr(e,t,n){let r=t.replace(/_/g,"");if(Vt.intOptions.asBigInt){switch(n){case 2:r="0b".concat(r);break;case 8:r="0o".concat(r);break;case 16:r="0x".concat(r)}const t=BigInt(r);return"-"===e?BigInt(-1)*t:t}const o=parseInt(r,n);return"-"===e?-1*o:o}function Zr(e,t,n){const{value:r}=e;if(Hr(r)){const e=r.toString(t);return r<0?"-"+n+e.substr(1):n+e}return Vt.stringifyNumber(e)}const Xr=Rr.concat([{identify:e=>null==e,createNode:(e,t,n)=>n.wrapScalars?new Vt.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Vt.nullOptions,stringify:()=>Vt.nullOptions.nullStr},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Vt.boolOptions,stringify:Gr},{identify:e=>"boolean"==typeof e,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Vt.boolOptions,stringify:Gr},{identify:Hr,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>zr(t,n,2),stringify:e=>Zr(e,2,"0b")},{identify:Hr,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>zr(t,n,8),stringify:e=>Zr(e,8,"0")},{identify:Hr,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>zr(t,n,10),stringify:Vt.stringifyNumber},{identify:Hr,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>zr(t,n,16),stringify:e=>Zr(e,16,"0x")},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:"-"===e[0]?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Vt.stringifyNumber},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>"number"==typeof e,default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(e,t){const n=new Vt.Scalar(parseFloat(e.replace(/_/g,"")));if(t){const e=t.replace(/_/g,"");"0"===e[e.length-1]&&(n.minFractionDigits=e.length)}return n},stringify:Vt.stringifyNumber}],Tr.binary,Tr.omap,Tr.pairs,Tr.set,Tr.intTime,Tr.floatTime,Tr.timestamp),eo={core:Kr,failsafe:Rr,json:$r,yaml11:Xr},to={binary:Tr.binary,bool:Dr,float:Vr,floatExp:Qr,floatNaN:Wr,floatTime:Tr.floatTime,int:Fr,intHex:jr,intOct:Ur,intTime:Tr.intTime,map:Cr,null:Yr,omap:Tr.omap,pairs:Tr.pairs,seq:xr,set:Tr.set,timestamp:Tr.timestamp};function no(e,t,n){if(e instanceof Vt.Node)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:s,schema:i,wrapScalars:a}=n;t&&t.startsWith("!!")&&(t=r+t.slice(2));let c=function(e,t,n){if(t){const e=n.filter((e=>e.tag===t)),r=e.find((e=>!e.format))||e[0];if(!r)throw new Error("Tag ".concat(t," not found"));return r}return n.find((t=>(t.identify&&t.identify(e)||t.class&&e instanceof t.class)&&!t.format))}(e,t,i.tags);if(!c){if("function"==typeof e.toJSON&&(e=e.toJSON()),"object"!=typeof e)return a?new Vt.Scalar(e):e;c=e instanceof Map?Cr:e[Symbol.iterator]?xr:Cr}o&&(o(c),delete n.onTagObj);const u={};if(e&&"object"==typeof e&&s){const t=s.get(e);if(t){const e=new Vt.Alias(t);return n.aliasNodes.push(e),e}u.value=e,s.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new Vt.Scalar(e):e,t&&u.node instanceof Vt.Node&&(u.node.tag=t),u.node}const ro=(e,t)=>e.keyt.key?1:0;class oo{constructor({customTags:e,merge:t,schema:n,sortMapEntries:r,tags:o}){this.merge=!!t,this.name=n,this.sortMapEntries=!0===r?ro:r||null,!e&&o&&Tr.warnOptionDeprecation("tags","customTags"),this.tags=function(e,t,n,r){let o=e[r.replace(/\W/g,"")];if(!o){const t=Object.keys(e).map((e=>JSON.stringify(e))).join(", ");throw new Error('Unknown schema "'.concat(r,'"; use one of ').concat(t))}if(Array.isArray(n))for(const e of n)o=o.concat(e);else"function"==typeof n&&(o=n(o.slice()));for(let e=0;eJSON.stringify(e))).join(", ");throw new Error('Unknown custom tag "'.concat(n,'"; use one of ').concat(e))}o[e]=r}}return o}(eo,to,e||o,n)}createNode(e,t,n,r){const o={defaultPrefix:oo.defaultPrefix,schema:this,wrapScalars:t};return no(e,n,r?Object.assign(r,o):o)}createPair(e,t,n){n||(n={wrapScalars:!0});const r=this.createNode(e,n.wrapScalars,null,n),o=this.createNode(t,n.wrapScalars,null,n);return new Vt.Pair(r,o)}}Ve._defineProperty(oo,"defaultPrefix",Ve.defaultTagPrefix),Ve._defineProperty(oo,"defaultTags",Ve.defaultTags);var so={Schema:oo};const io={get binary(){return Vt.binaryOptions},set binary(e){Object.assign(Vt.binaryOptions,e)},get bool(){return Vt.boolOptions},set bool(e){Object.assign(Vt.boolOptions,e)},get int(){return Vt.intOptions},set int(e){Object.assign(Vt.intOptions,e)},get null(){return Vt.nullOptions},set null(e){Object.assign(Vt.nullOptions,e)},get str(){return Vt.strOptions},set str(e){Object.assign(Vt.strOptions,e)}},ao={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Ve.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Ve.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Ve.defaultTagPrefix}]}};function co(e,t){if("1.0"===(e.version||e.options.version)){const e=t.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(e)return"!"+e[1];const n=t.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return n?"!".concat(n[1],"/").concat(n[2]):"!".concat(t.replace(/^tag:/,""))}let n=e.tagPrefixes.find((e=>0===t.indexOf(e.prefix)));if(!n){const r=e.getDefaults().tagPrefixes;n=r&&r.find((e=>0===t.indexOf(e.prefix)))}if(!n)return"!"===t[0]?t:"!<".concat(t,">");const r=t.substr(n.prefix.length).replace(/[!,[\]{}]/g,(e=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"}[e])));return n.handle+r}function uo(e,t,n,r){const{anchors:o,schema:s}=t.doc;let i;if(!(e instanceof Vt.Node)){const t={aliasNodes:[],onTagObj:e=>i=e,prevObjects:new Map};e=s.createNode(e,!0,null,t);for(const e of t.aliasNodes){e.source=e.source.node;let t=o.getName(e.source);t||(t=o.newName(),o.map[t]=e.source)}}if(e instanceof Vt.Pair)return e.toString(t,n,r);i||(i=function(e,t){if(t instanceof Vt.Alias)return Vt.Alias;if(t.tag){const n=e.filter((e=>e.tag===t.tag));if(n.length>0)return n.find((e=>e.format===t.format))||n[0]}let n,r;if(t instanceof Vt.Scalar){r=t.value;const o=e.filter((e=>e.identify&&e.identify(r)||e.class&&r instanceof e.class));n=o.find((e=>e.format===t.format))||o.find((e=>!e.format))}else r=t,n=e.find((e=>e.nodeClass&&r instanceof e.nodeClass));if(!n){const e=r&&r.constructor?r.constructor.name:typeof r;throw new Error("Tag not resolved for ".concat(e," value"))}return n}(s.tags,e));const a=function(e,t,{anchors:n,doc:r}){const o=[],s=r.anchors.getName(e);return s&&(n[s]=e,o.push("&".concat(s))),e.tag?o.push(co(r,e.tag)):t.default||o.push(co(r,t.tag)),o.join(" ")}(e,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c="function"==typeof i.stringify?i.stringify(e,t,n,r):e instanceof Vt.Scalar?Vt.stringifyString(e,t,n,r):e.toString(t,n,r);return a?e instanceof Vt.Scalar||"{"===c[0]||"["===c[0]?"".concat(a," ").concat(c):"".concat(a,"\n").concat(t.indent).concat(c):c}class lo{static validAnchorNode(e){return e instanceof Vt.Scalar||e instanceof Vt.YAMLSeq||e instanceof Vt.YAMLMap}constructor(e){Ve._defineProperty(this,"map",{}),this.prefix=e}createAlias(e,t){return this.setAnchor(e,t),new Vt.Alias(e)}createMergePair(...e){const t=new Vt.Merge;return t.value.items=e.map((e=>{if(e instanceof Vt.Alias){if(e.source instanceof Vt.YAMLMap)return e}else if(e instanceof Vt.YAMLMap)return this.createAlias(e);throw new Error("Merge sources must be Map nodes or their Aliases")})),t}getName(e){const{map:t}=this;return Object.keys(t).find((n=>t[n]===e))}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const t=Object.keys(this.map);for(let n=1;;++n){const r="".concat(e).concat(n);if(!t.includes(r))return r}}resolveNodes(){const{map:e,_cstAliases:t}=this;Object.keys(e).forEach((t=>{e[t]=e[t].resolved})),t.forEach((e=>{e.source=e.source.resolved})),delete this._cstAliases}setAnchor(e,t){if(null!=e&&!lo.validAnchorNode(e))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(t&&/[\x00-\x19\s,[\]{}]/.test(t))throw new Error("Anchor names must not contain whitespace or control characters");const{map:n}=this,r=e&&Object.keys(n).find((t=>n[t]===e));if(r){if(!t)return r;r!==t&&(delete n[r],n[t]=e)}else{if(!t){if(!e)return null;t=this.newName()}n[t]=e}return t}}const fo=(e,t)=>{if(e&&"object"==typeof e){const{tag:n}=e;e instanceof Vt.Collection?(n&&(t[n]=!0),e.items.forEach((e=>fo(e,t)))):e instanceof Vt.Pair?(fo(e.key,t),fo(e.value,t)):e instanceof Vt.Scalar&&n&&(t[n]=!0)}return t};function ho({tagPrefixes:e},t){const[n,r]=t.parameters;if(!n||!r){const e="Insufficient parameters given for %TAG directive";throw new Ve.YAMLSemanticError(t,e)}if(e.some((e=>e.handle===n))){const e="The %TAG directive must only be given at most once per handle in the same document.";throw new Ve.YAMLSemanticError(t,e)}return{handle:n,prefix:r}}function po(e,t){let[n]=t.parameters;if("YAML:1.0"===t.name&&(n="1.0"),!n){const e="Insufficient parameters given for %YAML directive";throw new Ve.YAMLSemanticError(t,e)}if(!ao[n]){const r=e.version||e.options.version,o="Document will be parsed as YAML ".concat(r," rather than YAML ").concat(n);e.warnings.push(new Ve.YAMLWarning(t,o))}return n}function go(e){if(e instanceof Vt.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}class mo{constructor(e){this.anchors=new lo(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return go(this.contents),this.contents.add(e)}addIn(e,t){go(this.contents),this.contents.addIn(e,t)}delete(e){return go(this.contents),this.contents.delete(e)}deleteIn(e){return Vt.isEmptyPath(e)?null!=this.contents&&(this.contents=null,!0):(go(this.contents),this.contents.deleteIn(e))}getDefaults(){return mo.defaults[this.version]||mo.defaults[this.options.version]||{}}get(e,t){return this.contents instanceof Vt.Collection?this.contents.get(e,t):void 0}getIn(e,t){return Vt.isEmptyPath(e)?!t&&this.contents instanceof Vt.Scalar?this.contents.value:this.contents:this.contents instanceof Vt.Collection?this.contents.getIn(e,t):void 0}has(e){return this.contents instanceof Vt.Collection&&this.contents.has(e)}hasIn(e){return Vt.isEmptyPath(e)?void 0!==this.contents:this.contents instanceof Vt.Collection&&this.contents.hasIn(e)}set(e,t){go(this.contents),this.contents.set(e,t)}setIn(e,t){Vt.isEmptyPath(e)?this.contents=t:(go(this.contents),this.contents.setIn(e,t))}setSchema(e,t){if(!e&&!t&&this.schema)return;"number"==typeof e&&(e=e.toFixed(1)),"1.0"===e||"1.1"===e||"1.2"===e?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&"string"==typeof e&&(this.options.schema=e),Array.isArray(t)&&(this.options.customTags=t);const n=Object.assign({},this.getDefaults(),this.options);this.schema=new so.Schema(n)}parse(e,t){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type="DOCUMENT");const{directives:n=[],contents:r=[],directivesEndMarker:o,error:s,valueRange:i}=e;if(s&&(s.source||(s.source=this),this.errors.push(s)),function(e,t,n){const r=[];let o=!1;for(const n of t){const{comment:t,name:s}=n;switch(s){case"TAG":try{e.tagPrefixes.push(ho(e,n))}catch(t){e.errors.push(t)}o=!0;break;case"YAML":case"YAML:1.0":if(e.version){const t="The %YAML directive must only be given at most once per document.";e.errors.push(new Ve.YAMLSemanticError(n,t))}try{e.version=po(e,n)}catch(t){e.errors.push(t)}o=!0;break;default:if(s){const t="YAML only supports %TAG and %YAML directives, and not %".concat(s);e.warnings.push(new Ve.YAMLWarning(n,t))}}t&&r.push(t)}if(n&&!o&&"1.1"===(e.version||n.version||e.options.version)){const t=({handle:e,prefix:t})=>({handle:e,prefix:t});e.tagPrefixes=n.tagPrefixes.map(t),e.version=n.version}e.commentBefore=r.join("\n")||null}(this,n,t),o&&(this.directivesEndMarker=!0),this.range=i?[i.start,i.end]:null,this.setSchema(),this.anchors._cstAliases=[],function(e,t){const n={before:[],after:[]};let r=void 0,o=!1;for(const s of t)if(s.valueRange){if(void 0!==r){const t="Document contains trailing content not separated by a ... or --- line";e.errors.push(new Ve.YAMLSyntaxError(s,t));break}const t=Vt.resolveNode(e,s);o&&(t.spaceBefore=!0,o=!1),r=t}else null!==s.comment?(void 0===r?n.before:n.after).push(s.comment):s.type===Ve.Type.BLANK_LINE&&(o=!0,void 0===r&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join("\n"),n.before=[]));if(e.contents=r||null,r){const t=n.before.join("\n");if(t){const e=r instanceof Vt.Collection&&r.items[0]?r.items[0]:r;e.commentBefore=e.commentBefore?"".concat(t,"\n").concat(e.commentBefore):t}e.comment=n.after.join("\n")||null}else e.comment=n.before.concat(n.after).join("\n")||null}(this,r),this.anchors.resolveNodes(),this.options.prettyErrors){for(const e of this.errors)e instanceof Ve.YAMLError&&e.makePretty();for(const e of this.warnings)e instanceof Ve.YAMLError&&e.makePretty()}return this}listNonDefaultTags(){return(e=>Object.keys(fo(e,{})))(this.contents).filter((e=>0!==e.indexOf(so.Schema.defaultPrefix)))}setTagPrefix(e,t){if("!"!==e[0]||"!"!==e[e.length-1])throw new Error("Handle must start and end with !");if(t){const n=this.tagPrefixes.find((t=>t.handle===e));n?n.prefix=t:this.tagPrefixes.push({handle:e,prefix:t})}else this.tagPrefixes=this.tagPrefixes.filter((t=>t.handle!==e))}toJSON(e,t){const{keepBlobsInJSON:n,mapAsMap:r,maxAliasCount:o}=this.options,s=n&&("string"!=typeof e||!(this.contents instanceof Vt.Scalar)),i={doc:this,indentStep:" ",keep:s,mapAsMap:s&&!!r,maxAliasCount:o,stringify:uo},a=Object.keys(this.anchors.map);a.length>0&&(i.anchors=new Map(a.map((e=>[this.anchors.map[e],{alias:[],aliasCount:0,count:1}]))));const c=Vt.toJSON(this.contents,e,i);if("function"==typeof t&&i.anchors)for(const{count:e,res:n}of i.anchors.values())t(n,e);return c}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const t=JSON.stringify(e);throw new Error('"indent" option must be a positive integer, not '.concat(t))}this.setSchema();const t=[];let n=!1;if(this.version){let e="%YAML 1.2";"yaml-1.1"===this.schema.name&&("1.0"===this.version?e="%YAML:1.0":"1.1"===this.version&&(e="%YAML 1.1")),t.push(e),n=!0}const r=this.listNonDefaultTags();this.tagPrefixes.forEach((({handle:e,prefix:o})=>{r.some((e=>0===e.indexOf(o)))&&(t.push("%TAG ".concat(e," ").concat(o)),n=!0)})),(n||this.directivesEndMarker)&&t.push("---"),this.commentBefore&&(!n&&this.directivesEndMarker||t.unshift(""),t.unshift(this.commentBefore.replace(/^/gm,"#")));const o={anchors:{},doc:this,indent:"",indentStep:" ".repeat(e),stringify:uo};let s=!1,i=null;if(this.contents){this.contents instanceof Vt.Node&&(this.contents.spaceBefore&&(n||this.directivesEndMarker)&&t.push(""),this.contents.commentBefore&&t.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,i=this.contents.comment);const e=i?null:()=>s=!0,r=uo(this.contents,o,(()=>i=null),e);t.push(Vt.addComment(r,"",i))}else void 0!==this.contents&&t.push(uo(this.contents,o));return this.comment&&(s&&!i||""===t[t.length-1]||t.push(""),t.push(this.comment.replace(/^/gm,"#"))),t.join("\n")+"\n"}}Ve._defineProperty(mo,"defaults",ao);var yo={Document:mo,defaultOptions:{anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},scalarOptions:io};class vo extends yo.Document{constructor(e){super(Object.assign({},yo.defaultOptions,e))}}function _o(e,t){const n=at.parse(e),r=new vo(t).parse(n[0]);if(n.length>1){const e="Source contains multiple documents; please use YAML.parseAllDocuments()";r.errors.unshift(new Ve.YAMLSemanticError(n[1],e))}return r}var wo={YAML:{createNode:function(e,t=!0,n){void 0===n&&"string"==typeof t&&(n=t,t=!0);const r=Object.assign({},yo.Document.defaults[yo.defaultOptions.version],yo.defaultOptions);return new so.Schema(r).createNode(e,t,n)},defaultOptions:yo.defaultOptions,Document:vo,parse:function(e,t){const n=_o(e,t);if(n.warnings.forEach((e=>Tr.warn(e))),n.errors.length>0)throw n.errors[0];return n.toJSON()},parseAllDocuments:function(e,t){const n=[];let r;for(const o of at.parse(e)){const e=new vo(t);e.parse(o,r),n.push(e),r=e}return n},parseCST:at.parse,parseDocument:_o,scalarOptions:yo.scalarOptions,stringify:function(e,t){const n=new vo(t);return n.contents=e,String(n)}}}.YAML,Eo={Type:Ve.Type,YAMLError:Ve.YAMLError,YAMLReferenceError:Ve.YAMLReferenceError,YAMLSemanticError:Ve.YAMLSemanticError,YAMLSyntaxError:Ve.YAMLSyntaxError,YAMLWarning:Ve.YAMLWarning,findPair:Vt.findPair,parseMap:Vt.resolveMap,parseSeq:Vt.resolveSeq,stringifyNumber:Vt.stringifyNumber,stringifyString:Vt.stringifyString,toJSON:Vt.toJSON},So={findPair:Eo.findPair,toJSON:Eo.toJSON,parseMap:Eo.parseMap,parseSeq:Eo.parseSeq,stringifyNumber:Eo.stringifyNumber,stringifyString:Eo.stringifyString,Type:Eo.Type,YAMLError:Eo.YAMLError,YAMLReferenceError:Eo.YAMLReferenceError,YAMLSemanticError:Eo.YAMLSemanticError,YAMLSyntaxError:Eo.YAMLSyntaxError,YAMLWarning:Eo.YAMLWarning},bo=r((function(e,t){t.__esModule=!0,t.Document=wo.Document;var n=wo;t.parseCST=n.parseCST,t.YAMLError=So.YAMLError,t.YAMLSyntaxError=So.YAMLSyntaxError,t.YAMLSemanticError=So.YAMLSemanticError})),Ao=r((function(e,t){t.__esModule=!0,t.parse=function(e){var t=bo.parseCST(e);Te.addOrigRange(t);for(var n=t.map((function(e){return new bo.Document({merge:!1,keepCstNodes:!0}).parse(e)})),r=[],o={text:e,locator:new l.default(e),comments:r,transformOffset:function(e){return Le.transformOffset(e,o)},transformRange:function(e){return Ne.transformRange(e,o)},transformNode:function(e){return be.transformNode(e,o)},transformContent:function(e){return T.transformContent(e,o)}},s=0,i=n;s=0||(o[n]=e[n]);return o}function t(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var n={name:"prettier",version:"2.2.1",description:"Prettier is an opinionated code formatter",bin:"./bin/prettier.js",repository:"prettier/prettier",homepage:"https://prettier.io",author:"James Long",license:"MIT",main:"./index.js",browser:"./standalone.js",unpkg:"./standalone.js",engines:{node:">=10.13.0"},files:["index.js","standalone.js","src","bin"],dependencies:{"@angular/compiler":"10.2.3","@babel/code-frame":"7.10.4","@babel/parser":"7.12.5","@glimmer/syntax":"0.66.0","@iarna/toml":"2.2.5","@typescript-eslint/typescript-estree":"4.8.1","angular-estree-parser":"2.2.1","angular-html-parser":"1.7.1",camelcase:"6.2.0",chalk:"4.1.0","ci-info":"watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540","cjk-regex":"2.0.0",cosmiconfig:"7.0.0",dashify:"2.0.0",diff:"5.0.0",editorconfig:"0.15.3","editorconfig-to-prettier":"0.2.0","escape-string-regexp":"4.0.0",espree:"7.3.0",esutils:"2.0.3","fast-glob":"3.2.4","fast-json-stable-stringify":"2.1.0","find-parent-dir":"0.3.0","flow-parser":"0.138.0","get-stdin":"8.0.0",globby:"11.0.1",graphql:"15.4.0","html-element-attributes":"2.3.0","html-styles":"1.0.0","html-tag-names":"1.1.5","html-void-elements":"1.0.5",ignore:"4.0.6","jest-docblock":"26.0.0",json5:"2.1.3",leven:"3.1.0","lines-and-columns":"1.1.6","linguist-languages":"7.12.1",lodash:"4.17.20",mem:"8.0.0",meriyah:"3.1.6",minimatch:"3.0.4",minimist:"1.2.5","n-readlines":"1.0.1",outdent:"0.7.1","parse-srcset":"ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee","please-upgrade-node":"3.2.0","postcss-less":"3.1.4","postcss-media-query-parser":"0.2.3","postcss-scss":"2.1.1","postcss-selector-parser":"2.2.3","postcss-values-parser":"2.0.1","regexp-util":"1.2.2","remark-footnotes":"2.0.0","remark-math":"3.0.1","remark-parse":"8.0.3",resolve:"1.19.0",semver:"7.3.2","string-width":"4.2.0",typescript:"4.1.2","unicode-regex":"3.0.0",unified:"9.2.0",vnopts:"1.0.2","yaml-unist-parser":"1.3.1"},devDependencies:{"@babel/core":"7.12.3","@babel/preset-env":"7.12.1","@babel/types":"7.12.6","@glimmer/reference":"0.66.0","@rollup/plugin-alias":"3.1.1","@rollup/plugin-babel":"5.2.1","@rollup/plugin-commonjs":"16.0.0","@rollup/plugin-json":"4.1.0","@rollup/plugin-node-resolve":"10.0.0","@rollup/plugin-replace":"2.3.4","@types/estree":"0.0.45","@types/node":"14.14.0","@typescript-eslint/types":"4.8.1","babel-jest":"26.6.3","babel-loader":"8.2.1",benchmark:"2.1.4","builtin-modules":"3.1.0","cross-env":"7.0.2",cspell:"4.2.2",eslint:"7.13.0","eslint-config-prettier":"6.15.0","eslint-formatter-friendly":"7.0.0","eslint-plugin-import":"2.22.1","eslint-plugin-jest":"24.1.3","eslint-plugin-prettier-internal-rules":"file:scripts/tools/eslint-plugin-prettier-internal-rules","eslint-plugin-react":"7.21.5","eslint-plugin-unicorn":"23.0.0",execa:"4.1.0",jest:"26.6.3","jest-snapshot-serializer-ansi":"1.0.0","jest-snapshot-serializer-raw":"1.1.0","jest-watch-typeahead":"0.6.1","npm-run-all":"4.1.5","path-browserify":"1.0.1",prettier:"2.2.0",rimraf:"3.0.2",rollup:"2.33.3","rollup-plugin-node-globals":"1.4.0","rollup-plugin-terser":"7.0.2",shelljs:"0.8.4","snapshot-diff":"0.8.1","strip-ansi":"6.0.0","synchronous-promise":"2.0.15",tempy:"1.0.0","terser-webpack-plugin":"5.0.3",webpack:"5.5.1"},scripts:{prepublishOnly:'echo "Error: must publish from dist/" && exit 1',"prepare-release":"yarn && yarn build && yarn test:dist",test:"jest","test:dev-package":"cross-env INSTALL_PACKAGE=1 jest","test:dist":"cross-env NODE_ENV=production jest","test:dist-standalone":"cross-env NODE_ENV=production TEST_STANDALONE=1 jest","test:integration":"jest tests_integration","perf:repeat":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:repeat-inspect":"yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:benchmark":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null",lint:"run-p lint:*","lint:typecheck":"tsc","lint:eslint":"cross-env EFF_NO_LINK_RULES=true eslint . --format friendly","lint:changelog":"node ./scripts/lint-changelog.js","lint:prettier":'prettier . "!test*" --check',"lint:dist":'eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2018 "dist/!(bin-prettier|index|third-party).js"',"lint:spellcheck":'cspell "**/*" ".github/**/*"',"lint:deps":"node ./scripts/check-deps.js",fix:"run-s fix:eslint fix:prettier","fix:eslint":"yarn lint:eslint --fix","fix:prettier":"yarn lint:prettier --write",build:"node --max-old-space-size=3072 ./scripts/build/build.js","build-docs":"node ./scripts/build-docs.js"}};function r(){}function o(e,t,n,r,o){for(var u=0,i=t.length,a=0,s=0;ue.length?n:e})),l.value=e.join(p)}else l.value=e.join(n.slice(a,a+l.count));a+=l.count,l.added||(s+=l.count)}}var d=t[i-1];return i>1&&"string"==typeof d.value&&(d.added||d.removed)&&e.equals("",d.value)&&(t[i-2].value+=d.value,t.pop()),t}function u(e){return{newPos:e.newPos,components:e.components.slice(0)}}r.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var i=this;function a(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,l=e.length,c=1,p=s+l,d=[{newPos:-1,components:[]}],f=this.extractCommon(d[0],t,e,0);if(d[0].newPos+1>=s&&f+1>=l)return a([{value:this.join(t),count:t.length}]);function h(){for(var n=-1*c;n<=c;n+=2){var r=void 0,p=d[n-1],f=d[n+1],h=(f?f.newPos:0)-n;p&&(d[n-1]=void 0);var m=p&&p.newPos+1=s&&h+1>=l)return a(o(i,r.components,t,e,i.useLongestToken));d[n]=r}else d[n]=void 0}c++}if(r)!function e(){setTimeout((function(){if(c>p)return r();h()||e()}),0)}();else for(;c<=p;){var m=h();if(m)return m}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var o=t.length,u=n.length,i=e.newPos,a=i-r,s=0;i+1e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],o=[],u=0;function i(){var e={};for(o.push(e);u2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t&&(t=v(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,o,u=e.split(/\r\n|[\n\v\f\r\x85]/),i=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],a=t.hunks,s=n.compareLine||function(e,t,n,r){return t===r},l=0,c=n.fuzzFactor||0,p=0,d=0;function f(e,t){for(var n=0;n0?r[0]:" ",i=r.length>0?r.substr(1):r;if(" "===o||"-"===o){if(!s(t+1,u[t],o,i)&&++l>c)return!1;t++}}return!0}for(var h=0;h0?w[0]:" ",B=w.length>0?w.substr(1):w,N=F.linedelimiters[S];if(" "===T)x++;else if("-"===T)u.splice(x,1),i.splice(x,1);else if("+"===T)u.splice(x,0,B),i.splice(x,0,N),x++;else if("\\"===T){var k=F.lines[S-1]?F.lines[S-1][0]:null;"+"===k?r=!0:"-"===k&&(o=!0)}}}if(r)for(;!u[u.length-1];)u.pop(),i.pop();else o&&(u.push(""),i.push("\n"));for(var P=0;P0?s(d.lines.slice(-i.context)):[],c-=f.length,p-=f.length)}(u=f).push.apply(u,g(o.map((function(e){return(t.added?"+":"-")+e})))),t.added?m+=o.length:h+=o.length}else{if(c)if(o.length<=2*i.context&&e=a.length-2&&o.length<=i.context){var b=/\n$/.test(n),v=/\n$/.test(r),A=0==o.length&&f.length>C.oldLines;!b&&A&&n.length>0&&f.splice(C.oldLines,0,"\\ No newline at end of file"),(b||A)&&v||f.push("\\ No newline at end of file")}l.push(C),c=0,p=0,f=[]}h+=o.length,m+=o.length}},y=0;ye.length)return!1;for(var n=0;n/g,">")).replace(/"/g,""")}b.tokenize=function(e){return e.slice()},b.join=b.removeEmpty=function(e){return e};var J=Object.freeze({__proto__:null,Diff:r,applyPatch:F,applyPatches:function(e,t){"string"==typeof e&&(e=v(e));var n=0;!function r(){var o=e[n++];if(!o)return t.complete();t.loadFile(o,(function(e,n){if(e)return t.complete(e);var u=F(n,o,t);t.patched(o,u,(function(e){if(e)return t.complete(e);r()}))}))}()},canonicalize:C,convertChangesToDMP:function(e){for(var t,n,r=[],o=0;o"):r.removed&&t.push(""),t.push(U(r.value)),r.added?t.push(""):r.removed&&t.push("")}return t.join("")},createPatch:function(e,t,n,r,o,u){return S(e,e,t,n,r,o,u)},createTwoFilesPatch:S,diffArrays:function(e,t,n){return b.diff(e,t,n)},diffChars:function(e,t,n){return i.diff(e,t,n)},diffCss:function(e,t,n){return h.diff(e,t,n)},diffJson:function(e,t,n){return E.diff(e,t,n)},diffLines:d,diffSentences:function(e,t,n){return f.diff(e,t,n)},diffTrimmedLines:function(e,t,n){var r=a(n,{ignoreWhitespace:!0});return p.diff(e,t,r)},diffWords:function(e,t,n){return n=a(n,{ignoreWhitespace:!0}),c.diff(e,t,n)},diffWordsWithSpace:function(e,t,n){return c.diff(e,t,n)},merge:function(e,t,n){e=B(e,n),t=B(t,n);var r={};(e.index||t.index)&&(r.index=e.index||t.index),(e.newFileName||t.newFileName)&&(N(e)?N(t)?(r.oldFileName=k(r,e.oldFileName,t.oldFileName),r.newFileName=k(r,e.newFileName,t.newFileName),r.oldHeader=k(r,e.oldHeader,t.oldHeader),r.newHeader=k(r,e.newHeader,t.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=t.oldFileName||e.oldFileName,r.newFileName=t.newFileName||e.newFileName,r.oldHeader=t.oldHeader||e.oldHeader,r.newHeader=t.newHeader||e.newHeader)),r.hunks=[];for(var o=0,u=0,i=0,a=0;o0){for(let e=0;e"string"==typeof e?e.replace((({onlyFirst:e=!1}={})=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")})(),""):e;const te=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var ne=te,re=te;ne.default=re;const oe=e=>{if("string"!=typeof(e=e.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g," "))||0===e.length)return 0;e=ee(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=ne(r)?2:1))}return t};var ue=oe,ie=oe;ue.default=ie;var ae=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},se=e=>e[e.length-1],le="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function ce(){throw new Error("setTimeout has not been defined")}function pe(){throw new Error("clearTimeout has not been defined")}var de=ce,fe=pe;function he(e){if(de===setTimeout)return setTimeout(e,0);if((de===ce||!de)&&setTimeout)return de=setTimeout,setTimeout(e,0);try{return de(e,0)}catch(t){try{return de.call(null,e,0)}catch(t){return de.call(this,e,0)}}}"function"==typeof le.setTimeout&&(de=setTimeout),"function"==typeof le.clearTimeout&&(fe=clearTimeout);var me,ge=[],De=!1,ye=-1;function Ee(){De&&me&&(De=!1,me.length?ge=me.concat(ge):ye=-1,ge.length&&Ce())}function Ce(){if(!De){var e=he(Ee);De=!0;for(var t=ge.length;t;){for(me=ge,ge=[];++ye1)for(var n=1;nconsole.error("SEMVER",...e):()=>{};var Le={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH:16},Me="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function je(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}function _e(e){return e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Re=je((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Le,r=(t=e.exports={}).re=[],o=t.src=[],u=t.t={};let i=0;const a=(e,t,n)=>{const a=i++;Ie(a,t),u[e]=a,o[a]=t,r[a]=new RegExp(t,n?"g":void 0)};a("NUMERICIDENTIFIER","0|[1-9]\\d*"),a("NUMERICIDENTIFIERLOOSE","[0-9]+"),a("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),a("MAINVERSION","(".concat(o[u.NUMERICIDENTIFIER],")\\.")+"(".concat(o[u.NUMERICIDENTIFIER],")\\.")+"(".concat(o[u.NUMERICIDENTIFIER],")")),a("MAINVERSIONLOOSE","(".concat(o[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[u.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(o[u.NUMERICIDENTIFIERLOOSE],")")),a("PRERELEASEIDENTIFIER","(?:".concat(o[u.NUMERICIDENTIFIER],"|").concat(o[u.NONNUMERICIDENTIFIER],")")),a("PRERELEASEIDENTIFIERLOOSE","(?:".concat(o[u.NUMERICIDENTIFIERLOOSE],"|").concat(o[u.NONNUMERICIDENTIFIER],")")),a("PRERELEASE","(?:-(".concat(o[u.PRERELEASEIDENTIFIER],"(?:\\.").concat(o[u.PRERELEASEIDENTIFIER],")*))")),a("PRERELEASELOOSE","(?:-?(".concat(o[u.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(o[u.PRERELEASEIDENTIFIERLOOSE],")*))")),a("BUILDIDENTIFIER","[0-9A-Za-z-]+"),a("BUILD","(?:\\+(".concat(o[u.BUILDIDENTIFIER],"(?:\\.").concat(o[u.BUILDIDENTIFIER],")*))")),a("FULLPLAIN","v?".concat(o[u.MAINVERSION]).concat(o[u.PRERELEASE],"?").concat(o[u.BUILD],"?")),a("FULL","^".concat(o[u.FULLPLAIN],"$")),a("LOOSEPLAIN","[v=\\s]*".concat(o[u.MAINVERSIONLOOSE]).concat(o[u.PRERELEASELOOSE],"?").concat(o[u.BUILD],"?")),a("LOOSE","^".concat(o[u.LOOSEPLAIN],"$")),a("GTLT","((?:<|>)?=?)"),a("XRANGEIDENTIFIERLOOSE","".concat(o[u.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),a("XRANGEIDENTIFIER","".concat(o[u.NUMERICIDENTIFIER],"|x|X|\\*")),a("XRANGEPLAIN","[v=\\s]*(".concat(o[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[u.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(o[u.XRANGEIDENTIFIER],")")+"(?:".concat(o[u.PRERELEASE],")?").concat(o[u.BUILD],"?")+")?)?"),a("XRANGEPLAINLOOSE","[v=\\s]*(".concat(o[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[u.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(o[u.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(o[u.PRERELEASELOOSE],")?").concat(o[u.BUILD],"?")+")?)?"),a("XRANGE","^".concat(o[u.GTLT],"\\s*").concat(o[u.XRANGEPLAIN],"$")),a("XRANGELOOSE","^".concat(o[u.GTLT],"\\s*").concat(o[u.XRANGEPLAINLOOSE],"$")),a("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),a("COERCERTL",o[u.COERCE],!0),a("LONETILDE","(?:~>?)"),a("TILDETRIM","(\\s*)".concat(o[u.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",a("TILDE","^".concat(o[u.LONETILDE]).concat(o[u.XRANGEPLAIN],"$")),a("TILDELOOSE","^".concat(o[u.LONETILDE]).concat(o[u.XRANGEPLAINLOOSE],"$")),a("LONECARET","(?:\\^)"),a("CARETTRIM","(\\s*)".concat(o[u.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",a("CARET","^".concat(o[u.LONECARET]).concat(o[u.XRANGEPLAIN],"$")),a("CARETLOOSE","^".concat(o[u.LONECARET]).concat(o[u.XRANGEPLAINLOOSE],"$")),a("COMPARATORLOOSE","^".concat(o[u.GTLT],"\\s*(").concat(o[u.LOOSEPLAIN],")$|^$")),a("COMPARATOR","^".concat(o[u.GTLT],"\\s*(").concat(o[u.FULLPLAIN],")$|^$")),a("COMPARATORTRIM","(\\s*)".concat(o[u.GTLT],"\\s*(").concat(o[u.LOOSEPLAIN],"|").concat(o[u.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",a("HYPHENRANGE","^\\s*(".concat(o[u.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(o[u.XRANGEPLAIN],")")+"\\s*$"),a("HYPHENRANGELOOSE","^\\s*(".concat(o[u.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(o[u.XRANGEPLAINLOOSE],")")+"\\s*$"),a("STAR","(<|>)?=?\\s*\\*"),a("GTE0","^\\s*>=\\s*0.0.0\\s*$"),a("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")}));const Ve=/^[0-9]+$/,$e=(e,t)=>{const n=Ve.test(e),r=Ve.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e$e(t,e)};const{MAX_LENGTH:We,MAX_SAFE_INTEGER:Ue}=Le,{re:Je,t:ze}=Re,{compareIdentifiers:Ge}=qe;class He{constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof He){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>We)throw new TypeError("version is longer than ".concat(We," characters"));Ie("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?Je[ze.LOOSE]:Je[ze.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Ue||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Ue||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Ue||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var Xe=He;var Ye=(e,t,n)=>new Xe(e,n).compare(new Xe(t,n));var Ke=(e,t,n)=>Ye(e,t,n)<0;var Qe=(e,t,n)=>Ye(e,t,n)>=0,Ze=je((function(e,t){function n(){for(var e=[],t=0;t"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:"Global",description:it(rt()),exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin-search-dir",cliCategory:"Config"},printWidth:{since:"0.0.0",category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:it(nt()),cliCategory:"Editor"},rangeStart:{since:"1.4.0",category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:it(tt()),cliCategory:"Editor"},requirePragma:{since:"1.7.0",category:"Special",type:"boolean",default:!1,description:it(et()),cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:"Global",type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};const st={compare:Ye,lt:Ke,gte:Qe},lt=n.version,ct={CATEGORY_CONFIG:"Config",CATEGORY_EDITOR:"Editor",CATEGORY_FORMAT:"Format",CATEGORY_OTHER:"Other",CATEGORY_OUTPUT:"Output",CATEGORY_GLOBAL:"Global",CATEGORY_SPECIAL:"Special",options:at}.options;var pt={getSupportInfo:function({plugins:t=[],showUnreleased:n=!1,showDeprecated:r=!1,showInternal:o=!1}={}){const u=lt.split("-",1)[0],i=t.reduce(((e,t)=>e.concat(t.languages||[])),[]).filter(s),a=((e,t)=>Object.entries(e).map((([e,n])=>Object.assign({[t]:e},n))))(Object.assign({},...t.map((({options:e})=>e)),ct),"name").filter((e=>s(e)&&l(e))).sort(((e,t)=>e.name===t.name?0:e.name{e=Object.assign({},e),Array.isArray(e.default)&&(e.default=1===e.default.length?e.default[0].value:e.default.filter(s).sort(((e,t)=>st.compare(t.since,e.since)))[0].value),Array.isArray(e.choices)&&(e.choices=e.choices.filter((e=>s(e)&&l(e))),"parser"===e.name&&function(e,t,n){const r=new Set(e.choices.map((e=>e.value)));for(const o of t)if(o.parsers)for(const t of o.parsers)if(!r.has(t)){r.add(t);const u=n.find((e=>e.parsers&&e.parsers[t]));let i=o.name;u&&u.name&&(i+=" (plugin: ".concat(u.name,")")),e.choices.push({value:t,description:i})}}(e,i,t));const n=t.filter((t=>t.defaultOptions&&void 0!==t.defaultOptions[e.name])).reduce(((t,n)=>(t[n.name]=n.defaultOptions[e.name],t)),{});return Object.assign({},e,{pluginDefaults:n})}));return{languages:i,options:a};function s(e){return n||!("since"in e)||e.since&&st.gte(u,e.since)}function l(e){return r||!("deprecated"in e)||e.deprecated&&st.lt(u,e.deprecated)}}};const{getSupportInfo:dt}=pt,ft=/[^\x20-\x7F]/;function ht(e){return(t,n,r)=>{const o=r&&r.backwards;if(!1===n)return!1;const{length:u}=t;let i=n;for(;i>=0&&i(n.match(i.regex)||[]).length?i.quote:u.quote}return a}function Tt(e,t,n){const r='"'===t?"'":'"',o=e.replace(/\\([\S\s])|(["'])/g,((e,o,u)=>o===r?o:u===t?"\\"+u:u||(n&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(o)?o:"\\"+o)));return t+o+t}function Bt(e,t){(e.comments||(e.comments=[])).push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}var Nt={inferParserByLanguage:function(e,t){const{languages:n}=dt({plugins:t.plugins}),r=n.find((({name:t})=>t.toLowerCase()===e))||n.find((({aliases:t})=>Array.isArray(t)&&t.includes(e)))||n.find((({extensions:t})=>Array.isArray(t)&&t.includes(".".concat(e))));return r&&r.parsers[0]},replaceEndOfLineWith:function(e,t){const n=[];for(const r of e.split("\n"))0!==n.length&&n.push(t),n.push(r);return n},getStringWidth:function(e){return e?ft.test(e)?ue(e):e.length:0},getMaxContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(ae(t),")+"),"g"));return null===n?0:n.reduce(((e,n)=>Math.max(e,n.length/t.length)),0)},getMinNotPresentContinuousCount:function(e,t){const n=e.match(new RegExp("(".concat(ae(t),")+"),"g"));if(null===n)return 0;const r=new Map;let o=0;for(const e of n){const n=e.length/t.length;r.set(n,!0),n>o&&(o=n)}for(let e=1;ee[e.length-2],getLast:se,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ft,getNextNonSpaceNonCommentCharacterIndex:xt,getNextNonSpaceNonCommentCharacter:function(e,t,n){return e.charAt(xt(e,t,n))},skip:ht,skipWhitespace:mt,skipSpaces:gt,skipToLineEnd:Dt,skipEverythingButNewLine:yt,skipInlineComment:Et,skipTrailingComment:Ct,skipNewline:bt,isNextLineEmptyAfterIndex:At,isNextLineEmpty:function(e,t,n){return At(e,n(t))},isPreviousLineEmpty:function(e,t,n){let r=n(t)-1;return r=gt(e,r,{backwards:!0}),r=bt(e,r,{backwards:!0}),r=gt(e,r,{backwards:!0}),r!==bt(e,r,{backwards:!0})},hasNewline:vt,hasNewlineInRange:function(e,t,n){for(let r=t;r=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"},convertEndOfLineToChars:function(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}},countEndOfLineChars:function(e,t){let n;if("\n"===t)n=/\n/g;else if("\r"===t)n=/\r/g;else{if("\r\n"!==t)throw new Error('Unexpected "eol" '.concat(JSON.stringify(t),"."));n=/\r\n/g}const r=e.match(n);return r?r.length:0},normalizeEndOfLine:function(e){return e.replace(/\r\n?/g,"\n")}};const{getStringWidth:Pt}=Nt,{convertEndOfLineToChars:Ot}=kt,{concat:It,fill:Lt,cursor:Mt}=Z;let jt;function _t(e,t){return Vt(e,{type:"indent"},t)}function Rt(e,t,n){if(t===-1/0)return e.root||{value:"",length:0,queue:[]};if(t<0)return Vt(e,{type:"dedent"},n);if(!t)return e;if("root"===t.type)return Object.assign({},e,{root:e});return Vt(e,{type:"string"==typeof t?"stringAlign":"numberAlign",n:t},n)}function Vt(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let o="",u=0,i=0,a=0;for(const e of r)switch(e.type){case"indent":c(),n.useTabs?s(1):l(n.tabWidth);break;case"stringAlign":c(),o+=e.n,u+=e.n.length;break;case"numberAlign":i+=1,a+=e.n;break;default:throw new Error("Unexpected type '".concat(e.type,"'"))}return p(),Object.assign({},e,{value:o,length:u,queue:r});function s(e){o+="\t".repeat(e),u+=n.tabWidth*e}function l(e){o+=" ".repeat(e),u+=e}function c(){n.useTabs?function(){i>0&&s(i);d()}():p()}function p(){a>0&&l(a),d()}function d(){i=0,a=0}}function $t(e){if(0===e.length)return 0;let t=0;for(;e.length>0&&"string"==typeof e[e.length-1]&&e[e.length-1].match(/^[\t ]*$/);)t+=e.pop().length;if(e.length&&"string"==typeof e[e.length-1]){const n=e[e.length-1].replace(/[\t ]*$/,"");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function qt(e,t,n,r,o){let u=t.length;const i=[e],a=[];for(;n>=0;){if(0===i.length){if(0===u)return!0;i.push(t[u-1]),u--;continue}const[e,s,l]=i.pop();if("string"==typeof l)a.push(l),n-=Pt(l);else switch(l.type){case"concat":for(let t=l.parts.length-1;t>=0;t--)i.push([e,s,l.parts[t]]);break;case"indent":i.push([_t(e,r),s,l.contents]);break;case"align":i.push([Rt(e,l.n,r),s,l.contents]);break;case"trim":n+=$t(a);break;case"group":if(o&&l.break)return!1;i.push([e,l.break?1:s,l.contents]),l.id&&(jt[l.id]=i[i.length-1][1]);break;case"fill":for(let t=l.parts.length-1;t>=0;t--)i.push([e,s,l.parts[t]]);break;case"if-break":{const t=l.groupId?jt[l.groupId]:s;1===t&&l.breakContents&&i.push([e,s,l.breakContents]),2===t&&l.flatContents&&i.push([e,s,l.flatContents]);break}case"line":switch(s){case 2:if(!l.hard){l.soft||(a.push(" "),n-=1);break}return!0;case 1:return!0}}}return!1}var Wt={printDocToString:function(e,t){jt={};const n=t.printWidth,r=Ot(t.endOfLine);let o=0;const u=[[{value:"",length:0,queue:[]},1,e]],i=[];let a=!1,s=[];for(;0!==u.length;){const[e,l,c]=u.pop();if("string"==typeof c){const e="\n"!==r&&c.includes("\n")?c.replace(/\n/g,r):c;i.push(e),o+=Pt(e)}else switch(c.type){case"cursor":i.push(Mt.placeholder);break;case"concat":for(let t=c.parts.length-1;t>=0;t--)u.push([e,l,c.parts[t]]);break;case"indent":u.push([_t(e,t),l,c.contents]);break;case"align":u.push([Rt(e,c.n,t),l,c.contents]);break;case"trim":o-=$t(i);break;case"group":switch(l){case 2:if(!a){u.push([e,c.break?1:2,c.contents]);break}case 1:{a=!1;const r=[e,2,c.contents],i=n-o;if(!c.break&&qt(r,u,i,t))u.push(r);else if(c.expandedStates){const n=c.expandedStates[c.expandedStates.length-1];if(c.break){u.push([e,1,n]);break}for(let r=1;r=c.expandedStates.length){u.push([e,1,n]);break}{const n=[e,2,c.expandedStates[r]];if(qt(n,u,i,t)){u.push(n);break}}}}else u.push([e,1,c.contents]);break}}c.id&&(jt[c.id]=u[u.length-1][1]);break;case"fill":{const r=n-o,{parts:i}=c;if(0===i.length)break;const[a,s]=i,p=[e,2,a],d=[e,1,a],f=qt(p,[],r,t,!0);if(1===i.length){f?u.push(p):u.push(d);break}const h=[e,2,s],m=[e,1,s];if(2===i.length){f?(u.push(h),u.push(p)):(u.push(m),u.push(d));break}i.splice(0,2);const g=[e,l,Lt(i)],D=i[0];qt([e,2,It([a,s,D])],[],r,t,!0)?(u.push(g),u.push(h),u.push(p)):f?(u.push(g),u.push(m),u.push(p)):(u.push(g),u.push(m),u.push(d));break}case"if-break":{const t=c.groupId?jt[c.groupId]:l;1===t&&c.breakContents&&u.push([e,l,c.breakContents]),2===t&&c.flatContents&&u.push([e,l,c.flatContents]);break}case"line-suffix":s.push([e,l,c.contents]);break;case"line-suffix-boundary":s.length>0&&u.push([e,l,{type:"line",hard:!0}]);break;case"line":switch(l){case 2:if(!c.hard){c.soft||(i.push(" "),o+=1);break}a=!0;case 1:if(s.length){u.push([e,l,c]),u.push(...s.reverse()),s=[];break}c.literal?e.root?(i.push(r,e.root.value),o=e.root.length):(i.push(r),o=0):(o-=$t(i),i.push(r+e.value),o=e.length)}}0===u.length&&s.length&&(u.push(...s.reverse()),s=[])}const l=i.indexOf(Mt.placeholder);if(-1!==l){const e=i.indexOf(Mt.placeholder,l+1),t=i.slice(0,l).join(""),n=i.slice(l+1,e).join("");return{formatted:t+n+i.slice(e+1).join(""),cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:i.join("")}}};const{literalline:Ut,concat:Jt}=Z,zt={};function Gt(e,t,n,r){const o=[e];for(;0!==o.length;){const e=o.pop();if(e!==zt){if(n&&o.push(e,zt),!t||!1!==t(e))if("concat"===e.type||"fill"===e.type)for(let t=e.parts.length-1;t>=0;--t)o.push(e.parts[t]);else if("if-break"===e.type)e.flatContents&&o.push(e.flatContents),e.breakContents&&o.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length-1;t>=0;--t)o.push(e.expandedStates[t]);else o.push(e.contents);else e.contents&&o.push(e.contents)}else n(o.pop())}}function Ht(e,t){if("concat"===e.type||"fill"===e.type){const n=e.parts.map((e=>Ht(e,t)));return t(Object.assign({},e,{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&Ht(e.breakContents,t),r=e.flatContents&&Ht(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=Ht(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function Xt(e,t,n){let r=n,o=!1;return Gt(e,(function(e){const n=t(e);if(void 0!==n&&(o=!0,r=n),o)return!1})),r}function Yt(e){return"string"!=typeof e&&("line"===e.type||void 0)}function Kt(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function Qt(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function Zt(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}function en(e){const t=[],n=e.filter(Boolean);for(;0!==n.length;){const e=n.shift();e&&("concat"!==e.type?0===t.length||"string"!=typeof t[t.length-1]||"string"!=typeof e?t.push(e):t[t.length-1]+=e:n.unshift(...e.parts))}return t}function tn(e){if("concat"===e.type){const t=[];for(let n=0;n0&&!t;r--)t=n[r-1];return"group"===t.type&&(n=t.contents.parts),n}(t):t.parts,o=r[r.length-1];if("concat"===o.type)return 2===o.parts.length&&o.parts[0].hard&&"break-parent"===o.parts[1].type?{type:"concat",parts:r.slice(0,-1)}:{type:"concat",parts:t.parts.slice(0,-1).concat(e(o))}}return t},normalizeParts:en,normalizeDoc:function(e){return Ht(e,(e=>e.parts?Object.assign({},e,{parts:en(e.parts)}):e))},replaceNewlinesWithLiterallines:function(e){return Ht(e,(e=>"string"==typeof e&&e.includes("\n")?Jt(e.split(/(\n)/g).map(((e,t)=>t%2==0?e:Ut))):e))}},debug:{printDocToDebug:e=>nn(tn(e))}};const on=()=>!1,un=()=>"";var an={existsSync:on,readFileSync:un},sn=Object.freeze({__proto__:null,existsSync:on,readFileSync:un,default:an});function ln(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function cn(e,t){for(var n,r="",o=0,u=-1,i=0,a=0;a<=e.length;++a){if(a2){var s=r.lastIndexOf("/");if(s!==r.length-1){-1===s?(r="",o=0):o=(r=r.slice(0,s)).length-1-r.lastIndexOf("/"),u=a,i=0;continue}}else if(2===r.length||1===r.length){r="",o=0,u=a,i=0;continue}t&&(r.length>0?r+="/..":r="..",o=2)}else r.length>0?r+="/"+e.slice(u+1,a):r=e.slice(u+1,a),o=a-u-1;u=a,i=0}else 46===n&&-1!==i?++i:i=-1}return r}var pn={resolve:function(){for(var e,t="",n=!1,r=arguments.length-1;r>=-1&&!n;r--){var o;r>=0?o=arguments[r]:(void 0===e&&(e=Oe.cwd()),o=e),ln(o),0!==o.length&&(t=o+"/"+t,n=47===o.charCodeAt(0))}return t=cn(t,!n),n?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(ln(e),0===e.length)return".";var t=47===e.charCodeAt(0),n=47===e.charCodeAt(e.length-1);return 0!==(e=cn(e,!t)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return ln(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":pn.normalize(e)},relative:function(e,t){if(ln(e),ln(t),e===t)return"";if((e=pn.resolve(e))===(t=pn.resolve(t)))return"";for(var n=1;na){if(47===t.charCodeAt(u+l))return t.slice(u+l+1);if(0===l)return t.slice(u+l)}else o>a&&(47===e.charCodeAt(n+l)?s=l:0===l&&(s=0));break}var c=e.charCodeAt(n+l);if(c!==t.charCodeAt(u+l))break;47===c&&(s=l)}var p="";for(l=n+s+1;l<=r;++l)l!==r&&47!==e.charCodeAt(l)||(0===p.length?p+="..":p+="/..");return p.length>0?p+t.slice(u+s):(u+=s,47===t.charCodeAt(u)&&++u,t.slice(u))},_makeLong:function(e){return e},dirname:function(e){if(ln(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,o=!0,u=e.length-1;u>=1;--u)if(47===(t=e.charCodeAt(u))){if(!o){r=u;break}}else o=!1;return-1===r?n?"/":".":n&&1===r?"//":e.slice(0,r)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');ln(e);var n,r=0,o=-1,u=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var i=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var s=e.charCodeAt(n);if(47===s){if(!u){r=n+1;break}}else-1===a&&(u=!1,a=n+1),i>=0&&(s===t.charCodeAt(i)?-1==--i&&(o=n):(i=-1,o=a))}return r===o?o=a:-1===o&&(o=e.length),e.slice(r,o)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!u){r=n+1;break}}else-1===o&&(u=!1,o=n+1);return-1===o?"":e.slice(r,o)},extname:function(e){ln(e);for(var t=-1,n=0,r=-1,o=!0,u=0,i=e.length-1;i>=0;--i){var a=e.charCodeAt(i);if(47!==a)-1===r&&(o=!1,r=i+1),46===a?-1===t?t=i:1!==u&&(u=1):-1!==t&&(u=-1);else if(!o){n=i+1;break}}return-1===t||-1===r||0===u||1===u&&t===r-1&&t===n+1?"":e.slice(t,r)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+r:n+e+r:r}("/",e)},parse:function(e){ln(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,r=e.charCodeAt(0),o=47===r;o?(t.root="/",n=1):n=0;for(var u=-1,i=0,a=-1,s=!0,l=e.length-1,c=0;l>=n;--l)if(47!==(r=e.charCodeAt(l)))-1===a&&(s=!1,a=l+1),46===r?-1===u?u=l:1!==c&&(c=1):-1!==u&&(c=-1);else if(!s){i=l+1;break}return-1===u||-1===a||0===c||1===c&&u===a-1&&u===i+1?-1!==a&&(t.base=t.name=0===i&&o?e.slice(1,a):e.slice(i,a)):(0===i&&o?(t.name=e.slice(1,u),t.base=e.slice(1,a)):(t.name=e.slice(i,u),t.base=e.slice(i,a)),t.ext=e.slice(u,a)),i>0?t.dir=e.slice(0,i-1):o&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};pn.posix=pn;var dn=pn,fn=Object.freeze(Object.assign(Object.create(null),dn,{default:dn,__moduleExports:dn})),hn=[],mn=[],gn="undefined"!=typeof Uint8Array?Uint8Array:Array,Dn=!1;function yn(){Dn=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t>18&63]+hn[o>>12&63]+hn[o>>6&63]+hn[63&o]);return u.join("")}function Cn(e){var t;Dn||yn();for(var n=e.length,r=n%3,o="",u=[],i=16383,a=0,s=n-r;as?s:a+i));return 1===r?(t=e[n-1],o+=hn[t>>2],o+=hn[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=hn[t>>10],o+=hn[t>>4&63],o+=hn[t<<2&63],o+="="),u.push(o),u.join("")}function bn(e,t,n,r,o){var u,i,a=8*o-r-1,s=(1<>1,c=-7,p=n?o-1:0,d=n?-1:1,f=e[t+p];for(p+=d,u=f&(1<<-c)-1,f>>=-c,c+=a;c>0;u=256*u+e[t+p],p+=d,c-=8);for(i=u&(1<<-c)-1,u>>=-c,c+=r;c>0;i=256*i+e[t+p],p+=d,c-=8);if(0===u)u=1-l;else{if(u===s)return i?NaN:1/0*(f?-1:1);i+=Math.pow(2,r),u-=l}return(f?-1:1)*i*Math.pow(2,u-r)}function vn(e,t,n,r,o,u){var i,a,s,l=8*u-o-1,c=(1<>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:u-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,i=c):(i=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-i))<1&&(i--,s*=2),(t+=i+p>=1?d/s:d*Math.pow(2,1-p))*s>=2&&(i++,s/=2),i+p>=c?(a=0,i=c):i+p>=1?(a=(t*s-1)*Math.pow(2,o),i+=p):(a=t*Math.pow(2,p-1)*Math.pow(2,o),i=0));o>=8;e[n+f]=255&a,f+=h,a/=256,o-=8);for(i=i<0;e[n+f]=255&i,f+=h,i/=256,l-=8);e[n+f-h]|=128*m}var An={}.toString,Fn=Array.isArray||function(e){return"[object Array]"==An.call(e)};function xn(){return wn.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Sn(e,t){if(xn()=xn())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+xn().toString(16)+" bytes");return 0|e}function On(e){return!(null==e||!e._isBuffer)}function In(e,t){if(On(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return ir(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return ar(e).length;default:if(r)return ir(e).length;t=(""+t).toLowerCase(),r=!0}}function Ln(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Xn(this,t,n);case"utf8":case"utf-8":return zn(this,t,n);case"ascii":return Gn(this,t,n);case"latin1":case"binary":return Hn(this,t,n);case"base64":return Jn(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Yn(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function Mn(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function jn(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=wn.from(t,r)),On(t))return 0===t.length?-1:_n(e,t,n,r,o);if("number"==typeof t)return t&=255,wn.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):_n(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function _n(e,t,n,r,o){var u,i=1,a=e.length,s=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,a/=2,s/=2,n/=2}function l(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var c=-1;for(u=n;ua&&(n=a-s),u=n;u>=0;u--){for(var p=!0,d=0;do&&(r=o):r=o;var u=t.length;if(u%2!=0)throw new TypeError("Invalid hex string");r>u/2&&(r=u/2);for(var i=0;i>8,o=n%256,u.push(o),u.push(r);return u}(t,e.length-n),e,n,r)}function Jn(e,t,n){return 0===t&&n===e.length?Cn(e):Cn(e.slice(t,n))}function zn(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:l>223?3:l>191?2:1;if(o+p<=n)switch(p){case 1:l<128&&(c=l);break;case 2:128==(192&(u=e[o+1]))&&(s=(31&l)<<6|63&u)>127&&(c=s);break;case 3:u=e[o+1],i=e[o+2],128==(192&u)&&128==(192&i)&&(s=(15&l)<<12|(63&u)<<6|63&i)>2047&&(s<55296||s>57343)&&(c=s);break;case 4:u=e[o+1],i=e[o+2],a=e[o+3],128==(192&u)&&128==(192&i)&&128==(192&a)&&(s=(15&l)<<18|(63&u)<<12|(63&i)<<6|63&a)>65535&&s<1114112&&(c=s)}null===c?(c=65533,p=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),o+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),""},wn.prototype.compare=function(e,t,n,r,o){if(!On(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var u=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),a=Math.min(u,i),s=this.slice(r,o),l=e.slice(t,n),c=0;co)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var u=!1;;)switch(r){case"hex":return Rn(this,e,t,n);case"utf8":case"utf-8":return Vn(this,e,t,n);case"ascii":return $n(this,e,t,n);case"latin1":case"binary":return qn(this,e,t,n);case"base64":return Wn(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Un(this,e,t,n);default:if(u)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),u=!0}},wn.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Gn(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",u=t;un)throw new RangeError("Trying to access beyond buffer length")}function Qn(e,t,n,r,o,u){if(!On(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function Zn(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,u=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function er(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,u=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function tr(e,t,n,r,o,u){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function nr(e,t,n,r,o){return o||tr(e,0,n,4),vn(e,t,n,r,23,4),n+4}function rr(e,t,n,r,o){return o||tr(e,0,n,8),vn(e,t,n,r,52,8),n+8}wn.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},wn.prototype.readUInt8=function(e,t){return t||Kn(e,1,this.length),this[e]},wn.prototype.readUInt16LE=function(e,t){return t||Kn(e,2,this.length),this[e]|this[e+1]<<8},wn.prototype.readUInt16BE=function(e,t){return t||Kn(e,2,this.length),this[e]<<8|this[e+1]},wn.prototype.readUInt32LE=function(e,t){return t||Kn(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},wn.prototype.readUInt32BE=function(e,t){return t||Kn(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},wn.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Kn(e,t,this.length);for(var r=this[e],o=1,u=0;++u=(o*=128)&&(r-=Math.pow(2,8*t)),r},wn.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Kn(e,t,this.length);for(var r=t,o=1,u=this[e+--r];r>0&&(o*=256);)u+=this[e+--r]*o;return u>=(o*=128)&&(u-=Math.pow(2,8*t)),u},wn.prototype.readInt8=function(e,t){return t||Kn(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},wn.prototype.readInt16LE=function(e,t){t||Kn(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},wn.prototype.readInt16BE=function(e,t){t||Kn(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},wn.prototype.readInt32LE=function(e,t){return t||Kn(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},wn.prototype.readInt32BE=function(e,t){return t||Kn(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},wn.prototype.readFloatLE=function(e,t){return t||Kn(e,4,this.length),bn(this,e,!0,23,4)},wn.prototype.readFloatBE=function(e,t){return t||Kn(e,4,this.length),bn(this,e,!1,23,4)},wn.prototype.readDoubleLE=function(e,t){return t||Kn(e,8,this.length),bn(this,e,!0,52,8)},wn.prototype.readDoubleBE=function(e,t){return t||Kn(e,8,this.length),bn(this,e,!1,52,8)},wn.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||Qn(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,u=0;for(this[t]=255&e;++u=0&&(u*=256);)this[t+o]=e/u&255;return t+n},wn.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,1,255,0),wn.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},wn.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,2,65535,0),wn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Zn(this,e,t,!0),t+2},wn.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,2,65535,0),wn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Zn(this,e,t,!1),t+2},wn.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,4,4294967295,0),wn.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):er(this,e,t,!0),t+4},wn.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,4,4294967295,0),wn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):er(this,e,t,!1),t+4},wn.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);Qn(this,e,t,n,o-1,-o)}var u=0,i=1,a=0;for(this[t]=255&e;++u>0)-a&255;return t+n},wn.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);Qn(this,e,t,n,o-1,-o)}var u=n-1,i=1,a=0;for(this[t+u]=255&e;--u>=0&&(i*=256);)e<0&&0===a&&0!==this[t+u+1]&&(a=1),this[t+u]=(e/i>>0)-a&255;return t+n},wn.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,1,127,-128),wn.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},wn.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,2,32767,-32768),wn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Zn(this,e,t,!0),t+2},wn.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,2,32767,-32768),wn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Zn(this,e,t,!1),t+2},wn.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,4,2147483647,-2147483648),wn.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):er(this,e,t,!0),t+4},wn.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Qn(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),wn.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):er(this,e,t,!1),t+4},wn.prototype.writeFloatLE=function(e,t,n){return nr(this,e,t,!0,n)},wn.prototype.writeFloatBE=function(e,t,n){return nr(this,e,t,!1,n)},wn.prototype.writeDoubleLE=function(e,t,n){return rr(this,e,t,!0,n)},wn.prototype.writeDoubleBE=function(e,t,n){return rr(this,e,t,!1,n)},wn.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(u<1e3||!wn.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(u=t;u55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&u.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&u.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&u.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&u.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;u.push(n)}else if(n<2048){if((t-=2)<0)break;u.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;u.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;u.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return u}function ar(e){return function(e){var t,n,r,o,u,i;Dn||yn();var a=e.length;if(a%4>0)throw new Error("Invalid string. Length must be a multiple of 4");u="="===e[a-2]?2:"="===e[a-1]?1:0,i=new gn(3*a/4-u),r=u>0?a-4:a;var s=0;for(t=0,n=0;t>16&255,i[s++]=o>>8&255,i[s++]=255&o;return 2===u?(o=mn[e.charCodeAt(t)]<<2|mn[e.charCodeAt(t+1)]>>4,i[s++]=255&o):1===u&&(o=mn[e.charCodeAt(t)]<<10|mn[e.charCodeAt(t+1)]<<4|mn[e.charCodeAt(t+2)]>>2,i[s++]=o>>8&255,i[s++]=255&o),i}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(or,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function sr(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function lr(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var cr=_e(sn);var pr=class{constructor(e,t){(t=t||{}).readChunk||(t.readChunk=1024),t.newLineCharacter?t.newLineCharacter=t.newLineCharacter.charCodeAt(0):t.newLineCharacter=10,this.fd="number"==typeof e?e:cr.openSync(e,"r"),this.options=t,this.newLineCharacter=t.newLineCharacter,this.reset()}_searchInBuffer(e,t){let n=-1;for(let r=0;r<=e.length;r++){if(e[r]===t){n=r;break}}return n}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){cr.closeSync(this.fd),this.fd=null}_extractLines(e){let t;const n=[];let r=0,o=0;for(;;){let u=e[r++];if(u===this.newLineCharacter)t=e.slice(o,r),n.push(t),o=r;else if(void 0===u)break}let u=e.slice(o,r);return u.length&&n.push(u),n}_readChunk(e){let t,n=0;const r=[];do{const e=new wn(this.options.readChunk);t=cr.readSync(this.fd,e,0,this.options.readChunk,this.fdPosition),n+=t,this.fdPosition=this.fdPosition+t,r.push(e)}while(t&&-1===this._searchInBuffer(r[r.length-1],this.options.newLineCharacter));let o=wn.concat(r);return t=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Cr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,u=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=u.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}return i}function br(e){return this instanceof br?(this.v=e,this):new br(e)}var vr=Object.freeze({__proto__:null,__extends:function(e,t){function n(){this.constructor=e}Dr(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},get __assign(){return yr},__rest:function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o=0;a--)(o=e[a])&&(i=(u<3?o(i):u>3?o(t,n,i):o(t,n))||i);return u>3&&i&&Object.defineProperty(t,n,i),i},__param:function(e,t){return function(n,r){t(n,r,e)}},__metadata:function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter:function(e,t,n,r){return new(n||(n=Promise))((function(o,u){function i(e){try{s(r.next(e))}catch(e){u(e)}}function a(e){try{s(r.throw(e))}catch(e){u(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}s((r=r.apply(e,t||[])).next())}))},__generator:function(e,t){var n,r,o,u,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return u={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function a(u){return function(a){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof br?Promise.resolve(n.value.v).then(s,l):c(u[0][2],n)}catch(e){c(u[0][3],e)}var n}function s(e){a("next",e)}function l(e){a("throw",e)}function c(e,t){e(t),u.shift(),u.length&&a(u[0][0],u[0][1])}},__asyncDelegator:function(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:br(e[r](t)),done:"return"===r}:o?o(t):t}:o}},__asyncValues:function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Er(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},__makeTemplateObject:function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},__importStar:function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},__importDefault:function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet:function(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)},__classPrivateFieldSet:function(e,t,n){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,n),n}}),Ar=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.apiDescriptor={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return"[".concat(e.map((e=>t.apiDescriptor.value(e))).join(", "),"]");const n=Object.keys(e);return 0===n.length?"{}":"{ ".concat(n.map((n=>"".concat(t.apiDescriptor.key(n),": ").concat(t.apiDescriptor.value(e[n])))).join(", ")," }")},pair:({key:e,value:n})=>t.apiDescriptor.value({[e]:n})}})),Fr=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(Ar,t)})),xr=/[|\\{}()[\]^$+*?.]/g,Sr=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(xr,"\\$&")},wr={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Tr=je((function(e){var t={};for(var n in wr)wr.hasOwnProperty(n)&&(t[wr[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in r)if(r.hasOwnProperty(o)){if(!("channels"in r[o]))throw new Error("missing channels property: "+o);if(!("labels"in r[o]))throw new Error("missing channel labels property: "+o);if(r[o].labels.length!==r[o].channels)throw new Error("channel and label counts mismatch: "+o);var u=r[o].channels,i=r[o].labels;delete r[o].channels,delete r[o].labels,Object.defineProperty(r[o],"channels",{value:u}),Object.defineProperty(r[o],"labels",{value:i})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,o=e[1]/255,u=e[2]/255,i=Math.min(r,o,u),a=Math.max(r,o,u),s=a-i;return a===i?t=0:r===a?t=(o-u)/s:o===a?t=2+(u-r)/s:u===a&&(t=4+(r-o)/s),(t=Math.min(60*t,360))<0&&(t+=360),n=(i+a)/2,[t,100*(a===i?0:n<=.5?s/(a+i):s/(2-a-i)),100*n]},r.rgb.hsv=function(e){var t,n,r,o,u,i=e[0]/255,a=e[1]/255,s=e[2]/255,l=Math.max(i,a,s),c=l-Math.min(i,a,s),p=function(e){return(l-e)/6/c+.5};return 0===c?o=u=0:(u=c/l,t=p(i),n=p(a),r=p(s),i===l?o=r-n:a===l?o=1/3+t-r:s===l&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*u,100*l]},r.rgb.hwb=function(e){var t=e[0],n=e[1],o=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,o))),100*(o=1-1/255*Math.max(t,Math.max(n,o)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-o)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,o,u,i=1/0;for(var a in wr)if(wr.hasOwnProperty(a)){var s=wr[a],l=(o=e,u=s,Math.pow(o[0]-u[0],2)+Math.pow(o[1]-u[1],2)+Math.pow(o[2]-u[2],2));l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],o=t[1],u=t[2];return o/=100,u/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116)-16,500*(n-o),200*(o-(u=u>.008856?Math.pow(u,1/3):7.787*u+16/116))]},r.hsl.rgb=function(e){var t,n,r,o,u,i=e[0]/360,a=e[1]/100,s=e[2]/100;if(0===a)return[u=255*s,u,u];t=2*s-(n=s<.5?s*(1+a):s+a-s*a),o=[0,0,0];for(var l=0;l<3;l++)(r=i+1/3*-(l-1))<0&&r++,r>1&&r--,u=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,o[l]=255*u;return o},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,o=n,u=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,o*=u<=1?u:2-u,[t,100*(0===r?2*o/(u+o):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,o=Math.floor(t)%6,u=t-Math.floor(t),i=255*r*(1-n),a=255*r*(1-n*u),s=255*r*(1-n*(1-u));switch(r*=255,o){case 0:return[r,s,i];case 1:return[a,r,i];case 2:return[i,r,s];case 3:return[i,a,r];case 4:return[s,i,r];case 5:return[r,i,a]}},r.hsv.hsl=function(e){var t,n,r,o=e[0],u=e[1]/100,i=e[2]/100,a=Math.max(i,.01);return r=(2-u)*i,n=u*a,[o,100*(n=(n/=(t=(2-u)*a)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,o,u,i,a,s=e[0]/360,l=e[1]/100,c=e[2]/100,p=l+c;switch(p>1&&(l/=p,c/=p),r=6*s-(t=Math.floor(6*s)),0!=(1&t)&&(r=1-r),o=l+r*((n=1-c)-l),t){default:case 6:case 0:u=n,i=o,a=l;break;case 1:u=o,i=n,a=l;break;case 2:u=l,i=n,a=o;break;case 3:u=l,i=o,a=n;break;case 4:u=o,i=l,a=n;break;case 5:u=n,i=l,a=o}return[255*u,255*i,255*a]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o))]},r.xyz.rgb=function(e){var t,n,r,o=e[0]/100,u=e[1]/100,i=e[2]/100;return n=-.9689*o+1.8758*u+.0415*i,r=.0557*o+-.204*u+1.057*i,t=(t=3.2406*o+-1.5372*u+-.4986*i)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,o=e[0];t=e[1]/500+(n=(o+16)/116),r=n-e[2]/200;var u=Math.pow(n,3),i=Math.pow(t,3),a=Math.pow(r,3);return n=u>.008856?u:(n-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,r=a>.008856?a:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],o=e[2];return(t=360*Math.atan2(o,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+o*o),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],o=e[2],u=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(u=Math.round(u/50)))return 30;var i=30+(Math.round(o/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===u&&(i+=60),i},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255,u=Math.max(Math.max(n,r),o),i=Math.min(Math.min(n,r),o),a=u-i;return t=a<=0?0:u===n?(r-o)/a%6:u===r?2+(o-n)/a:4+(n-r)/a+4,t/=6,[360*(t%=1),100*a,100*(a<1?i/(1-a):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,o=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(o=(n-.5*r)/(1-r)),[e[0],100*r,100*o]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var o,u=[0,0,0],i=t%1*6,a=i%1,s=1-a;switch(Math.floor(i)){case 0:u[0]=1,u[1]=a,u[2]=0;break;case 1:u[0]=s,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=a;break;case 3:u[0]=0,u[1]=s,u[2]=1;break;case 4:u[0]=a,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=s}return o=(1-n)*r,[255*(n*u[0]+o),255*(n*u[1]+o),255*(n*u[2]+o)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function Br(e){var t=function(){for(var e={},t=Object.keys(Tr),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,o=0;o1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var Or=Pr,Ir=je((function(e){const t=(e,t)=>function(){const n=e.apply(Or,arguments);return"\x1b[".concat(n+t,"m")},n=(e,t)=>function(){const n=e.apply(Or,arguments);return"\x1b[".concat(38+t,";5;").concat(n,"m")},r=(e,t)=>function(){const n=e.apply(Or,arguments);return"\x1b[".concat(38+t,";2;").concat(n[0],";").concat(n[1],";").concat(n[2],"m")};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.grey=o.color.gray;for(const t of Object.keys(o)){const n=o[t];for(const t of Object.keys(n)){const r=n[t];o[t]={open:"\x1b[".concat(r[0],"m"),close:"\x1b[".concat(r[1],"m")},n[t]=o[t],e.set(r[0],r[1])}Object.defineProperty(o,t,{value:n,enumerable:!1}),Object.defineProperty(o,"codes",{value:e,enumerable:!1})}const u=e=>e,i=(e,t,n)=>[e,t,n];o.color.close="\x1b[39m",o.bgColor.close="\x1b[49m",o.color.ansi={ansi:t(u,0)},o.color.ansi256={ansi256:n(u,0)},o.color.ansi16m={rgb:r(i,0)},o.bgColor.ansi={ansi:t(u,10)},o.bgColor.ansi256={ansi256:n(u,10)},o.bgColor.ansi16m={rgb:r(i,10)};for(let e of Object.keys(Or)){if("object"!=typeof Or[e])continue;const u=Or[e];"ansi16"===e&&(e="ansi"),"ansi16"in u&&(o.color.ansi[e]=t(u.ansi16,0),o.bgColor.ansi[e]=t(u.ansi16,10)),"ansi256"in u&&(o.color.ansi256[e]=n(u.ansi256,0),o.bgColor.ansi256[e]=n(u.ansi256,10)),"rgb"in u&&(o.color.ansi16m[e]=r(u.rgb,0),o.bgColor.ansi16m[e]=r(u.rgb,10))}return o}})})),Lr=(e,t)=>{t=t||Oe.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return-1!==r&&(-1===o||r"browser",cpus:()=>[{model:"Prettier"}]}}));const jr=Oe.env;let _r;function Rr(e){return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(function(e){if(!1===_r)return 0;if(Lr("color=16m")||Lr("color=full")||Lr("color=truecolor"))return 3;if(Lr("color=256"))return 2;if(e&&!e.isTTY&&!0!==_r)return 0;const t=_r?1:0;if("win32"===Oe.platform){const e=Mr.release().split(".");return Number(Oe.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in jr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in jr))||"codeship"===jr.CI_NAME?1:t;if("TEAMCITY_VERSION"in jr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(jr.TEAMCITY_VERSION)?1:0;if("truecolor"===jr.COLORTERM)return 3;if("TERM_PROGRAM"in jr){const e=parseInt((jr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(jr.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(jr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(jr.TERM)||"COLORTERM"in jr?1:(jr.TERM,t)}(e))}Lr("no-color")||Lr("no-colors")||Lr("color=false")?_r=!1:(Lr("color")||Lr("colors")||Lr("color=true")||Lr("color=always"))&&(_r=!0),"FORCE_COLOR"in jr&&(_r=0===jr.FORCE_COLOR.length||0!==parseInt(jr.FORCE_COLOR,10));var Vr={supportsColor:Rr,stdout:Rr(Oe.stdout),stderr:Rr(Oe.stderr)};const $r=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,qr=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Wr=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Ur=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,Jr=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function zr(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Jr.get(e)||e}function Gr(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r)if(isNaN(t)){if(!(o=t.match(Wr)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(Ur,((e,t,n)=>t?zr(t):n)))}else n.push(Number(t));return n}function Hr(e){qr.lastIndex=0;const t=[];let n;for(;null!==(n=qr.exec(e));){const e=n[1];if(n[2]){const r=Gr(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function Xr(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Yr=(e,t)=>{const n=[],r=[];let o=[];if(t.replace($r,((t,u,i,a,s,l)=>{if(u)o.push(zr(u));else if(a){const t=o.join("");o=[],r.push(0===n.length?t:Xr(e,n)(t)),n.push({inverse:i,styles:Hr(a)})}else if(s){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(Xr(e,n)(o.join(""))),o=[],n.pop()}else o.push(l)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")},Kr=je((function(e){const t=Vr.stdout,n="win32"===Oe.platform&&!(Oe.env.TERM||"").toLowerCase().startsWith("xterm"),r=["ansi","ansi","ansi256","ansi16m"],o=new Set(["gray"]),u=Object.create(null);function i(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function a(e){if(!this||!(this instanceof a)||this.template){const t={};return i(t,e),t.template=function(){const e=[].slice.call(arguments);return p.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,a.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=a,t.template}i(this,e)}n&&(Ir.blue.open="\x1b[94m");for(const e of Object.keys(Ir))Ir[e].closeRe=new RegExp(Sr(Ir[e].close),"g"),u[e]={get(){const t=Ir[e];return l.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};u.visible={get(){return l.call(this,this._styles||[],!0,"visible")}},Ir.color.closeRe=new RegExp(Sr(Ir.color.close),"g");for(const e of Object.keys(Ir.color.ansi))o.has(e)||(u[e]={get(){const t=this.level;return function(){const n=Ir.color[r[t]][e].apply(null,arguments),o={open:n,close:Ir.color.close,closeRe:Ir.color.closeRe};return l.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}});Ir.bgColor.closeRe=new RegExp(Sr(Ir.bgColor.close),"g");for(const e of Object.keys(Ir.bgColor.ansi)){if(o.has(e))continue;u["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n=Ir.bgColor[r[t]][e].apply(null,arguments),o={open:n,close:Ir.bgColor.close,closeRe:Ir.bgColor.closeRe};return l.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}}}const s=Object.defineProperties((()=>{}),u);function l(e,t,n){const r=function(){return c.apply(r,arguments)};r._styles=e,r._empty=t;const o=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>o.level,set(e){o.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>o.enabled,set(e){o.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=s,r}function c(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;n{const r=["".concat(Kr.default.yellow("string"==typeof e?n.key(e):n.pair(e))," is deprecated")];return t&&r.push("we now treat it as ".concat(Kr.default.blue("string"==typeof t?n.key(t):n.pair(t)))),r.join("; ")+"."}})),Zr=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(Qr,t)})),eo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.commonInvalidHandler=(e,t,n)=>["Invalid ".concat(Kr.default.red(n.descriptor.key(e))," value."),"Expected ".concat(Kr.default.blue(n.schemas[e].expected(n)),","),"but received ".concat(Kr.default.red(n.descriptor.value(t)),".")].join(" ")})),to=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(eo,t)})),no=[],ro=[],oo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.levenUnknownHandler=(e,t,{descriptor:n,logger:r,schemas:o})=>{const u=["Ignored unknown option ".concat(Kr.default.yellow(n.pair({key:e,value:t})),".")],i=Object.keys(o).sort().find((t=>function(e,t){if(e===t)return 0;var n=e;e.length>t.length&&(e=t,t=n);var r=e.length,o=t.length;if(0===r)return o;if(0===o)return r;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-o);)r--,o--;if(0===r)return o;for(var u,i,a,s,l=0;li?s>i?i+1:s:s>a?a+1:s;return i}(e,t)<3));i&&u.push("Did you mean ".concat(Kr.default.blue(n.key(i)),"?")),r.warn(u.join(" "))}})),uo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(oo,t)})),io=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(Zr,t),vr.__exportStar(to,t),vr.__exportStar(uo,t)})),ao=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const n=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function r(e,t){const r=new e(t),i=Object.create(r);for(const e of n)e in t&&(i[e]=u(t[e],r,o.prototype[e].length));return i}t.createSchema=r;class o{constructor(e){this.name=e.name}static create(e){return r(this,e)}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,n){return e}preprocess(e,t){return e}postprocess(e,t){return e}}function u(e,t,n){return"function"==typeof e?(...r)=>e(...r.slice(0,n-1),t,...r.slice(n-1)):()=>e}t.Schema=o})),so=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}}t.AliasSchema=n})),lo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{expected(){return"anything"}validate(){return!0}}t.AnySchema=n})),co=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{constructor(e){var{valueSchema:t,name:n=t.name}=e,r=vr.__rest(e,["valueSchema","name"]);super(Object.assign({},r,{name:n})),this._valueSchema=t}expected(e){return"an array of ".concat(this._valueSchema.expected(e))}validate(e,t){if(!Array.isArray(e))return!1;const n=[];for(const r of e){const e=t.normalizeValidateResult(this._valueSchema.validate(r,t),r);!0!==e&&n.push(e.value)}return 0===n.length||{value:n}}deprecated(e,t){const n=[];for(const r of e){const e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(r,t),r);!1!==e&&n.push(...e.map((({value:e})=>({value:[e]}))))}return n}forward(e,t){const n=[];for(const o of e){const e=t.normalizeForwardResult(this._valueSchema.forward(o,t),o);n.push(...e.map(r))}return n}redirect(e,t){const n=[],o=[];for(const u of e){const e=t.normalizeRedirectResult(this._valueSchema.redirect(u,t),u);"remain"in e&&n.push(e.remain),o.push(...e.redirect.map(r))}return 0===n.length?{redirect:o}:{redirect:o,remain:n}}overlap(e,t){return e.concat(t)}}function r({from:e,to:t}){return{from:[e],to:t}}t.ArraySchema=n})),po=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{expected(){return"true or false"}validate(e){return"boolean"==typeof e}}t.BooleanSchema=n})),fo=je((function(e,t){function n(e,t){return"string"==typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function r(e,t){return void 0===e?[]:Array.isArray(e)?e.map((e=>n(e,t))):[n(e,t)]}Object.defineProperty(t,"__esModule",{value:!0}),t.recordFromArray=function(e,t){const n=Object.create(null);for(const r of e){const e=r[t];if(n[e])throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n[e]=r}return n},t.mapFromArray=function(e,t){const n=new Map;for(const r of e){const e=r[t];if(n.has(e))throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n.set(e,r)}return n},t.createAutoChecklist=function(){const e=Object.create(null);return t=>{const n=JSON.stringify(t);return!!e[n]||(e[n]=!0,!1)}},t.partition=function(e,t){const n=[],r=[];for(const o of e)t(o)?n.push(o):r.push(o);return[n,r]},t.isInt=function(e){return e===Math.floor(e)},t.comparePrimitive=function(e,t){if(e===t)return 0;const n=typeof e,r=typeof t,o=["undefined","object","boolean","number","string"];return n!==r?o.indexOf(n)-o.indexOf(r):"string"!==n?Number(e)-Number(t):e.localeCompare(t)},t.normalizeDefaultResult=function(e){return void 0===e?{}:e},t.normalizeValidateResult=function(e,t){return!0===e||(!1===e?{value:t}:e)},t.normalizeDeprecatedResult=function(e,t,n=!1){return!1!==e&&(!0===e?!!n||[{value:t}]:"value"in e?[e]:0!==e.length&&e)},t.normalizeTransferResult=n,t.normalizeForwardResult=r,t.normalizeRedirectResult=function(e,t){const n=r("object"==typeof e&&"redirect"in e?e.redirect:e,t);return 0===n.length?{remain:t,redirect:n}:"object"==typeof e&&"remain"in e?{remain:e.remain,redirect:n}:{redirect:n}}})),ho=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{constructor(e){super(e),this._choices=fo.mapFromArray(e.choices.map((e=>e&&"object"==typeof e?e:{value:e})),"value")}expected({descriptor:e}){const t=Array.from(this._choices.keys()).map((e=>this._choices.get(e))).filter((e=>!e.deprecated)).map((e=>e.value)).sort(fo.comparePrimitive).map(e.value),n=t.slice(0,-2),r=t.slice(-2);return n.concat(r.join(" or ")).join(", ")}validate(e){return this._choices.has(e)}deprecated(e){const t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){const t=this._choices.get(e);return t?t.forward:void 0}redirect(e){const t=this._choices.get(e);return t?t.redirect:void 0}}t.ChoiceSchema=n})),mo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{expected(){return"a number"}validate(e,t){return"number"==typeof e}}t.NumberSchema=n})),go=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends mo.NumberSchema{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&fo.isInt(e)}}t.IntegerSchema=n})),Do=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends ao.Schema{expected(){return"a string"}validate(e){return"string"==typeof e}}t.StringSchema=n})),yo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(so,t),vr.__exportStar(lo,t),vr.__exportStar(co,t),vr.__exportStar(po,t),vr.__exportStar(ho,t),vr.__exportStar(go,t),vr.__exportStar(mo,t),vr.__exportStar(Do,t)})),Eo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.defaultDescriptor=Ar.apiDescriptor,t.defaultUnknownHandler=oo.levenUnknownHandler,t.defaultInvalidHandler=to.commonInvalidHandler,t.defaultDeprecatedHandler=Qr.commonDeprecatedHandler})),Co=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=(e,t,r)=>new n(t,r).normalize(e);class n{constructor(e,t){const{logger:n=console,descriptor:r=Eo.defaultDescriptor,unknown:o=Eo.defaultUnknownHandler,invalid:u=Eo.defaultInvalidHandler,deprecated:i=Eo.defaultDeprecatedHandler}=t||{};this._utils={descriptor:r,logger:n||{warn:()=>{}},schemas:fo.recordFromArray(e,"name"),normalizeDefaultResult:fo.normalizeDefaultResult,normalizeDeprecatedResult:fo.normalizeDeprecatedResult,normalizeForwardResult:fo.normalizeForwardResult,normalizeRedirectResult:fo.normalizeRedirectResult,normalizeValidateResult:fo.normalizeValidateResult},this._unknownHandler=o,this._invalidHandler=u,this._deprecatedHandler=i,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=fo.createAutoChecklist()}normalize(e){const t={},n=[e],r=()=>{for(;0!==n.length;){const e=n.shift(),r=this._applyNormalization(e,t);n.push(...r)}};r();for(const e of Object.keys(this._utils.schemas)){const r=this._utils.schemas[e];if(!(e in t)){const t=fo.normalizeDefaultResult(r.default(this._utils));"value"in t&&n.push({[e]:t.value})}}r();for(const e of Object.keys(this._utils.schemas)){const n=this._utils.schemas[e];e in t&&(t[e]=n.postprocess(t[e],this._utils))}return t}_applyNormalization(e,t){const n=[],[r,o]=fo.partition(Object.keys(e),(e=>e in this._utils.schemas));for(const o of r){const r=this._utils.schemas[o],u=r.preprocess(e[o],this._utils),i=fo.normalizeValidateResult(r.validate(u,this._utils),u);if(!0!==i){const{value:e}=i,t=this._invalidHandler(o,e,this._utils);throw"string"==typeof t?new Error(t):t}const a=({from:e,to:t})=>{n.push("string"==typeof t?{[t]:e}:{[t.key]:t.value})},s=({value:e,redirectTo:t})=>{const n=fo.normalizeDeprecatedResult(r.deprecated(e,this._utils),u,!0);if(!1!==n)if(!0===n)this._hasDeprecationWarned(o)||this._utils.logger.warn(this._deprecatedHandler(o,t,this._utils));else for(const{value:e}of n){const n={key:o,value:e};if(!this._hasDeprecationWarned(n)){const r="string"==typeof t?{key:t,value:e}:t;this._utils.logger.warn(this._deprecatedHandler(n,r,this._utils))}}};fo.normalizeForwardResult(r.forward(u,this._utils),u).forEach(a);const l=fo.normalizeRedirectResult(r.redirect(u,this._utils),u);if(l.redirect.forEach(a),"remain"in l){const e=l.remain;t[o]=o in t?r.overlap(t[o],e,this._utils):e,s({value:e})}for(const{from:e,to:t}of l.redirect)s({value:e,redirectTo:t})}for(const r of o){const o=e[r],u=this._unknownHandler(r,o,this._utils);if(u)for(const e of Object.keys(u)){const r={[e]:u[e]};e in this._utils.schemas?n.push(r):Object.assign(t,r)}}return n}}t.Normalizer=n})),bo=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),vr.__exportStar(Fr,t),vr.__exportStar(io,t),vr.__exportStar(yo,t),vr.__exportStar(Co,t),vr.__exportStar(ao,t)}));const vo=[],Ao=[],Fo=(e,t)=>{if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let r=e.length,o=t.length;for(;r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-o);)r--,o--;let u,i,a,s,l=0;for(;li?s>i?i+1:s:s>a?a+1:s;return i};var xo=Fo,So=Fo;xo.default=So;var wo={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const To={};for(const e of Object.keys(wo))To[wo[e]]=e;const Bo={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var No=Bo;for(const e of Object.keys(Bo)){if(!("channels"in Bo[e]))throw new Error("missing channels property: "+e);if(!("labels"in Bo[e]))throw new Error("missing channel labels property: "+e);if(Bo[e].labels.length!==Bo[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=Bo[e];delete Bo[e].channels,delete Bo[e].labels,Object.defineProperty(Bo[e],"channels",{value:t}),Object.defineProperty(Bo[e],"labels",{value:n})}function ko(e){const t=function(){const e={},t=Object.keys(No);for(let n=t.length,r=0;r1&&(o-=1)),[360*o,100*u,100*l]},Bo.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const o=Bo.rgb.hsl(e)[0],u=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[o,100*u,100*r]},Bo.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.min(1-t,1-n,1-r);return[100*((1-t-o)/(1-o)||0),100*((1-n-o)/(1-o)||0),100*((1-r-o)/(1-o)||0),100*o]},Bo.rgb.keyword=function(e){const t=To[e];if(t)return t;let n,r=1/0;for(const t of Object.keys(wo)){const i=(u=wo[t],((o=e)[0]-u[0])**2+(o[1]-u[1])**2+(o[2]-u[2])**2);i.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;return[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},Bo.rgb.lab=function(e){const t=Bo.rgb.xyz(e);let n=t[0],r=t[1],o=t[2];n/=95.047,r/=100,o/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*r-16,500*(n-r),200*(r-o)]},Bo.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let o,u,i;if(0===n)return i=255*r,[i,i,i];o=r<.5?r*(1+n):r+n-r*n;const a=2*r-o,s=[0,0,0];for(let e=0;e<3;e++)u=t+1/3*-(e-1),u<0&&u++,u>1&&u--,i=6*u<1?a+6*(o-a)*u:2*u<1?o:3*u<2?a+(o-a)*(2/3-u)*6:a,s[e]=255*i;return s},Bo.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,o=n;const u=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,o*=u<=1?u:2-u;return[t,100*(0===r?2*o/(u+o):2*n/(r+n)),100*((r+n)/2)]},Bo.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const o=Math.floor(t)%6,u=t-Math.floor(t),i=255*r*(1-n),a=255*r*(1-n*u),s=255*r*(1-n*(1-u));switch(r*=255,o){case 0:return[r,s,i];case 1:return[a,r,i];case 2:return[i,r,s];case 3:return[i,a,r];case 4:return[s,i,r];case 5:return[r,i,a]}},Bo.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,o=Math.max(r,.01);let u,i;i=(2-n)*r;const a=(2-n)*o;return u=n*o,u/=a<=1?a:2-a,u=u||0,i/=2,[t,100*u,100*i]},Bo.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const o=n+r;let u;o>1&&(n/=o,r/=o);const i=Math.floor(6*t),a=1-r;u=6*t-i,0!=(1&i)&&(u=1-u);const s=n+u*(a-n);let l,c,p;switch(i){default:case 6:case 0:l=a,c=s,p=n;break;case 1:l=s,c=a,p=n;break;case 2:l=n,c=a,p=s;break;case 3:l=n,c=s,p=a;break;case 4:l=s,c=n,p=a;break;case 5:l=a,c=n,p=s}return[255*l,255*c,255*p]},Bo.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o))]},Bo.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let o,u,i;return o=3.2406*t+-1.5372*n+-.4986*r,u=-.9689*t+1.8758*n+.0415*r,i=.0557*t+-.204*n+1.057*r,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,u=u>.0031308?1.055*u**(1/2.4)-.055:12.92*u,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=Math.min(Math.max(0,o),1),u=Math.min(Math.max(0,u),1),i=Math.min(Math.max(0,i),1),[255*o,255*u,255*i]},Bo.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;return[116*n-16,500*(t-n),200*(n-r)]},Bo.lab.xyz=function(e){let t,n,r;n=(e[0]+16)/116,t=e[1]/500+n,r=n-e[2]/200;const o=n**3,u=t**3,i=r**3;return n=o>.008856?o:(n-16/116)/7.787,t=u>.008856?u:(t-16/116)/7.787,r=i>.008856?i:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},Bo.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let o;o=360*Math.atan2(r,n)/2/Math.PI,o<0&&(o+=360);return[t,Math.sqrt(n*n+r*r),o]},Bo.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},Bo.rgb.ansi16=function(e,t=null){const[n,r,o]=e;let u=null===t?Bo.rgb.hsv(e)[2]:t;if(u=Math.round(u/50),0===u)return 30;let i=30+(Math.round(o/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===u&&(i+=60),i},Bo.hsv.ansi16=function(e){return Bo.rgb.ansi16(Bo.hsv.rgb(e),e[2])},Bo.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;return 16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},Bo.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},Bo.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},Bo.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},Bo.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map((e=>e+e)).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},Bo.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,o=Math.max(Math.max(t,n),r),u=Math.min(Math.min(t,n),r),i=o-u;let a,s;return a=i<1?u/(1-i):0,s=i<=0?0:o===t?(n-r)/i%6:o===n?2+(r-t)/i:4+(t-n)/i,s/=6,s%=1,[360*s,100*i,100*a]},Bo.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let o=0;return r<1&&(o=(n-.5*r)/(1-r)),[e[0],100*r,100*o]},Bo.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Bo.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const o=[0,0,0],u=t%1*6,i=u%1,a=1-i;let s=0;switch(Math.floor(u)){case 0:o[0]=1,o[1]=i,o[2]=0;break;case 1:o[0]=a,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=i;break;case 3:o[0]=0,o[1]=a,o[2]=1;break;case 4:o[0]=i,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=a}return s=(1-n)*r,[255*(n*o[0]+s),255*(n*o[1]+s),255*(n*o[2]+s)]},Bo.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},Bo.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},Bo.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},Bo.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},Bo.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},Bo.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},Bo.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},Bo.gray.hsl=function(e){return[0,0,e[0]]},Bo.gray.hsv=Bo.gray.hsl,Bo.gray.hwb=function(e){return[0,100,e[0]]},Bo.gray.cmyk=function(e){return[0,0,0,e[0]]},Bo.gray.lab=function(e){return[e[0],0,0]},Bo.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},Bo.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]};const Io={};Object.keys(No).forEach((e=>{Io[e]={},Object.defineProperty(Io[e],"channels",{value:No[e].channels}),Object.defineProperty(Io[e],"labels",{value:No[e].labels});const t=function(e){const t=ko(e),n={},r=Object.keys(t);for(let e=r.length,o=0;o{const r=t[n];Io[e][n]=function(e){const t=function(...t){const n=t[0];if(null==n)return n;n.length>1&&(t=n);const r=e(t);if("object"==typeof r)for(let e=r.length,t=0;t1&&(t=n),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var Lo=Io,Mo=je((function(e){const t=(e,t)=>(...n)=>{const r=e(...n);return"\x1b[".concat(r+t,"m")},n=(e,t)=>(...n)=>{const r=e(...n);return"\x1b[".concat(38+t,";5;").concat(r,"m")},r=(e,t)=>(...n)=>{const r=e(...n);return"\x1b[".concat(38+t,";2;").concat(r[0],";").concat(r[1],";").concat(r[2],"m")},o=e=>e,u=(e,t,n)=>[e,t,n],i=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let a;const s=(e,t,n,r)=>{void 0===a&&(a=Lo);const o=r?10:0,u={};for(const[r,i]of Object.entries(a)){const a="ansi16"===r?"ansi":r;r===t?u[a]=e(n,o):"object"==typeof i&&(u[a]=e(i[t],o))}return u};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.gray=a.color.blackBright,a.bgColor.bgGray=a.bgColor.bgBlackBright,a.color.grey=a.color.blackBright,a.bgColor.bgGrey=a.bgColor.bgBlackBright;for(const[t,n]of Object.entries(a)){for(const[t,r]of Object.entries(n))a[t]={open:"\x1b[".concat(r[0],"m"),close:"\x1b[".concat(r[1],"m")},n[t]=a[t],e.set(r[0],r[1]);Object.defineProperty(a,t,{value:n,enumerable:!1})}return Object.defineProperty(a,"codes",{value:e,enumerable:!1}),a.color.close="\x1b[39m",a.bgColor.close="\x1b[49m",i(a.color,"ansi",(()=>s(t,"ansi16",o,!1))),i(a.color,"ansi256",(()=>s(n,"ansi256",o,!1))),i(a.color,"ansi16m",(()=>s(r,"rgb",u,!1))),i(a.bgColor,"ansi",(()=>s(t,"ansi16",o,!0))),i(a.bgColor,"ansi256",(()=>s(n,"ansi256",o,!0))),i(a.bgColor,"ansi16m",(()=>s(r,"rgb",u,!0))),a}})})),jo={isatty:()=>!1},_o=(e,t=Oe.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),o=t.indexOf("--");return-1!==r&&(-1===o||r=2,has16m:e>=3}}function Wo(e,t){if(0===$o)return 0;if(_o("color=16m")||_o("color=full")||_o("color=truecolor"))return 3;if(_o("color=256"))return 2;if(e&&!t&&void 0===$o)return 0;const n=$o||0;if("dumb"===Vo.TERM)return n;if("win32"===Oe.platform){const e=Mr.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Vo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in Vo))||"codeship"===Vo.CI_NAME?1:n;if("TEAMCITY_VERSION"in Vo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Vo.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Vo)return 1;if("truecolor"===Vo.COLORTERM)return 3;if("TERM_PROGRAM"in Vo){const e=parseInt((Vo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Vo.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Vo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Vo.TERM)||"COLORTERM"in Vo?1:n}_o("no-color")||_o("no-colors")||_o("color=false")||_o("color=never")?$o=0:(_o("color")||_o("colors")||_o("color=true")||_o("color=always"))&&($o=1),"FORCE_COLOR"in Vo&&($o="true"===Vo.FORCE_COLOR?1:"false"===Vo.FORCE_COLOR?0:0===Vo.FORCE_COLOR.length?1:Math.min(parseInt(Vo.FORCE_COLOR,10),3));var Uo={supportsColor:function(e){return qo(Wo(e,e&&e.isTTY))},stdout:qo(Wo(!0,Ro.isatty(1))),stderr:qo(Wo(!0,Ro.isatty(2)))};var Jo={stringReplaceAll:(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const o=t.length;let u=0,i="";do{i+=e.substr(u,r-u)+t+n,u=r+o,r=e.indexOf(t,u)}while(-1!==r);return i+=e.substr(u),i},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let o=0,u="";do{const i="\r"===e[r-1];u+=e.substr(o,(i?r-1:r)-o)+t+(i?"\r\n":"\n")+n,o=r+1,r=e.indexOf("\n",o)}while(-1!==r);return u+=e.substr(o),u}};const zo=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Go=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ho=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Xo=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Yo=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function Ko(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):Yo.get(e)||e}function Qo(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r){const r=Number(t);if(Number.isNaN(r)){if(!(o=t.match(Ho)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(Xo,((e,t,n)=>t?Ko(t):n)))}else n.push(r)}return n}function Zo(e){Go.lastIndex=0;const t=[];let n;for(;null!==(n=Go.exec(e));){const e=n[1];if(n[2]){const r=Qo(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function eu(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=t.length>0?r[e](...t):r[e]}return r}var tu=(e,t)=>{const n=[],r=[];let o=[];if(t.replace(zo,((t,u,i,a,s,l)=>{if(u)o.push(Ko(u));else if(a){const t=o.join("");o=[],r.push(0===n.length?t:eu(e,n)(t)),n.push({inverse:i,styles:Zo(a)})}else if(s){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(eu(e,n)(o.join(""))),o=[],n.pop()}else o.push(l)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")};const{stdout:nu,stderr:ru}=Uo,{stringReplaceAll:ou,stringEncaseCRLFWithFirstIndex:uu}=Jo,{isArray:iu}=Array,au=["ansi","ansi","ansi256","ansi16m"],su=Object.create(null);class lu{constructor(e){return cu(e)}}const cu=e=>{const t={};return((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=nu?nu.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>yu(t.template,...e),Object.setPrototypeOf(t,pu.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=lu,t.template};function pu(e){return cu(e)}for(const[e,t]of Object.entries(Mo))su[e]={get(){const n=mu(this,hu(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};su.visible={get(){const e=mu(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const du=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of du)su[e]={get(){const{level:t}=this;return function(...n){const r=hu(Mo.color[au[t]][e](...n),Mo.color.close,this._styler);return mu(this,r,this._isEmpty)}}};for(const e of du){su["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const r=hu(Mo.bgColor[au[t]][e](...n),Mo.bgColor.close,this._styler);return mu(this,r,this._isEmpty)}}}}const fu=Object.defineProperties((()=>{}),Object.assign({},su,{level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}})),hu=(e,t,n)=>{let r,o;return void 0===n?(r=e,o=t):(r=n.openAll+e,o=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:o,parent:n}},mu=(e,t,n)=>{const r=(...e)=>iu(e[0])&&iu(e[0].raw)?gu(r,yu(r,...e)):gu(r,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(r,fu),r._generator=e,r._styler=t,r._isEmpty=n,r},gu=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:o}=n;if(-1!==t.indexOf("\x1b"))for(;void 0!==n;)t=ou(t,n.close,n.open),n=n.parent;const u=t.indexOf("\n");return-1!==u&&(t=uu(t,o,r,u)),r+t+o};let Du;const yu=(e,...t)=>{const[n]=t;if(!iu(n)||!iu(n.raw))return t.join(" ");const r=t.slice(1),o=[n.raw[0]];for(let e=1;e0&&r(s)?n>1?e(s,n-1,r,o,u):bu(u,s):o||(u[u.length]=s)}return u};var Uu=function(e){return(null==e?0:e.length)?Wu(e,1):[]};const Ju={key:e=>1===e.length?"-".concat(e):"--".concat(e),value:e=>bo.apiDescriptor.value(e),pair:({key:e,value:t})=>!1===t?"--no-".concat(e):!0===t?Ju.key(e):""===t?"".concat(Ju.key(e)," without an argument"):"".concat(Ju.key(e),"=").concat(t)};class zu extends bo.ChoiceSchema{constructor({name:e,flags:t}){super({name:e,choices:t}),this._flags=t.slice().sort()}preprocess(e,t){if("string"==typeof e&&0!==e.length&&!this._flags.includes(e)){const n=this._flags.find((t=>xo(t,e)<3));if(n)return t.logger.warn(["Unknown flag ".concat(Cu.yellow(t.descriptor.value(e)),","),"did you mean ".concat(Cu.blue(t.descriptor.value(n)),"?")].join(" ")),n}return e}expected(){return"a flag"}}let Gu;function Hu(t,n,{logger:r,isCLI:o=!1,passThrough:u=!1}={}){const i=u?Array.isArray(u)?(e,t)=>u.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):(t,n,r)=>{const o=e(r.schemas,["_"]);return bo.levenUnknownHandler(t,n,Object.assign({},r,{schemas:o}))},a=o?Ju:bo.apiDescriptor,s=function(e,{isCLI:t}){const n=[];t&&n.push(bo.AnySchema.create({name:"_"}));for(const r of e)n.push(Xu(r,{isCLI:t,optionInfos:e})),r.alias&&t&&n.push(bo.AliasSchema.create({name:r.alias,sourceName:r.name}));return n}(n,{isCLI:o}),l=new bo.Normalizer(s,{logger:r,unknown:i,descriptor:a}),c=!1!==r;c&&Gu&&(l._hasDeprecationWarned=Gu);const p=l.normalize(t);return c&&(Gu=l._hasDeprecationWarned),p}function Xu(e,{isCLI:t,optionInfos:n}){let r;const o={name:e.name},u={};switch(e.type){case"int":r=bo.IntegerSchema,t&&(o.preprocess=e=>Number(e));break;case"string":r=bo.StringSchema;break;case"choice":r=bo.ChoiceSchema,o.choices=e.choices.map((t=>"object"==typeof t&&t.redirect?Object.assign({},t,{redirect:{to:{key:e.name,value:t.redirect}}}):t));break;case"boolean":r=bo.BooleanSchema;break;case"flag":r=zu,o.flags=Uu(n.map((e=>[e.alias,e.description&&e.name,e.oppositeDescription&&"no-".concat(e.name)].filter(Boolean))));break;case"path":r=bo.StringSchema;break;default:throw new Error("Unexpected type ".concat(e.type))}if(e.exception?o.validate=(t,n,r)=>e.exception(t)||n.validate(t,r):o.validate=(e,t,n)=>void 0===e||t.validate(e,n),e.redirect&&(u.redirect=t=>t?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(u.deprecated=!0),t&&!e.array){const e=o.preprocess||(e=>e);o.preprocess=(t,n,r)=>n.preprocess(e(Array.isArray(t)?t[t.length-1]:t),r)}return e.array?bo.ArraySchema.create(Object.assign({},t?{preprocess:e=>[].concat(e)}:{},u,{valueSchema:r.create(o)})):r.create(Object.assign({},o,u))}var Yu={normalizeApiOptions:function(e,t,n){return Hu(e,t,n)},normalizeCliOptions:function(e,t,n){return Hu(e,t,Object.assign({isCLI:!0},n))}};function Ku(e,t){const{ignoreDecorators:n}=t||{};if(!n){const t=e.declaration&&e.declaration.decorators||e.decorators;if(t&&t.length>0)return Ku(t[0])}return e.range?e.range[0]:e.start}function Qu(e){const t=e.range?e.range[1]:e.end;return e.typeAnnotation?Math.max(t,Qu(e.typeAnnotation)):t}function Zu(e,t){return Ku(e)===Ku(t)}var ei={locStart:Ku,locEnd:Qu,composeLoc:function(e,t=e){const n=Ku(e);return[n,"number"==typeof t?n+t:Qu(t)]},hasSameLocStart:Zu,hasSameLoc:function(e,t){return Zu(e,t)&&function(e,t){return Qu(e)===Qu(t)}(e,t)}},ti=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}})),ni=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isIdentifierStart=l,t.isIdentifierChar=c,t.isIdentifierName=function(e){let t=!0;for(let n=0,r=Array.from(e);ne)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function l(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&o.test(String.fromCharCode(e)):s(e,i)))}function c(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&u.test(String.fromCharCode(e)):s(e,i)||s(e,a))))}})),ri=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isReservedWord=a,t.isStrictReservedWord=s,t.isStrictBindOnlyReservedWord=l,t.isStrictBindReservedWord=function(e,t){return s(e,t)||l(e)},t.isKeyword=function(e){return o.has(e)};const n=["implements","interface","let","package","private","protected","public","static","yield"],r=["eval","arguments"],o=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),u=new Set(n),i=new Set(r);function a(e,t){return t&&"await"===e||"enum"===e}function s(e,t){return a(e,t)||u.has(e)}function l(e){return i.has(e)}})),oi=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isIdentifierName",{enumerable:!0,get:function(){return ni.isIdentifierName}}),Object.defineProperty(t,"isIdentifierChar",{enumerable:!0,get:function(){return ni.isIdentifierChar}}),Object.defineProperty(t,"isIdentifierStart",{enumerable:!0,get:function(){return ni.isIdentifierStart}}),Object.defineProperty(t,"isReservedWord",{enumerable:!0,get:function(){return ri.isReservedWord}}),Object.defineProperty(t,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return ri.isStrictBindOnlyReservedWord}}),Object.defineProperty(t,"isStrictBindReservedWord",{enumerable:!0,get:function(){return ri.isStrictBindReservedWord}}),Object.defineProperty(t,"isStrictReservedWord",{enumerable:!0,get:function(){return ri.isStrictReservedWord}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return ri.isKeyword}})})),ui=/[|\\{}()[\]^$+*?.]/g,ii=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(ui,"\\$&")},ai={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},si=je((function(e){var t={};for(var n in ai)ai.hasOwnProperty(n)&&(t[ai[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var o in r)if(r.hasOwnProperty(o)){if(!("channels"in r[o]))throw new Error("missing channels property: "+o);if(!("labels"in r[o]))throw new Error("missing channel labels property: "+o);if(r[o].labels.length!==r[o].channels)throw new Error("channel and label counts mismatch: "+o);var u=r[o].channels,i=r[o].labels;delete r[o].channels,delete r[o].labels,Object.defineProperty(r[o],"channels",{value:u}),Object.defineProperty(r[o],"labels",{value:i})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,o=e[1]/255,u=e[2]/255,i=Math.min(r,o,u),a=Math.max(r,o,u),s=a-i;return a===i?t=0:r===a?t=(o-u)/s:o===a?t=2+(u-r)/s:u===a&&(t=4+(r-o)/s),(t=Math.min(60*t,360))<0&&(t+=360),n=(i+a)/2,[t,100*(a===i?0:n<=.5?s/(a+i):s/(2-a-i)),100*n]},r.rgb.hsv=function(e){var t,n,r,o,u,i=e[0]/255,a=e[1]/255,s=e[2]/255,l=Math.max(i,a,s),c=l-Math.min(i,a,s),p=function(e){return(l-e)/6/c+.5};return 0===c?o=u=0:(u=c/l,t=p(i),n=p(a),r=p(s),i===l?o=r-n:a===l?o=1/3+t-r:s===l&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*u,100*l]},r.rgb.hwb=function(e){var t=e[0],n=e[1],o=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,o))),100*(o=1-1/255*Math.max(t,Math.max(n,o)))]},r.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-o)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,o,u,i=1/0;for(var a in ai)if(ai.hasOwnProperty(a)){var s=ai[a],l=(o=e,u=s,Math.pow(o[0]-u[0],2)+Math.pow(o[1]-u[1],2)+Math.pow(o[2]-u[2],2));l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],o=t[1],u=t[2];return o/=100,u/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116)-16,500*(n-o),200*(o-(u=u>.008856?Math.pow(u,1/3):7.787*u+16/116))]},r.hsl.rgb=function(e){var t,n,r,o,u,i=e[0]/360,a=e[1]/100,s=e[2]/100;if(0===a)return[u=255*s,u,u];t=2*s-(n=s<.5?s*(1+a):s+a-s*a),o=[0,0,0];for(var l=0;l<3;l++)(r=i+1/3*-(l-1))<0&&r++,r>1&&r--,u=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,o[l]=255*u;return o},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,o=n,u=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,o*=u<=1?u:2-u,[t,100*(0===r?2*o/(u+o):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,o=Math.floor(t)%6,u=t-Math.floor(t),i=255*r*(1-n),a=255*r*(1-n*u),s=255*r*(1-n*(1-u));switch(r*=255,o){case 0:return[r,s,i];case 1:return[a,r,i];case 2:return[i,r,s];case 3:return[i,a,r];case 4:return[s,i,r];case 5:return[r,i,a]}},r.hsv.hsl=function(e){var t,n,r,o=e[0],u=e[1]/100,i=e[2]/100,a=Math.max(i,.01);return r=(2-u)*i,n=u*a,[o,100*(n=(n/=(t=(2-u)*a)<=1?t:2-t)||0),100*(r/=2)]},r.hwb.rgb=function(e){var t,n,r,o,u,i,a,s=e[0]/360,l=e[1]/100,c=e[2]/100,p=l+c;switch(p>1&&(l/=p,c/=p),r=6*s-(t=Math.floor(6*s)),0!=(1&t)&&(r=1-r),o=l+r*((n=1-c)-l),t){default:case 6:case 0:u=n,i=o,a=l;break;case 1:u=o,i=n,a=l;break;case 2:u=l,i=n,a=o;break;case 3:u=l,i=o,a=n;break;case 4:u=o,i=l,a=n;break;case 5:u=n,i=l,a=o}return[255*u,255*i,255*a]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,r*(1-o)+o))]},r.xyz.rgb=function(e){var t,n,r,o=e[0]/100,u=e[1]/100,i=e[2]/100;return n=-.9689*o+1.8758*u+.0415*i,r=.0557*o+-.204*u+1.057*i,t=(t=3.2406*o+-1.5372*u+-.4986*i)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,o=e[0];t=e[1]/500+(n=(o+16)/116),r=n-e[2]/200;var u=Math.pow(n,3),i=Math.pow(t,3),a=Math.pow(r,3);return n=u>.008856?u:(n-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,r=a>.008856?a:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],o=e[2];return(t=360*Math.atan2(o,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+o*o),t]},r.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],o=e[2],u=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(u=Math.round(u/50)))return 30;var i=30+(Math.round(o/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===u&&(i+=60),i},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,o=e[2]/255,u=Math.max(Math.max(n,r),o),i=Math.min(Math.min(n,r),o),a=u-i;return t=a<=0?0:u===n?(r-o)/a%6:u===r?2+(o-n)/a:4+(n-r)/a+4,t/=6,[360*(t%=1),100*a,100*(a<1?i/(1-a):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,o=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(o=(n-.5*r)/(1-r)),[e[0],100*r,100*o]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var o,u=[0,0,0],i=t%1*6,a=i%1,s=1-a;switch(Math.floor(i)){case 0:u[0]=1,u[1]=a,u[2]=0;break;case 1:u[0]=s,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=a;break;case 3:u[0]=0,u[1]=s,u[2]=1;break;case 4:u[0]=a,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=s}return o=(1-n)*r,[255*(n*u[0]+o),255*(n*u[1]+o),255*(n*u[2]+o)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,o=0;return r<1&&(o=(n-r)/(1-r)),[e[0],100*r,100*o]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}));function li(e){var t=function(){for(var e={},t=Object.keys(si),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,o=0;o1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))}));var fi=di,hi=je((function(e){const t=(e,t)=>function(){const n=e.apply(fi,arguments);return"\x1b[".concat(n+t,"m")},n=(e,t)=>function(){const n=e.apply(fi,arguments);return"\x1b[".concat(38+t,";5;").concat(n,"m")},r=(e,t)=>function(){const n=e.apply(fi,arguments);return"\x1b[".concat(38+t,";2;").concat(n[0],";").concat(n[1],";").concat(n[2],"m")};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.grey=o.color.gray;for(const t of Object.keys(o)){const n=o[t];for(const t of Object.keys(n)){const r=n[t];o[t]={open:"\x1b[".concat(r[0],"m"),close:"\x1b[".concat(r[1],"m")},n[t]=o[t],e.set(r[0],r[1])}Object.defineProperty(o,t,{value:n,enumerable:!1}),Object.defineProperty(o,"codes",{value:e,enumerable:!1})}const u=e=>e,i=(e,t,n)=>[e,t,n];o.color.close="\x1b[39m",o.bgColor.close="\x1b[49m",o.color.ansi={ansi:t(u,0)},o.color.ansi256={ansi256:n(u,0)},o.color.ansi16m={rgb:r(i,0)},o.bgColor.ansi={ansi:t(u,10)},o.bgColor.ansi256={ansi256:n(u,10)},o.bgColor.ansi16m={rgb:r(i,10)};for(let e of Object.keys(fi)){if("object"!=typeof fi[e])continue;const u=fi[e];"ansi16"===e&&(e="ansi"),"ansi16"in u&&(o.color.ansi[e]=t(u.ansi16,0),o.bgColor.ansi[e]=t(u.ansi16,10)),"ansi256"in u&&(o.color.ansi256[e]=n(u.ansi256,0),o.bgColor.ansi256[e]=n(u.ansi256,10)),"rgb"in u&&(o.color.ansi16m[e]=r(u.rgb,0),o.bgColor.ansi16m[e]=r(u.rgb,10))}return o}})}));const mi=Oe.env;let gi;function Di(e){return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(function(e){if(!1===gi)return 0;if(Lr("color=16m")||Lr("color=full")||Lr("color=truecolor"))return 3;if(Lr("color=256"))return 2;if(e&&!e.isTTY&&!0!==gi)return 0;const t=gi?1:0;if("win32"===Oe.platform){const e=Mr.release().split(".");return Number(Oe.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in mi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in mi))||"codeship"===mi.CI_NAME?1:t;if("TEAMCITY_VERSION"in mi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(mi.TEAMCITY_VERSION)?1:0;if("truecolor"===mi.COLORTERM)return 3;if("TERM_PROGRAM"in mi){const e=parseInt((mi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(mi.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(mi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(mi.TERM)||"COLORTERM"in mi?1:(mi.TERM,t)}(e))}Lr("no-color")||Lr("no-colors")||Lr("color=false")?gi=!1:(Lr("color")||Lr("colors")||Lr("color=true")||Lr("color=always"))&&(gi=!0),"FORCE_COLOR"in mi&&(gi=0===mi.FORCE_COLOR.length||0!==parseInt(mi.FORCE_COLOR,10));var yi={supportsColor:Di,stdout:Di(Oe.stdout),stderr:Di(Oe.stderr)};const Ei=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Ci=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,bi=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,vi=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,Ai=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1b"],["a","\x07"]]);function Fi(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):Ai.get(e)||e}function xi(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let o;for(const t of r)if(isNaN(t)){if(!(o=t.match(bi)))throw new Error("Invalid Chalk template style argument: ".concat(t," (in style '").concat(e,"')"));n.push(o[2].replace(vi,((e,t,n)=>t?Fi(t):n)))}else n.push(Number(t));return n}function Si(e){Ci.lastIndex=0;const t=[];let n;for(;null!==(n=Ci.exec(e));){const e=n[1];if(n[2]){const r=xi(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function wi(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error("Unknown Chalk style: ".concat(e));r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}var Ti=(e,t)=>{const n=[],r=[];let o=[];if(t.replace(Ei,((t,u,i,a,s,l)=>{if(u)o.push(Fi(u));else if(a){const t=o.join("");o=[],r.push(0===n.length?t:wi(e,n)(t)),n.push({inverse:i,styles:Si(a)})}else if(s){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(wi(e,n)(o.join(""))),o=[],n.pop()}else o.push(l)})),r.push(o.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")},Bi=je((function(e){const t=yi.stdout,n="win32"===Oe.platform&&!(Oe.env.TERM||"").toLowerCase().startsWith("xterm"),r=["ansi","ansi","ansi256","ansi16m"],o=new Set(["gray"]),u=Object.create(null);function i(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function a(e){if(!this||!(this instanceof a)||this.template){const t={};return i(t,e),t.template=function(){const e=[].slice.call(arguments);return p.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,a.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=a,t.template}i(this,e)}n&&(hi.blue.open="\x1b[94m");for(const e of Object.keys(hi))hi[e].closeRe=new RegExp(ii(hi[e].close),"g"),u[e]={get(){const t=hi[e];return l.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};u.visible={get(){return l.call(this,this._styles||[],!0,"visible")}},hi.color.closeRe=new RegExp(ii(hi.color.close),"g");for(const e of Object.keys(hi.color.ansi))o.has(e)||(u[e]={get(){const t=this.level;return function(){const n=hi.color[r[t]][e].apply(null,arguments),o={open:n,close:hi.color.close,closeRe:hi.color.closeRe};return l.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}});hi.bgColor.closeRe=new RegExp(ii(hi.bgColor.close),"g");for(const e of Object.keys(hi.bgColor.ansi)){if(o.has(e))continue;u["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n=hi.bgColor[r[t]][e].apply(null,arguments),o={open:n,close:hi.bgColor.close,closeRe:hi.bgColor.closeRe};return l.call(this,this._styles?this._styles.concat(o):[o],this._empty,e)}}}}const s=Object.defineProperties((()=>{}),u);function l(e,t,n){const r=function(){return c.apply(r,arguments)};r._styles=e,r._empty=t;const o=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>o.level,set(e){o.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>o.enabled,set(e){o.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=s,r}function c(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;no(e))).join("\n"):t[0]}))}(function(e){return{keyword:e.cyan,capitalized:e.yellow,jsx_tag:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold}}(n),e)}return e};var n,r=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}n.default=e,t&&t.set(e,n);return n}(ti),o=(n=Bi)&&n.__esModule?n:{default:n};function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}const i=/\r\n|[\n\r\u2028\u2029]/,a=/^[a-z][\w-]*$/i,s=/^[()[\]{}]$/;function l(e){return o.default.supportsColor||e.forceColor}function c(e){let t=o.default;return e.forceColor&&(t=new o.default.constructor({enabled:!0,level:1})),t}})),ki=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=i,t.default=function(e,t,n,r={}){if(!o){o=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(Oe.emitWarning)Oe.emitWarning(e,"DeprecationWarning");else{new Error(e).name="DeprecationWarning",console.warn(new Error(e))}}n=Math.max(n,0);return i(e,{start:{column:n,line:t}},r)};var n=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)){var i=o?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}n.default=e,t&&t.set(e,n);return n}(Ni);function r(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}let o=!1;const u=/\r\n|[\n\r\u2028\u2029]/;function i(e,t,r={}){const o=(r.highlightCode||r.forceColor)&&(0,n.shouldHighlight)(r),i=(0,n.getChalk)(r),a=function(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}(i),s=(e,t)=>o?e(t):t,l=e.split(u),{start:c,end:p,markerLines:d}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),o=Object.assign({},r,e.end),{linesAbove:u=2,linesBelow:i=3}=n||{},a=r.line,s=r.column,l=o.line,c=o.column;let p=Math.max(a-(u+1),0),d=Math.min(t.length,l+i);-1===a&&(p=0),-1===l&&(d=t.length);const f=l-a,h={};if(f)for(let e=0;e<=f;e++){const n=e+a;if(s)if(0===e){const e=t[n-1].length;h[n]=[s,e-s+1]}else if(e===f)h[n]=[0,c];else{const r=t[n-e].length;h[n]=[0,r]}else h[n]=!0}else h[a]=s===c?!s||[s,0]:[s,c-s];return{start:p,end:d,markerLines:h}}(t,l,r),f=t.start&&"number"==typeof t.start.column,h=String(p).length;let m=(o?(0,n.default)(e,r):e).split(u).slice(c,p).map(((e,t)=>{const n=c+1+t,o=" ".concat(n).slice(-h),u=" ".concat(o," | "),i=d[n],l=!d[n+1];if(i){let t="";if(Array.isArray(i)){const n=e.slice(0,Math.max(i[0]-1,0)).replace(/[^\t]/g," "),o=i[1]||1;t=["\n ",s(a.gutter,u.replace(/\d/g," ")),n,s(a.marker,"^").repeat(o)].join(""),l&&r.message&&(t+=" "+s(a.message,r.message))}return[s(a.marker,">"),s(a.gutter,u),e,t].join("")}return" ".concat(s(a.gutter,u)).concat(e)})).join("\n");return r.message&&!f&&(m="".concat(" ".repeat(h+1)).concat(r.message,"\n").concat(m)),o?i.reset(m):m}})),Pi=_e(fn);const{ConfigError:Oi}=gr,{locStart:Ii,locEnd:Li}=ei,Mi=Object.getOwnPropertyNames,ji=Object.getOwnPropertyDescriptor;function _i(e){const t={};for(const n of e.plugins)if(n.parsers)for(const e of Mi(n.parsers))Object.defineProperty(t,e,ji(n.parsers,e));return t}function Ri(e,t){if(t=t||_i(e),"function"==typeof e.parser)return{parse:e.parser,astFormat:"estree",locStart:Ii,locEnd:Li};if("string"==typeof e.parser){if(Object.prototype.hasOwnProperty.call(t,e.parser))return t[e.parser];throw new Oi("Couldn't resolve parser \"".concat(e.parser,'". Parsers must be explicitly added to the standalone bundle.'))}}var Vi={parse:function(e,t){const n=_i(t),r=Object.keys(n).reduce(((e,t)=>Object.defineProperty(e,t,{enumerable:!0,get:()=>n[t].parse})),{}),o=Ri(t,n);try{return o.preprocess&&(e=o.preprocess(e,t)),{text:e,ast:o.parse(e,r,t)}}catch(t){const{loc:n}=t;if(n){const{codeFrameColumns:r}=ki;throw t.codeFrame=r(e,n,{highlightCode:!0}),t.message+="\n"+t.codeFrame,t}throw t.stack}},resolveParser:Ri};const{UndefinedParserError:$i}=gr,{getSupportInfo:qi}=pt,{resolveParser:Wi}=Vi,Ui={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function Ji(e,t){const n=Pi.basename(e).toLowerCase(),r=qi({plugins:t}).languages.filter((e=>null!==e.since));let o=r.find((e=>e.extensions&&e.extensions.some((e=>n.endsWith(e)))||e.filenames&&e.filenames.some((e=>e.toLowerCase()===n))));if(!o&&!n.includes(".")){const t=function(e){if("string"!=typeof e)return"";let t;try{t=cr.openSync(e,"r")}catch(e){return""}try{const e=new pr(t).next().toString("utf8"),n=e.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/);if(n)return n[1];const r=e.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/);return r?r[1]:""}catch(e){return""}finally{try{cr.closeSync(t)}catch(e){}}}(e);o=r.find((e=>e.interpreters&&e.interpreters.includes(t)))}return o&&o.parsers[0]}var zi={normalize:function(e,t){t=t||{};const n=Object.assign({},e),r=qi({plugins:e.plugins,showUnreleased:!0,showDeprecated:!0}).options,o=Object.assign({},Ui,dr(r.filter((e=>void 0!==e.default)).map((e=>[e.name,e.default]))));if(!n.parser)if(n.filepath){if(n.parser=Ji(n.filepath,n.plugins),!n.parser)throw new $i("No parser could be inferred for file: ".concat(n.filepath))}else{(t.logger||console).warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),n.parser="babel"}const u=Wi(Yu.normalizeApiOptions(n,[r.find((e=>"parser"===e.name))],{passThrough:!0,logger:!1}));n.astFormat=u.astFormat,n.locEnd=u.locEnd,n.locStart=u.locStart;const i=function(e){const{astFormat:t}=e;if(!t)throw new Error("getPlugin() requires astFormat to be set");const n=e.plugins.find((e=>e.printers&&e.printers[t]));if(!n)throw new Error("Couldn't find plugin for AST format \"".concat(t,'"'));return n}(n);n.printer=i.printers[n.astFormat];const a=r.filter((e=>e.pluginDefaults&&void 0!==e.pluginDefaults[i.name])).reduce(((e,t)=>Object.assign(e,{[t.name]:t.pluginDefaults[i.name]})),{}),s=Object.assign({},o,a);return Object.keys(s).forEach((e=>{null==n[e]&&(n[e]=s[e])})),"json"===n.parser&&(n.trailingComma="none"),Yu.normalizeApiOptions(n,r,Object.assign({passThrough:Object.keys(Ui)},t))},hiddenDefaults:Ui,inferParser:Ji};var Gi=function e(t,n,r){if(Array.isArray(t))return t.map((t=>e(t,n,r))).filter(Boolean);if(!t||"object"!=typeof t)return t;const o=n.printer.massageAstNode;let u;u=o&&o.ignoredProperties?o.ignoredProperties:new Set;const i={};for(const r of Object.keys(t))u.has(r)||"function"==typeof t[r]||(i[r]=e(t[r],n,t));if(o){const e=o(t,i,r);if(null===e)return;if(e)return e}return i};function Hi(){}Hi.ok=function(){},Hi.strictEqual=function(){};var Xi=_e(Object.freeze({__proto__:null,default:Hi}));const{builders:{concat:Yi,line:Ki,hardline:Qi,breakParent:Zi,indent:ea,lineSuffix:ta,join:na,cursor:ra}}=rn,{hasNewline:oa,skipNewline:ua,skipSpaces:ia,isPreviousLineEmpty:aa,addLeadingComment:sa,addDanglingComment:la,addTrailingComment:ca}=Nt,pa=Symbol("child-nodes");function da(e,t,n){if(!e)return;const{printer:r,locStart:o,locEnd:u}=t;if(n){if(r.canAttachComment&&r.canAttachComment(e)){let t;for(t=n.length-1;t>=0&&!(o(n[t])<=o(e)&&u(n[t])<=u(e));--t);return void n.splice(t+1,0,e)}}else if(e[pa])return e[pa];const i=r.getCommentChildNodes&&r.getCommentChildNodes(e,t)||"object"==typeof e&&Object.keys(e).filter((e=>"enclosingNode"!==e&&"precedingNode"!==e&&"followingNode"!==e&&"tokens"!==e&&"comments"!==e)).map((t=>e[t]));return i?(n||Object.defineProperty(e,pa,{value:n=[],enumerable:!1}),i.forEach((e=>{da(e,t,n)})),n):void 0}function fa(e,t,n){const{locStart:r,locEnd:o}=n,u=r(t),i=o(t),a=da(e,n);let s,l,c=0,p=a.length;for(;c>1,d=a[e],f=r(d),h=o(d);if(f<=u&&i<=h)return t.enclosingNode=d,void fa(d,t,n);if(f<=u)s=d,c=e+1;else{if(!(i<=f))throw new Error("Comment location overlaps with node location");l=d,p=e}}if(t.enclosingNode&&"TemplateLiteral"===t.enclosingNode.type){const{quasis:e}=t.enclosingNode,r=ga(e,t,n);s&&ga(e,s,n)!==r&&(s=null),l&&ga(e,l,n)!==r&&(l=null)}s&&(t.precedingNode=s),l&&(t.followingNode=l)}function ha(e,t,n){const r=e.length;if(0===r)return;const{precedingNode:o,followingNode:u,enclosingNode:i}=e[0],a=n.printer.getGapRegex&&n.printer.getGapRegex(i)||/^[\s(]*$/;let s,l=n.locStart(u);for(s=r;s>0;--s){const r=e[s-1];Xi.strictEqual(r.precedingNode,o),Xi.strictEqual(r.followingNode,u);const i=t.slice(n.locEnd(r),l);if(!a.test(i))break;l=n.locStart(r)}e.forEach(((e,t)=>{t1&&e.comments.sort(((e,t)=>n.locStart(e)-n.locStart(t)));e.length=0}function ma(e,t){return e.getValue().printed=!0,t.printer.printComment(e,t)}function ga(e,t,n){const r=n.locStart(t)-1;for(let t=1;t{if("json"===r.parser||"json5"===r.parser||"__js_expression"===r.parser||"__vue_expression"===r.parser){if(u(a)-u(t)<=0)return void sa(t,a);if(i(a)-i(t)>=0)return void ca(t,a)}fa(t,a,r);const{precedingNode:l,enclosingNode:c,followingNode:p}=a,d=r.printer.handleComments&&r.printer.handleComments.ownLine?r.printer.handleComments.ownLine:()=>!1,f=r.printer.handleComments&&r.printer.handleComments.endOfLine?r.printer.handleComments.endOfLine:()=>!1,h=r.printer.handleComments&&r.printer.handleComments.remaining?r.printer.handleComments.remaining:()=>!1,m=e.length-1===s;if(oa(n,u(a),{backwards:!0}))d(a,n,r,t,m)||(p?sa(p,a):l?ca(l,a):la(c||t,a));else if(oa(n,i(a)))f(a,n,r,t,m)||(l?ca(l,a):p?sa(p,a):la(c||t,a));else if(h(a,n,r,t,m));else if(l&&p){const e=o.length;if(e>0){o[e-1].followingNode!==a.followingNode&&ha(o,n,r)}o.push(a)}else l?ca(l,a):p?sa(p,a):la(c||t,a)})),ha(o,n,r),e.forEach((e=>{delete e.precedingNode,delete e.enclosingNode,delete e.followingNode}))},printComments:function(e,t,n,r){const o=e.getValue(),u=t(e),i=o&&o.comments;if(!i||0===i.length)return Da(e,n,u);const a=[],s=[r?";":"",u];return e.each((e=>{const t=e.getValue(),{leading:r,trailing:o}=t;if(r){const r=function(e,t){const n=e.getValue(),r=ma(e,t);if(!r)return"";if(t.printer.isBlockComment&&t.printer.isBlockComment(n)){const e=oa(t.originalText,t.locEnd(n))?oa(t.originalText,t.locStart(n),{backwards:!0})?Qi:Ki:" ";return Yi([r,e])}return Yi([r,Qi])}(e,n);if(!r)return;a.push(r);const o=n.originalText,u=ua(o,ia(o,n.locEnd(t)));!1!==u&&oa(o,u)&&a.push(Qi)}else o&&s.push(function(e,t){const n=e.getValue(),r=ma(e,t);if(!r)return"";const{printer:o,originalText:u,locStart:i}=t,a=o.isBlockComment&&o.isBlockComment(n);if(oa(u,i(n),{backwards:!0})){const e=aa(u,n,i);return ta(Yi([Qi,e?Qi:"",r]))}let s=Yi([" ",r]);return a||(s=Yi([ta(s),Zi])),s}(e,n))}),"comments"),Da(e,n,Yi(a.concat(s)))},printDanglingComments:function(e,t,n,r){const o=[],u=e.getValue();return u&&u.comments?(e.each((e=>{const n=e.getValue();!n||n.leading||n.trailing||r&&!r(n)||o.push(ma(e,t))}),"comments"),0===o.length?"":n?na(Qi,o):ea(Yi([Qi,na(Qi,o)]))):""},getSortedChildNodes:da,ensureAllCommentsPrinted:function(e){e&&e.forEach((e=>{if(!e.printed)throw new Error('Comment "'+e.value.trim()+'" was not printed. Please report this error!');delete e.printed}))}};function Ea(e,t){const n=Ca(e.stack,t);return-1===n?null:e.stack[n]}function Ca(e,t){for(let n=e.length-1;n>=0;n-=2){const r=e[n];if(r&&!Array.isArray(r)&&--t<0)return n}return-1}var ba=class{constructor(e){this.stack=[e]}getName(){const{stack:e}=this,{length:t}=e;return t>1?e[t-2]:null}getValue(){return se(this.stack)}getNode(e=0){return Ea(this,e)}getParentNode(e=0){return Ea(this,e+1)}call(e,...t){const{stack:n}=this,{length:r}=n;let o=se(n);for(const e of t)o=o[e],n.push(e,o);const u=e(this);return n.length=r,u}callParent(e,t=0){const n=Ca(this.stack,t+1),r=this.stack.splice(n+1),o=e(this);return this.stack.push(...r),o}each(e,...t){const{stack:n}=this,{length:r}=n;let o=se(n);for(const e of t)o=o[e],n.push(e,o);for(let t=0;t{n[r]=e(t,r)}),...t),n}match(...e){let t=this.stack.length-1,n=null,r=this.stack[t--];for(const o of e){if(void 0===r)return!1;let e=null;if("number"==typeof n&&(e=n,n=this.stack[t--],r=this.stack[t--]),o&&!o(r,n,e))return!1;n=this.stack[t--],r=this.stack[t--]}return!0}};const{utils:{stripTrailingHardline:va}}=rn,{normalize:Aa}=zi;var Fa={printSubtree:function(e,t,n,r){if(n.printer.embed&&"auto"===n.embeddedLanguageFormatting)return n.printer.embed(e,t,((e,t,o)=>function(e,t,n,r,{stripTrailingHardline:o=!1}={}){const u=Aa(Object.assign({},n,t,{parentParser:n.parser,embeddedInHtml:!(!n.embeddedInHtml&&"html"!==n.parser&&"vue"!==n.parser&&"angular"!==n.parser&&"lwc"!==n.parser),originalText:e}),{passThrough:!0}),i=Vi.parse(e,u),{ast:a}=i;e=i.text;const s=a.comments;delete a.comments,ya.attach(s,a,e,u),u[Symbol.for("comments")]=s||[],u[Symbol.for("tokens")]=a.tokens||[];const l=r(a,u);if(ya.ensureAllCommentsPrinted(s),o)return"string"==typeof l?l.replace(/(?:\r?\n)*$/,""):va(l,!0);return l}(e,t,n,r,o)),n)}};const xa=rn,Sa=xa.builders,{concat:wa,hardline:Ta,addAlignmentToDoc:Ba}=Sa,Na=xa.utils;function ka(e,t,n=0){const{printer:r}=t;r.preprocess&&(e=r.preprocess(e,t));const o=new Map;let u=function e(n,u){const i=n.getValue(),a=i&&"object"==typeof i&&void 0===u;if(a&&o.has(i))return o.get(i);let s;return s=r.willPrintOwnComments&&r.willPrintOwnComments(n,t)?Pa(n,t,e,u):ya.printComments(n,(n=>Pa(n,t,e,u)),t,u&&u.needsSemi),a&&o.set(i,s),s}(new ba(e));return n>0&&(u=Ba(wa([Ta,u]),n,t.tabWidth)),Na.propagateBreaks(u),u}function Pa(e,t,n,r){Xi.ok(e instanceof ba);const o=e.getValue(),{printer:u}=t;if(u.hasPrettierIgnore&&u.hasPrettierIgnore(e))return function(e,t){const{originalText:n,[Symbol.for("comments")]:r,locStart:o,locEnd:u}=t,i=o(e),a=u(e);for(const e of r)o(e)>=i&&u(e)<=a&&(e.printed=!0);return n.slice(i,a)}(o,t);if(o)try{const r=Fa.printSubtree(e,n,t,ka);if(r)return r}catch(e){if(Me.PRETTIER_DEBUG)throw e}return u.print(e,t,n,r)}var Oa=ka;function Ia(e,t,n,r,o=[]){if(!(tn.locEnd(e))){for(const u of ya.getSortedChildNodes(e,n)){const i=Ia(u,t,n,r,[e,...o]);if(i)return i}return!r||r(e)?{node:e,parentNodes:o}:void 0}}const La=new Set(["ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral"]),Ma=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function ja(e,t){if(null==t)return!1;switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"espree":case"meriyah":return function(e){return"Directive"===e||"TypeAlias"===e||"TSExportAssignment"===e||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration")}(t.type);case"json":return La.has(t.type);case"graphql":return Ma.has(t.kind);case"vue":return"root"!==t.tag}return!1}var _a={calculateRange:function(e,t,n){const r=e.slice(t.rangeStart,t.rangeEnd),o=Math.max(t.rangeStart+r.search(/\S/),t.rangeStart);let u;for(u=t.rangeEnd;u>t.rangeStart&&!/\S/.test(e[u-1]);--u);const i=Ia(n,o,t,(e=>ja(t,e))),a=Ia(n,u,t,(e=>ja(t,e)));if(!i||!a)return{rangeStart:0,rangeEnd:0};const{startNode:s,endNode:l}=function(e,t,n){let r=e.node,o=t.node;if(r===o)return{startNode:r,endNode:o};for(const r of t.parentNodes){if(!("Program"!==r.type&&"File"!==r.type&&n.locStart(r)>=n.locStart(e.node)))break;o=r}for(const o of e.parentNodes){if(!("Program"!==o.type&&"File"!==o.type&&n.locEnd(o)<=n.locEnd(t.node)))break;r=o}return{startNode:r,endNode:o}}(i,a,t);return{rangeStart:Math.min(t.locStart(s),t.locStart(l)),rangeEnd:Math.max(t.locEnd(s),t.locEnd(l))}},findNodeAtOffset:Ia};const{printer:{printDocToString:Ra},debug:{printDocToDebug:Va}}=rn,{getAlignmentSize:$a}=Nt,{guessEndOfLine:qa,convertEndOfLineToChars:Wa,countEndOfLineChars:Ua,normalizeEndOfLine:Ja}=kt,za=zi.normalize,Ga=Symbol("cursor");function Ha(e,t,n){const r=t.comments;return r&&(delete t.comments,ya.attach(r,t,e,n)),n[Symbol.for("comments")]=r||[],n[Symbol.for("tokens")]=t.tokens||[],n.originalText=e,r}function Xa(e,t,n){if(!e||!e.trim().length)return{formatted:"",cursorOffset:-1};n=n||0;const{ast:r,text:o}=Vi.parse(e,t);if(t.cursorOffset>=0){const e=_a.findNodeAtOffset(r,t.cursorOffset,t);e&&e.node&&(t.cursorNode=e.node)}const u=Ha(o,r,t),i=Oa(r,t,n),a=Ra(i,t);if(ya.ensureAllCommentsPrinted(u),n>0){const e=a.formatted.trim();void 0!==a.cursorNodeStart&&(a.cursorNodeStart-=a.formatted.indexOf(e)),a.formatted=e+Wa(t.endOfLine)}if(t.cursorOffset>=0){let e,n,r,u,i;if(t.cursorNode&&a.cursorNodeText?(e=t.locStart(t.cursorNode),n=o.slice(e,t.locEnd(t.cursorNode)),r=t.cursorOffset-e,u=a.cursorNodeStart,i=a.cursorNodeText):(e=0,n=o,r=t.cursorOffset,u=0,i=a.formatted),n===i)return{formatted:a.formatted,cursorOffset:u+r};const s=n.split("");s.splice(r,0,Ga);const l=i.split(""),c=J.diffArrays(s,l);let p=u;for(const e of c)if(e.removed){if(e.value.includes(Ga))break}else p+=e.count;return{formatted:a.formatted,cursorOffset:p}}return{formatted:a.formatted,cursorOffset:-1}}function Ya(e,t,n){return"number"!=typeof t||isNaN(t)||t<0||t>e.length?n:t}function Ka(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:o}=t;return n=Ya(e,n,-1),r=Ya(e,r,0),o=Ya(e,o,e.length),Object.assign({},t,{cursorOffset:n,rangeStart:r,rangeEnd:o})}function Qa(e,t){let{cursorOffset:n,rangeStart:r,rangeEnd:o,endOfLine:u}=Ka(e,t);const i="\ufeff"===e.charAt(0);if(i&&(e=e.slice(1),n--,r--,o--),"auto"===u&&(u=qa(e)),e.includes("\r")){const t=t=>Ua(e.slice(0,Math.max(t,0)),"\r\n");n-=t(n),r-=t(r),o-=t(o),e=Ja(e)}return{hasBOM:i,text:e,options:Ka(e,Object.assign({},t,{cursorOffset:n,rangeStart:r,rangeEnd:o,endOfLine:u}))}}function Za(e,t){let{hasBOM:n,text:r,options:o}=Qa(e,za(t));const u=Vi.resolveParser(o),i=!u.hasPragma||u.hasPragma(r);if(o.requirePragma&&!i)return{formatted:e,cursorOffset:t.cursorOffset};let a;return o.rangeStart>0||o.rangeEndo&&t.cursorOffset=u?d=t.cursorOffset+(p.length-i.length):c.cursorOffset>=0&&(d=c.cursorOffset+o);let f=r.slice(0,o)+p+r.slice(u);if("lf"!==t.endOfLine){const e=Wa(t.endOfLine);d>=0&&"\r\n"===e&&(d+=Ua(f.slice(0,d),"\n")),f=f.replace(/\n/g,e)}return{formatted:f,cursorOffset:d}}(r,o):(!i&&o.insertPragma&&o.printer.insertPragma&&(r=o.printer.insertPragma(r)),a=Xa(r,o)),n&&(a.formatted="\ufeff"+a.formatted,a.cursorOffset>=0&&a.cursorOffset++),a}var es={formatWithCursor:Za,parse(e,t,n){const{text:r,options:o}=Qa(e,za(t)),u=Vi.parse(r,o);return n&&(u.ast=Gi(u.ast,o)),u},formatAST(e,t){t=za(t);const n=Oa(e,t);return Ra(n,t)},formatDoc:(e,t)=>Za(Va(e),Object.assign({},t,{parser:"babel"})).formatted,printToDoc(e,t){t=za(t);const{ast:n,text:r}=Vi.parse(e,t);return Ha(r,n,t),Oa(n,t)},printDocToString:(e,t)=>Ra(e,za(t))};const{getMaxContinuousCount:ts,getStringWidth:ns,getAlignmentSize:rs,getIndentSize:os,skip:us,skipWhitespace:is,skipSpaces:as,skipNewline:ss,skipToLineEnd:ls,skipEverythingButNewLine:cs,skipInlineComment:ps,skipTrailingComment:ds,hasNewline:fs,hasNewlineInRange:hs,hasSpaces:ms,isNextLineEmpty:gs,isNextLineEmptyAfterIndex:Ds,isPreviousLineEmpty:ys,getNextNonSpaceNonCommentCharacterIndex:Es,makeString:Cs,addLeadingComment:bs,addDanglingComment:vs,addTrailingComment:As}=Nt;var Fs={getMaxContinuousCount:ts,getStringWidth:ns,getAlignmentSize:rs,getIndentSize:os,skip:us,skipWhitespace:is,skipSpaces:as,skipNewline:ss,skipToLineEnd:ls,skipEverythingButNewLine:cs,skipInlineComment:ps,skipTrailingComment:ds,hasNewline:fs,hasNewlineInRange:hs,hasSpaces:ms,isNextLineEmpty:gs,isNextLineEmptyAfterIndex:Ds,isPreviousLineEmpty:ys,getNextNonSpaceNonCommentCharacterIndex:Es,makeString:Cs,addLeadingComment:bs,addDanglingComment:vs,addTrailingComment:As},xs=function(t,n){const{languageId:r}=t,o=e(t,["languageId"]);return Object.assign({linguistLanguageId:r},o,n(t))},Ss=je((function(e){!function(){function t(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&"FunctionDeclaration"===e.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()})),ws=je((function(e){!function(){var t,n,r,o,u,i;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],o=new Array(128),i=0;i<128;++i)o[i]=i>=97&&i<=122||i>=65&&i<=90||36===i||95===i;for(u=new Array(128),i=0;i<128;++i)u[i]=i>=97&&i<=122||i>=65&&i<=90||i>=48&&i<=57||36===i||95===i;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?o[e]:n.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?u[e]:n.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(e){return e<128?o[e]:t.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES6:function(e){return e<128?u[e]:t.NonAsciiIdentifierPart.test(a(e))}}}()})),Ts=je((function(e){!function(){var t=ws;function n(e,t){return!(!t&&"yield"===e)&&r(e,t)}function r(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function o(e,t){return"null"===e||"true"===e||"false"===e||n(e,t)}function u(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function i(e){var n,r,o;if(0===e.length)return!1;if(o=e.charCodeAt(0),!t.isIdentifierStartES5(o))return!1;for(n=1,r=e.length;n=r)return!1;if(!(56320<=(u=e.charCodeAt(n))&&u<=57343))return!1;o=1024*(o-55296)+(u-56320)+65536}if(!i(o))return!1;i=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:n,isKeywordES6:r,isReservedWordES5:o,isReservedWordES6:u,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:i,isIdentifierNameES6:a,isIdentifierES5:function(e,t){return i(e)&&!o(e,t)},isIdentifierES6:function(e,t){return a(e)&&!u(e,t)}}}()}));const Bs=je((function(e,t){t.ast=Ss,t.code=ws,t.keyword=Ts})).keyword.isIdentifierNameES5,{getLast:Ns,hasNewline:ks,hasNewlineInRange:Ps,skipWhitespace:Os}=Nt,{locStart:Is,locEnd:Ls,hasSameLocStart:Ms}=ei,js=new RegExp("^".concat("(?:(?=.)\\s)","*:")),_s=new RegExp("^".concat("(?:(?=.)\\s)","*::"));function Rs(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e))return e.some((e=>Rs(e,t)));const n=t(e);return"boolean"==typeof n?n:Object.keys(e).some((n=>Rs(e[n],t)))}function Vs(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||"CallExpression"===e.type||"OptionalCallExpression"===e.type||"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type}function $s(e){return"Block"===e.type||"CommentBlock"===e.type||"MultiLine"===e.type}const qs=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function Ws(e){return e&&qs.has(e.type)}function Us(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"BigIntLiteral"===e.type||"DecimalLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type}function Js(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"==typeof e.value}function zs(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"==typeof e.value}function Gs(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function Hs(e){return!("CallExpression"!==e.type&&"OptionalCallExpression"!==e.type||"Identifier"!==e.callee.type||"async"!==e.callee.name&&"inject"!==e.callee.name&&"fakeAsync"!==e.callee.name)}function Xs(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function Ys(e){return"get"===e.kind||"set"===e.kind}function Ks(e){return Ys(e)||Ms(e,e.value)}const Qs=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);const Zs=new Set(["AnyTypeAnnotation","TSAnyKeyword","NullLiteralTypeAnnotation","TSNullKeyword","ThisTypeAnnotation","TSThisType","NumberTypeAnnotation","TSNumberKeyword","VoidTypeAnnotation","TSVoidKeyword","BooleanTypeAnnotation","TSBooleanKeyword","BigIntTypeAnnotation","TSBigIntKeyword","SymbolTypeAnnotation","TSSymbolKeyword","StringTypeAnnotation","TSStringKeyword","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType","EmptyTypeAnnotation","MixedTypeAnnotation","TSNeverKeyword","TSObjectKeyword","TSUndefinedKeyword","TSUnknownKeyword"]);const el=/^(skip|[fx]?(it|describe|test))$/;function tl(e){return"CallExpression"===e.type||"OptionalCallExpression"===e.type}const nl=new RegExp("([ \n\r\t]+)"),rl=new RegExp("[^ \n\r\t]");function ol(e){return Us(e)&&(rl.test(sl(e))||!/\n/.test(sl(e)))}function ul(e,t){if(Xs(t))return yl(t);return t.comments&&t.comments.some((t=>t.leading&&ks(e,Ls(t))))}function il(e){return/^(\d+|\d+\.\d+)$/.test(e)}function al(e){return e.quasis.some((e=>e.value.raw.includes("\n")))}function sl(e){return e.extra?e.extra.raw:e.raw}const ll={"==":!0,"!=":!0,"===":!0,"!==":!0},cl={"*":!0,"/":!0,"%":!0},pl={">>":!0,">>>":!0,"<<":!0};const dl={};function fl(e){return dl[e]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(((e,t)=>{e.forEach((e=>{dl[e]=t}))}));const hl=new WeakMap;function ml(e){if(hl.has(e))return hl.get(e);const t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),hl.set(e,t),t}const gl=new WeakMap;function Dl(e){return"prettier-ignore"===e.value.trim()}function yl(e){return e&&(e.comments&&e.comments.length>0&&e.comments.some((e=>Dl(e)&&!e.unignore))||e.prettierIgnore)}function El(e){return yl(e.getValue())}var Cl={classChildNeedsASIProtection:function(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if("in"===t||"instanceof"===t)return!0}switch(e.type){case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const t=e.value?e.value.async:e.async,n=e.value?e.value.generator:e.generator;return!t&&"get"!==e.kind&&"set"!==e.kind&&!(!e.computed&&!n)}case"TSIndexSignature":return!0;default:return!1}}},classPropMayCauseASIProblems:function(e){const t=e.getNode();if("ClassProperty"!==t.type&&"FieldDefinition"!==t.type)return!1;const n=t.key&&t.key.name;return!("static"!==n&&"get"!==n&&"set"!==n||t.value||t.typeAnnotation)||void 0},getFunctionParameters:ml,iterateFunctionParametersPath:function(e,t){const n=e.getValue();let r=0;const o=e=>t(e,r++);n.this&&e.call(o,"this"),Array.isArray(n.parameters)?e.each(o,"parameters"):Array.isArray(n.params)&&e.each(o,"params"),n.rest&&e.call(o,"rest")},getCallArguments:function(e){if(gl.has(e))return gl.get(e);const t="ImportExpression"===e.type?[e.source]:e.arguments;return gl.set(e,t),t},iterateCallArgumentsPath:function(e,t){"ImportExpression"===e.getValue().type?e.call((e=>t(e,0)),"source"):e.each(t,"arguments")},hasRestParameter:function(e){if(e.rest)return!0;const t=ml(e);return t.length>0&&"RestElement"===Ns(t).type},getLeftSidePathName:function(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side.")},getParentExportDeclaration:function(e){const t=e.getParentNode();return"declaration"===e.getName()&&Ws(t)?t:null},getTypeScriptMappedTypeModifier:function(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t},hasDanglingComments:function(e){return e.comments&&e.comments.some((e=>!e.leading&&!e.trailing))},hasFlowAnnotationComment:function(e){return e&&$s(e[0])&&_s.test(e[0].value)},hasFlowShorthandAnnotationComment:function(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&$s(e.trailingComments[0])&&js.test(e.trailingComments[0].value)},hasLeadingComment:function(e){return e.comments&&e.comments.some((e=>e.leading))},hasLeadingOwnLineComment:ul,hasNakedLeftSide:Vs,hasNewlineBetweenOrAfterDecorators:function(e,t){return Ps(t.originalText,Is(e.decorators[0]),Ls(Ns(e.decorators)))||ks(t.originalText,Ls(Ns(e.decorators)))},hasNgSideEffect:function(e){return Rs(e.getValue(),(e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}}))},hasNode:Rs,hasPrettierIgnore:function(e){return El(e)||function(e){const t=e.getValue(),n=e.getParentNode();if(!(n&&t&&Xs(t)&&Xs(n)))return!1;let r=null;for(let e=n.children.indexOf(t);e>0;e--){const t=n.children[e-1];if("JSXText"!==t.type||ol(t)){r=t;break}}return r&&"JSXExpressionContainer"===r.type&&"JSXEmptyExpression"===r.expression.type&&r.expression.comments&&r.expression.comments.some((e=>Dl(e)))}(e)},hasTrailingComment:function(e){return e.comments&&e.comments.some((e=>e.trailing))},hasTrailingLineComment:function(e){return e.comments&&e.comments.some((e=>e.trailing&&!$s(e)))},hasIgnoreComment:El,hasNodeIgnoreComment:yl,identity:function(e){return e},isBinaryish:function(e){return Qs.has(e.type)},isBlockComment:$s,isLineComment:function(e){return"Line"===e.type||"CommentLine"===e.type||"SingleLine"===e.type||"HashbangComment"===e.type||"HTMLOpen"===e.type||"HTMLClose"===e.type},isPrettierIgnoreComment:Dl,isCallOrOptionalCallExpression:tl,isEmptyJSXElement:function(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return Us(t)&&!ol(t)},isExportDeclaration:Ws,isFlowAnnotationComment:function(e,t){const n=Is(t),r=Os(e,Ls(t));return!1!==r&&"/*"===e.slice(n,n+2)&&"*/"===e.slice(r,r+2)},isFunctionCompositionArgs:function(e){if(e.length<=1)return!1;let t=0;for(const n of e)if(Gs(n)){if(t+=1,t>1)return!0}else if(tl(n))for(const e of n.arguments)if(Gs(e))return!0;return!1},isFunctionNotation:Ks,isFunctionOrArrowExpression:Gs,isGetterOrSetter:Ys,isJestEachTemplateLiteral:function(e,t){const n=/^[fx]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&n.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&n.test(t.tag.object.object.name))},isJSXNode:Xs,isJSXWhitespaceExpression:function(e){return"JSXExpressionContainer"===e.type&&Us(e.expression)&&" "===e.expression.value&&!e.expression.comments},isLastStatement:function(e){const t=e.getParentNode();if(!t)return!0;const n=e.getValue(),r=(t.body||t.consequent).filter((e=>"EmptyStatement"!==e.type));return r[r.length-1]===n},isLiteral:Us,isLongCurriedCallExpression:function(e){const t=e.getValue(),n=e.getParentNode();return tl(t)&&tl(n)&&n.callee===t&&t.arguments.length>n.arguments.length&&n.arguments.length>0},isSimpleCallArgument:function e(t,n){if(n>=2)return!1;const r=t=>e(t,n+1),o="Literal"===t.type&&"regex"in t&&t.regex.pattern||"RegExpLiteral"===t.type&&t.pattern;return!(o&&o.length>5)&&("Literal"===t.type||"BigIntLiteral"===t.type||"DecimalLiteral"===t.type||"BooleanLiteral"===t.type||"NullLiteral"===t.type||"NumericLiteral"===t.type||"RegExpLiteral"===t.type||"StringLiteral"===t.type||"Identifier"===t.type||"ThisExpression"===t.type||"Super"===t.type||"PrivateName"===t.type||"ArgumentPlaceholder"===t.type||"Import"===t.type||("TemplateLiteral"===t.type?t.expressions.every(r):"ObjectExpression"===t.type?t.properties.every((e=>!e.computed&&(e.shorthand||e.value&&r(e.value)))):"ArrayExpression"===t.type?t.elements.every((e=>null===e||r(e))):"ImportExpression"===t.type?r(t.source):"CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type?e(t.callee,n)&&t.arguments.every(r):"MemberExpression"===t.type||"OptionalMemberExpression"===t.type?e(t.object,n)&&e(t.property,n):"UnaryExpression"!==t.type||"!"!==t.operator&&"-"!==t.operator?"TSNonNullExpression"===t.type&&e(t.expression,n):e(t.argument,n)))},isMeaningfulJSXText:ol,isMemberExpressionChain:function e(t){return("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&("Identifier"===t.object.type||e(t.object))},isMemberish:function(e){return"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"BindExpression"===e.type&&Boolean(e.object)},isNgForOf:function(e,t,n){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===n.body[0].type&&null===n.body[0].value},isNumericLiteral:Js,isObjectType:function(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type},isObjectTypePropertyAFunction:function(e){return!("ObjectTypeProperty"!==e.type&&"ObjectTypeInternalSlot"!==e.type||"FunctionTypeAnnotation"!==e.value.type||e.static||Ks(e))},isSimpleType:function(e){return!!e&&(!("GenericTypeAnnotation"!==e.type&&"TSTypeReference"!==e.type||e.typeParameters)||!!Zs.has(e.type))},isSimpleNumber:il,isSimpleTemplateLiteral:function(e){let t="expressions";"TSTemplateLiteralType"===e.type&&(t="types");const n=e[t];return 0!==n.length&&n.every((e=>{if(e.comments)return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if("MemberExpression"===e.type||"OptionalMemberExpression"===e.type){let t=e;for(;"MemberExpression"===t.type||"OptionalMemberExpression"===t.type;){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1}))},isStringLiteral:zs,isStringPropSafeToUnquote:function(e,t){return"json"!==t.parser&&zs(e.key)&&sl(e.key).slice(1,-1)===e.key.value&&(Bs(e.key.value)&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)||il(e.key.value)&&String(Number(e.key.value))===e.key.value&&("babel"===t.parser||"espree"===t.parser||"meriyah"===t.parser))},isTemplateOnItsOwnLine:function(e,t){return("TemplateLiteral"===e.type&&al(e)||"TaggedTemplateExpression"===e.type&&al(e.quasi))&&!ks(t,Is(e),{backwards:!0})},isTestCall:function e(t,n){if("CallExpression"!==t.type)return!1;if(1===t.arguments.length){if(Hs(t)&&n&&e(n))return Gs(t.arguments[0]);if("Identifier"===(r=t).callee.type&&/^(before|after)(Each|All)$/.test(r.callee.name)&&1===r.arguments.length)return Hs(t.arguments[0])}else if((2===t.arguments.length||3===t.arguments.length)&&("Identifier"===t.callee.type&&el.test(t.callee.name)||function(e){return("MemberExpression"===e.callee.type||"OptionalMemberExpression"===e.callee.type)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&el.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}(t))&&(function(e){return"TemplateLiteral"===e.type}(t.arguments[0])||zs(t.arguments[0])))return!(t.arguments[2]&&!Js(t.arguments[2]))&&((2===t.arguments.length?Gs(t.arguments[1]):function(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}(t.arguments[1])&&ml(t.arguments[1]).length<=1)||Hs(t.arguments[1]));var r;return!1},isTheOnlyJSXElementInMarkdown:function(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const n=t.getNode();if(!n.expression||!Xs(n.expression))return!1;const r=t.getParentNode();return"Program"===r.type&&1===r.body.length},isTSXFile:function(e){return e.filepath&&/\.tsx$/i.test(e.filepath)},isTypeAnnotationAFunction:function(e){return!("TypeAnnotation"!==e.type&&"TSTypeAnnotation"!==e.type||"FunctionTypeAnnotation"!==e.typeAnnotation.type||e.static||Ms(e,e.typeAnnotation))},matchJsxWhitespaceRegex:nl,needsHardlineAfterDanglingComment:function(e){if(!e.comments)return!1;const t=Ns(e.comments.filter((e=>!e.leading&&!e.trailing)));return t&&!$s(t)},rawText:sl,returnArgumentHasLeadingComment:function(e,t){if(ul(e.originalText,t))return!0;if(Vs(t)){let r,o=t;for(;r=(n=o).expressions?n.expressions[0]:n.left||n.test||n.callee||n.object||n.tag||n.argument||n.expression;)if(o=r,ul(e.originalText,o))return!0}var n;return!1},shouldPrintComma:function(e,t="es5"){return"es5"===e.trailingComma&&"es5"===t||"all"===e.trailingComma&&("all"===t||"es5"===t)},isBitwiseOperator:function(e){return!!pl[e]||"|"===e||"^"===e||"&"===e},shouldFlatten:function(e,t){return fl(t)===fl(e)&&("**"!==e&&((!ll[e]||!ll[t])&&(!("%"===t&&cl[e]||"%"===e&&cl[t])&&((t===e||!cl[t]||!cl[e])&&(!pl[e]||!pl[t])))))},startsWithNoLookaheadToken:function e(t,n){switch((t=function(e){for(;e.left;)e=e.left;return e}(t)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return n;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return e(t.object,n);case"TaggedTemplateExpression":return"FunctionExpression"!==t.tag.type&&e(t.tag,n);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==t.callee.type&&e(t.callee,n);case"ConditionalExpression":return e(t.test,n);case"UpdateExpression":return!t.prefix&&e(t.argument,n);case"BindExpression":return t.object&&e(t.object,n);case"SequenceExpression":return e(t.expressions[0],n);case"TSAsExpression":return e(t.expression,n);default:return!1}},getPrecedence:fl};const{getLast:bl,hasNewline:vl,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Al,getNextNonSpaceNonCommentCharacter:Fl,hasNewlineInRange:xl,addLeadingComment:Sl,addTrailingComment:wl,addDanglingComment:Tl,getNextNonSpaceNonCommentCharacterIndex:Bl}=Nt,{isBlockComment:Nl,getFunctionParameters:kl,isPrettierIgnoreComment:Pl,isJSXNode:Ol,hasFlowShorthandAnnotationComment:Il,hasFlowAnnotationComment:Ll,hasIgnoreComment:Ml}=Cl,{locStart:jl,locEnd:_l}=ei;function Rl(e,t){const n=(e.body||e.properties).find((({type:e})=>"EmptyStatement"!==e));n?Sl(n,t):Tl(e,t)}function Vl(e,t){"BlockStatement"===e.type?Rl(e,t):Sl(e,t)}function $l(e,t){const{precedingNode:n,enclosingNode:r,followingNode:o}=e;if(!r||"IfStatement"!==r.type||!o)return!1;return")"===Fl(t,e,_l)?(wl(n,e),!0):n===r.consequent&&o===r.alternate?("BlockStatement"===n.type?wl(n,e):Tl(r,e),!0):"BlockStatement"===o.type?(Rl(o,e),!0):"IfStatement"===o.type?(Vl(o.consequent,e),!0):r.consequent===o&&(Sl(o,e),!0)}function ql(e,t){const{precedingNode:n,enclosingNode:r,followingNode:o}=e;if(!r||"WhileStatement"!==r.type||!o)return!1;return")"===Fl(t,e,_l)?(wl(n,e),!0):"BlockStatement"===o.type?(Rl(o,e),!0):r.body===o&&(Sl(o,e),!0)}function Wl(e){const{precedingNode:t,enclosingNode:n,followingNode:r}=e;return!(!n||"TryStatement"!==n.type&&"CatchClause"!==n.type||!r)&&("CatchClause"===n.type&&t?(wl(t,e),!0):"BlockStatement"===r.type?(Rl(r,e),!0):"TryStatement"===r.type?(Vl(r.finalizer,e),!0):"CatchClause"===r.type&&(Vl(r.body,e),!0))}function Ul(e){const{precedingNode:t,enclosingNode:n,followingNode:r}=e;if(n&&("ClassDeclaration"===n.type||"ClassExpression"===n.type||"DeclareClass"===n.type||"DeclareInterface"===n.type||"InterfaceDeclaration"===n.type||"TSInterfaceDeclaration"===n.type)){if(n.decorators&&n.decorators.length>0&&(!r||"Decorator"!==r.type))return wl(n.decorators[n.decorators.length-1],e),!0;if(n.body&&r===n.body)return Rl(n.body,e),!0;if(r)for(const o of["implements","extends","mixins"])if(n[o]&&r===n[o][0])return!t||t!==n.id&&t!==n.typeParameters&&t!==n.superClass?Tl(n,e,o):wl(t,e),!0}return!1}function Jl(e,t){const{precedingNode:n,enclosingNode:r}=e;return(r&&n&&("Property"===r.type||"TSDeclareMethod"===r.type||"TSAbstractMethodDefinition"===r.type)&&"Identifier"===n.type&&r.key===n&&":"!==Fl(t,n,_l)||!(!n||!r||"Decorator"!==n.type||"ClassMethod"!==r.type&&"ClassProperty"!==r.type&&"FieldDefinition"!==r.type&&"TSAbstractClassProperty"!==r.type&&"TSAbstractMethodDefinition"!==r.type&&"TSDeclareMethod"!==r.type&&"MethodDefinition"!==r.type))&&(wl(n,e),!0)}function zl(e,t){const{precedingNode:n,enclosingNode:r,followingNode:o}=e;if(n&&"FunctionTypeParam"===n.type&&r&&"FunctionTypeAnnotation"===r.type&&o&&"FunctionTypeParam"!==o.type)return wl(n,e),!0;if(n&&("Identifier"===n.type||"AssignmentPattern"===n.type)&&r&&Kl(r)&&")"===Fl(t,e,_l))return wl(n,e),!0;if(r&&"FunctionDeclaration"===r.type&&o&&"BlockStatement"===o.type){const n=(()=>{const e=kl(r);if(0!==e.length)return Al(t,_l(bl(e)));const n=Al(t,_l(r.id));return!1!==n&&Al(t,n+1)})();if(jl(e)>n)return Rl(o,e),!0}return!1}function Gl(e){const{enclosingNode:t}=e;return!(!t||"ImportSpecifier"!==t.type)&&(Sl(t,e),!0)}function Hl(e){const{enclosingNode:t}=e;return!(!t||"LabeledStatement"!==t.type)&&(Sl(t,e),!0)}function Xl(e,t,n){const{enclosingNode:r}=e;return t&&t.body&&0===t.body.length?(n?Tl(t,e):Sl(t,e),!0):!(!r||"Program"!==r.type||0!==r.body.length||!r.directives||0!==r.directives.length)&&(n?Tl(r,e):Sl(r,e),!0)}function Yl(e){const{enclosingNode:t,followingNode:n}=e;if(Pl(e)&&t&&"TSMappedType"===t.type&&n&&"TSTypeParameter"===n.type&&n.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function Kl(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function Ql(e){return Nl(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var Zl={handleOwnLineComment:function(e,t,n,r,o){return Yl(e)||zl(e,t)||function(e){const{enclosingNode:t,followingNode:n}=e;if(t&&("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&n&&"Identifier"===n.type)return Sl(t,e),!0;return!1}(e)||$l(e,t)||ql(e,t)||Wl(e)||Ul(e)||Gl(e)||function(e){const{enclosingNode:t}=e;if(t&&("ForInStatement"===t.type||"ForOfStatement"===t.type))return Sl(t,e),!0;return!1}(e)||function(e){const{precedingNode:t,enclosingNode:n,followingNode:r}=e;if(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type))return Pl(e)&&(r.prettierIgnore=!0,e.unignore=!0),!!t&&(wl(t,e),!0);r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&Pl(e)&&(r.types[0].prettierIgnore=!0,e.unignore=!0);return!1}(e)||Xl(e,r,o)||function(e,t){const{precedingNode:n,enclosingNode:r}=e;if(n&&"ImportSpecifier"===n.type&&r&&"ImportDeclaration"===r.type&&vl(t,_l(e)))return wl(n,e),!0;return!1}(e,t)||function(e){const{enclosingNode:t}=e;if(t&&"AssignmentPattern"===t.type)return Sl(t,e),!0;return!1}(e)||Jl(e,t)||Hl(e)},handleEndOfLineComment:function(e,t,n,r,o){return function(e){const{followingNode:t}=e;if(t&&Ql(e))return Sl(t,e),!0;return!1}(e)||zl(e,t)||function(e,t){const{precedingNode:n,enclosingNode:r,followingNode:o}=e,u=n&&!xl(t,_l(n),jl(e));if((!n||!u)&&r&&("ConditionalExpression"===r.type||"TSConditionalType"===r.type)&&o)return Sl(o,e),!0;return!1}(e,t)||Gl(e)||$l(e,t)||ql(e,t)||Wl(e)||Ul(e)||Hl(e)||function(e){const{precedingNode:t,enclosingNode:n}=e;if(n&&("CallExpression"===n.type||"OptionalCallExpression"===n.type)&&t&&n.callee===t&&n.arguments.length>0)return Sl(n.arguments[0],e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("Property"===t.type||"ObjectProperty"===t.type))return Sl(t,e),!0;return!1}(e)||Xl(e,r,o)||function(e){const{enclosingNode:t}=e;if(t&&"TypeAlias"===t.type)return Sl(t,e),!0;return!1}(e)||function(e){const{enclosingNode:t,followingNode:n}=e;if(t&&("VariableDeclarator"===t.type||"AssignmentExpression"===t.type)&&n&&("ObjectExpression"===n.type||"ArrayExpression"===n.type||"TemplateLiteral"===n.type||"TaggedTemplateExpression"===n.type||Nl(e)))return Sl(n,e),!0;return!1}(e)},handleRemainingComment:function(e,t,n,r,o){return!!(Yl(e)||$l(e,t)||ql(e,t)||function(e){const{precedingNode:t,enclosingNode:n}=e;if(n&&("ObjectProperty"===n.type||"Property"===n.type)&&n.shorthand&&n.key===t&&"AssignmentPattern"===n.value.type)return wl(n.value.left,e),!0;return!1}(e)||function(e,t){if(")"!==Fl(t,e,_l))return!1;const{enclosingNode:n}=e;if(n&&(Kl(n)&&0===kl(n).length||("CallExpression"===n.type||"OptionalCallExpression"===n.type||"NewExpression"===n.type)&&0===n.arguments.length))return Tl(n,e),!0;if(n&&"MethodDefinition"===n.type&&0===kl(n.value).length)return Tl(n.value,e),!0;return!1}(e,t)||Jl(e,t)||Xl(e,r,o)||function(e,t){const{enclosingNode:n}=e;if(!n||"ArrowFunctionExpression"!==n.type)return!1;const r=Bl(t,e,_l);if(!1!==r&&"=>"===t.slice(r,r+2))return Tl(n,e),!0;return!1}(e,t)||function(e,t){if("("!==Fl(t,e,_l))return!1;const{precedingNode:n,enclosingNode:r}=e;if(n&&r&&("FunctionDeclaration"===r.type||"FunctionExpression"===r.type||"ClassMethod"===r.type||"MethodDefinition"===r.type||"ObjectMethod"===r.type))return wl(n,e),!0;return!1}(e,t)||function(e){const{precedingNode:t,enclosingNode:n,followingNode:r}=e;if(!n||"TSMappedType"!==n.type)return!1;if(r&&"TSTypeParameter"===r.type&&r.name)return Sl(r.name,e),!0;if(t&&"TSTypeParameter"===t.type&&t.constraint)return wl(t.constraint,e),!0;return!1}(e)||function(e){const{enclosingNode:t}=e;if(t&&("ContinueStatement"===t.type||"BreakStatement"===t.type)&&!t.label)return wl(t,e),!0;return!1}(e)||function(e,t){const{enclosingNode:n,followingNode:r}=e;if(!r&&n&&("TSMethodSignature"===n.type||"TSDeclareFunction"===n.type||"TSAbstractMethodDefinition"===n.type)&&";"===Fl(t,e,_l))return wl(n,e),!0;return!1}(e,t))},hasLeadingComment:function(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some((e=>e.leading&&t(e)))},isTypeCastComment:Ql,getGapRegex:function(e){if(e&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type)return/^[\s&(|]*$/},getCommentChildNodes:function(e,t){if(("typescript"===t.parser||"flow"===t.parser||"espree"===t.parser||"meriyah"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===kl(e.value).length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]},willPrintOwnComments:function(e){const t=e.getValue(),n=e.getParentNode();return(t&&(Ol(t)||Il(t)||n&&("CallExpression"===n.type||"OptionalCallExpression"===n.type)&&(Ll(t.leadingComments)||Ll(t.trailingComments)))||n&&("JSXSpreadAttribute"===n.type||"JSXSpreadChild"===n.type||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type||("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===t))&&(!Ml(e)||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)}};const{getStringWidth:ec,getIndentSize:tc}=Nt,{builders:{concat:nc,join:rc,hardline:oc,softline:uc,group:ic,indent:ac,align:sc,lineSuffixBoundary:lc,addAlignmentToDoc:cc},printer:{printDocToString:pc},utils:{mapDoc:dc}}=rn,{isBinaryish:fc,isJestEachTemplateLiteral:hc,isSimpleTemplateLiteral:mc}=Cl;function gc(e){return e.replace(/([\\`]|\${)/g,"\\$1")}var Dc={printTemplateLiteral:function(e,t,n){const r=e.getValue();if("TemplateLiteral"===r.type&&hc(r,e.getParentNode())){const r=function(e,t,n){const r=e.getNode(),o=r.quasis[0].value.raw.trim().split(/\s*\|\s*/);if(o.length>1||o.some((e=>0!==e.length))){t.__inJestEach=!0;const u=e.map(n,"expressions");t.__inJestEach=!1;const i=[],a=u.map((e=>"${"+pc(e,Object.assign({},t,{printWidth:1/0,endOfLine:"lf"})).formatted+"}")),s=[{hasLineBreak:!1,cells:[]}];for(let e=1;ee.cells.length))),c=Array.from({length:l}).fill(0),p=[{cells:o},...s.filter((e=>0!==e.cells.length))];for(const{cells:e}of p.filter((e=>!e.hasLineBreak)))e.forEach(((e,t)=>{c[t]=Math.max(c[t],ec(e))}));return i.push(lc,"`",ac(nc([oc,rc(oc,p.map((e=>rc(" | ",e.cells.map(((t,n)=>e.hasLineBreak?t:t+" ".repeat(c[n]-ec(t))))))))])),oc,"`"),nc(i)}}(e,n,t);if(r)return r}let o="expressions";"TSTemplateLiteralType"===r.type&&(o="types");const u=[];let i=e.map(t,o);const a=mc(r);return a&&(i=i.map((e=>pc(e,Object.assign({},n,{printWidth:1/0})).formatted))),u.push(lc,"`"),e.each((e=>{const s=e.getName();if(u.push(t(e)),sfunction(e,t){const n=e.getValue();let r=t(e);return n.comments&&n.comments.length&&(r=ic(nc([ac(nc([uc,r])),uc]))),nc(["${",r,lc,"}"])}(e,t)),"expressions")},escapeTemplateCharacters:function(e,t){return dc(e,(e=>{if(!e.parts)return e;const n=e.parts.map((e=>"string"==typeof e?t?e.replace(/(\\*)`/g,"$1$1\\`"):gc(e):e));return Object.assign({},e,{parts:n})}))},uncookTemplateElementValue:gc};const{builders:{indent:yc,softline:Ec,literalline:Cc,concat:bc,dedentToRoot:vc}}=rn,{escapeTemplateCharacters:Ac}=Dc;var Fc=function(e,t,n){let r=e.getValue().quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,((e,t)=>"\\".repeat(t.length/2)+"`"));const o=function(e){const t=e.match(/^([^\S\n]*)\S/m);return null===t?"":t[1]}(r),u=""!==o;u&&(r=r.replace(new RegExp("^".concat(o),"gm"),""));const i=Ac(n(r,{parser:"markdown",__inJsTemplate:!0},{stripTrailingHardline:!0}),!0);return bc(["`",u?yc(bc([Ec,i])):bc([Cc,vc(i)]),Ec,"`"])};const{builders:{indent:xc,hardline:Sc,softline:wc,concat:Tc},utils:{mapDoc:Bc,replaceNewlinesWithLiterallines:Nc}}=rn,{printTemplateExpressions:kc}=Dc;var Pc=function(e,t,n){const r=e.getValue(),o=r.quasis.map((e=>e.value.raw));let u=0;return function(e,t,n){if(1===t.quasis.length&&!t.quasis[0].value.raw.trim())return"``";const r=function(e,t){if(!t||!t.length)return e;let n=0;const r=Bc(e,(e=>{if(!e||!e.parts||!e.parts.length)return e;let{parts:r}=e;const o=r.indexOf("@"),u=o+1;if(o>-1&&"string"==typeof r[u]&&r[u].startsWith("prettier-placeholder")){const e=r[o],t=r[u],n=r.slice(u+1);r=r.slice(0,o).concat([e+t]).concat(n)}const i=[];return r.forEach((e=>{"string"==typeof e&&e.includes("@prettier-placeholder")?e.split(/@prettier-placeholder-(\d+)-id/).forEach(((e,r)=>{r%2!=0?(i.push(t[e]),n++):i.push(Nc(e))})):i.push(e)})),Object.assign({},e,{parts:i})}));return t.length===n?r:null}(e,n);if(!r)throw new Error("Couldn't insert all the expressions");return Tc(["`",xc(Tc([Sc,r])),wc,"`"])}(n(o.reduce(((e,t,n)=>0===n?t:e+"@prettier-placeholder-"+u+++"-id"+t),""),{parser:"scss"},{stripTrailingHardline:!0}),r,kc(e,t))};const{builders:{indent:Oc,join:Ic,hardline:Lc,concat:Mc}}=rn,{escapeTemplateCharacters:jc,printTemplateExpressions:_c}=Dc;function Rc(e){const t=[];let n=!1;return e.map((e=>e.trim())).forEach(((e,r,o)=>{""!==e&&(""===o[r-1]&&n?t.push(Mc([Lc,e])):t.push(e),n=!0)})),0===t.length?null:Ic(Lc,t)}var Vc=function(e,t,n){const r=e.getValue(),o=r.quasis.length;if(1===o&&""===r.quasis[0].value.raw.trim())return"``";const u=_c(e,t),i=[];for(let e=0;e2&&""===l[0].trim()&&""===l[1].trim(),f=c>2&&""===l[c-1].trim()&&""===l[c-2].trim(),h=l.every((e=>/^\s*(?:#[^\n\r]*)?$/.test(e)));if(!a&&/#[^\n\r]*$/.test(l[c-1]))return null;let m=null;m=h?Rc(l):n(s,{parser:"graphql"},{stripTrailingHardline:!0}),m?(m=jc(m,!1),!t&&d&&i.push(""),i.push(m),!a&&f&&i.push("")):t||a||!d||i.push(""),p&&i.push(p)}return Mc(["`",Oc(Mc([Lc,Ic(Lc,i)])),Lc,"`"])};const{builders:{indent:$c,line:qc,hardline:Wc,concat:Uc,group:Jc},utils:{mapDoc:zc}}=rn,{printTemplateExpressions:Gc,uncookTemplateElementValue:Hc}=Dc;let Xc=0;var Yc=function(e,t,n,r,{parser:o}){const u=e.getValue(),i=Xc;Xc=Xc+1>>>0;const a=e=>"PRETTIER_HTML_PLACEHOLDER_".concat(e,"_").concat(i,"_IN_JS"),s=u.quasis.map(((e,t,n)=>t===n.length-1?e.value.cooked:e.value.cooked+a(t))).join(""),l=Gc(e,t);if(0===l.length&&0===s.trim().length)return"``";const c=new RegExp(a("(\\d+)"),"g");let p=0;const d=n(s,{parser:o,__onHtmlRoot(e){p=e.children.length}},{stripTrailingHardline:!0}),f=zc(d,(e=>{if("string"!=typeof e)return e;const t=[],n=e.split(c);for(let e=0;e1?$c(Jc(f)):Jc(f),m,"`"]))};const{isBlockComment:Kc}=Cl,{hasLeadingComment:Qc}=Zl;function Zc(e){return function(e){const t=e.getValue(),n=e.getParentNode(),r=e.getParentNode(1);return r&&t.quasis&&"JSXExpressionContainer"===n.type&&"JSXElement"===r.type&&"style"===r.openingElement.name.name&&r.openingElement.attributes.some((e=>"jsx"===e.name.name))||n&&"TaggedTemplateExpression"===n.type&&"Identifier"===n.tag.type&&"css"===n.tag.name||n&&"TaggedTemplateExpression"===n.type&&"MemberExpression"===n.tag.type&&"css"===n.tag.object.name&&("global"===n.tag.property.name||"resolve"===n.tag.property.name)}(e)||function(e){const t=e.getParentNode();if(!t||"TaggedTemplateExpression"!==t.type)return!1;const{tag:n}=t;switch(n.type){case"MemberExpression":return tp(n.object)||np(n);case"CallExpression":return tp(n.callee)||"MemberExpression"===n.callee.type&&("MemberExpression"===n.callee.object.type&&(tp(n.callee.object.object)||np(n.callee.object))||"CallExpression"===n.callee.object.type&&tp(n.callee.object.callee));case"Identifier":return"css"===n.name;default:return!1}}(e)||function(e){const t=e.getParentNode(),n=e.getParentNode(1);return n&&"JSXExpressionContainer"===t.type&&"JSXAttribute"===n.type&&"JSXIdentifier"===n.name.type&&"css"===n.name.name}(e)||function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"ArrayExpression"===e.type&&"elements"===t),((e,t)=>("Property"===e.type||"ObjectProperty"===e.type)&&"Identifier"===e.key.type&&"styles"===e.key.name&&"value"===t),...ep)}(e)?"css":function(e){const t=e.getValue(),n=e.getParentNode();return rp(t,"GraphQL")||n&&("TaggedTemplateExpression"===n.type&&("MemberExpression"===n.tag.type&&"graphql"===n.tag.object.name&&"experimental"===n.tag.property.name||"Identifier"===n.tag.type&&("gql"===n.tag.name||"graphql"===n.tag.name))||"CallExpression"===n.type&&"Identifier"===n.callee.type&&"graphql"===n.callee.name)}(e)?"graphql":function(e){return rp(e.getValue(),"HTML")||e.match((e=>"TemplateLiteral"===e.type),((e,t)=>"TaggedTemplateExpression"===e.type&&"Identifier"===e.tag.type&&"html"===e.tag.name&&"quasi"===t))}(e)?"html":function(e){return e.match((e=>"TemplateLiteral"===e.type),((e,t)=>("Property"===e.type||"ObjectProperty"===e.type)&&"Identifier"===e.key.type&&"template"===e.key.name&&"value"===t),...ep)}(e)?"angular":function(e){const t=e.getValue(),n=e.getParentNode();return n&&"TaggedTemplateExpression"===n.type&&1===t.quasis.length&&"Identifier"===n.tag.type&&("md"===n.tag.name||"markdown"===n.tag.name)}(e)?"markdown":void 0}const ep=[(e,t)=>"ObjectExpression"===e.type&&"properties"===t,(e,t)=>"CallExpression"===e.type&&"Identifier"===e.callee.type&&"Component"===e.callee.name&&"arguments"===t,(e,t)=>"Decorator"===e.type&&"expression"===t];function tp(e){return"Identifier"===e.type&&"styled"===e.name}function np(e){return/^[A-Z]/.test(e.object.name)&&"extend"===e.property.name}function rp(e,t){return Qc(e,(e=>Kc(e)&&e.value===" ".concat(t," ")))}var op=function(e,t,n,r){const o=e.getValue();if("TemplateLiteral"!==o.type||function({quasis:e}){return e.some((({value:{cooked:e}})=>null===e))}(o))return;const u=Zc(e);return u?"markdown"===u?Fc(e,t,n):"css"===u?Pc(e,t,n):"graphql"===u?Vc(e,t,n):"html"===u||"angular"===u?Yc(e,t,n,r,{parser:u}):void 0:void 0};const{isBlockComment:up}=Cl,ip=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]);function ap(e,t,n){if("Program"===e.type&&delete t.sourceType,"BigIntLiteral"!==e.type&&"BigIntLiteralTypeAnnotation"!==e.type||t.value&&(t.value=t.value.toLowerCase()),"BigIntLiteral"!==e.type&&"Literal"!==e.type||t.bigint&&(t.bigint=t.bigint.toLowerCase()),"DecimalLiteral"===e.type&&(t.value=Number(t.value)),"EmptyStatement"===e.type)return null;if("JSXText"===e.type)return null;if("JSXExpressionContainer"===e.type&&("Literal"===e.expression.type||"StringLiteral"===e.expression.type)&&" "===e.expression.value)return null;if("Property"!==e.type&&"ObjectProperty"!==e.type&&"MethodDefinition"!==e.type&&"ClassProperty"!==e.type&&"ClassMethod"!==e.type&&"FieldDefinition"!==e.type&&"TSDeclareMethod"!==e.type&&"TSPropertySignature"!==e.type&&"ObjectTypeProperty"!==e.type||"object"!=typeof e.key||!e.key||"Literal"!==e.key.type&&"NumericLiteral"!==e.key.type&&"StringLiteral"!==e.key.type&&"Identifier"!==e.key.type||delete t.key,"OptionalMemberExpression"===e.type&&!1===e.optional&&(t.type="MemberExpression",delete t.optional),"JSXElement"===e.type&&"style"===e.openingElement.name.name&&e.openingElement.attributes.some((e=>"jsx"===e.name.name))){t.children.filter((e=>"JSXExpressionContainer"===e.type&&"TemplateLiteral"===e.expression.type)).map((e=>e.expression)).reduce(((e,t)=>e.concat(t.quasis)),[]).forEach((e=>delete e.value))}"JSXAttribute"===e.type&&"css"===e.name.name&&"JSXExpressionContainer"===e.value.type&&"TemplateLiteral"===e.value.expression.type&&t.value.expression.quasis.forEach((e=>delete e.value)),"JSXAttribute"===e.type&&e.value&&"Literal"===e.value.type&&/["']|"|'/.test(e.value.value)&&(t.value.value=t.value.value.replace(/["']|"|'/g,'"'));const r=e.expression||e.callee;if("Decorator"===e.type&&"CallExpression"===r.type&&"Component"===r.callee.name&&1===r.arguments.length){const n=e.expression.arguments[0].properties;t.expression.arguments[0].properties.forEach(((e,t)=>{let r=null;switch(n[t].key.name){case"styles":"ArrayExpression"===e.value.type&&(r=e.value.elements[0]);break;case"template":"TemplateLiteral"===e.value.type&&(r=e.value)}r&&r.quasis.forEach((e=>delete e.value))}))}if("TaggedTemplateExpression"!==e.type||"MemberExpression"!==e.tag.type&&("Identifier"!==e.tag.type||"gql"!==e.tag.name&&"graphql"!==e.tag.name&&"css"!==e.tag.name&&"md"!==e.tag.name&&"markdown"!==e.tag.name&&"html"!==e.tag.name)&&"CallExpression"!==e.tag.type||t.quasi.quasis.forEach((e=>delete e.value)),"TemplateLiteral"===e.type){(e.leadingComments&&e.leadingComments.some((e=>up(e)&&["GraphQL","HTML"].some((t=>e.value===" ".concat(t," ")))))||"CallExpression"===n.type&&"graphql"===n.callee.name)&&t.quasis.forEach((e=>delete e.value)),e.leadingComments||t.quasis.forEach((e=>{e.value&&delete e.value.cooked}))}"InterpreterDirective"===e.type&&(t.value=t.value.trimEnd())}ap.ignoredProperties=ip;var sp=ap;const lp=e=>{if("string"!=typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const n=t.filter((e=>"\r\n"===e)).length;return n>t.length-n?"\r\n":"\n"};var cp=lp;cp.graceful=e=>"string"==typeof e&&lp(e)||"\n";var pp=je((function(e,t){function n(){const e=Mr;return n=function(){return e},e}function r(){const e=(t=cp)&&t.__esModule?t:{default:t};var t;return r=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=function(e){const t=e.match(i);return t?t[0].trimLeft():""},t.strip=function(e){const t=e.match(i);return t&&t[0]?e.substring(t[0].length):e},t.parse=function(e){return f(e).pragmas},t.parseWithComments=f,t.print=function({comments:e="",pragmas:t={}}){const o=(0,r().default)(e)||n().EOL,u=" *",i=Object.keys(t),a=i.map((e=>h(e,t[e]))).reduce(((e,t)=>e.concat(t)),[]).map((e=>" * "+e+o)).join("");if(!e){if(0===i.length)return"";if(1===i.length&&!Array.isArray(t[i[0]])){const e=t[i[0]];return"".concat("/**"," ").concat(h(i[0],e)[0]).concat(" */")}}const s=e.split(o).map((e=>"".concat(u," ").concat(e))).join(o)+o;return"/**"+o+(e?s:"")+(e&&i.length?u+o:"")+a+" */"};const o=/\*\/$/,u=/^\/\*\*/,i=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,a=/(^|\s+)\/\/([^\r\n]*)/g,s=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,c=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g,d=[];function f(e){const t=(0,r().default)(e)||n().EOL;e=e.replace(u,"").replace(o,"").replace(p,"$1");let i="";for(;i!==e;)i=e,e=e.replace(l,"".concat(t,"$1 $2").concat(t));e=e.replace(s,"").trimRight();const f=Object.create(null),h=e.replace(c,"").replace(s,"").trimRight();let m;for(;m=c.exec(e);){const e=m[2].replace(a,"");"string"==typeof f[m[1]]||Array.isArray(f[m[1]])?f[m[1]]=d.concat(f[m[1]],e):f[m[1]]=e}return{comments:h,pragmas:f}}function h(e,t){return d.concat(t).map((t=>"@".concat(e," ").concat(t).trim()))}}));const{parseWithComments:dp,strip:fp,extract:hp,print:mp}=pp,{getShebang:gp}=Nt,{normalizeEndOfLine:Dp}=kt;function yp(e){const t=gp(e);t&&(e=e.slice(t.length+1));const n=hp(e),{pragmas:r,comments:o}=dp(n);return{shebang:t,text:e,pragmas:r,comments:o}}var Ep={hasPragma:function(e){const t=Object.keys(yp(e).pragmas);return t.includes("prettier")||t.includes("format")},insertPragma:function(e){const{shebang:t,text:n,pragmas:r,comments:o}=yp(e),u=fp(n),i=mp({pragmas:Object.assign({format:""},r),comments:o.trimStart()});return(t?"".concat(t,"\n"):"")+Dp(i)+(u.startsWith("\n")?"\n":"\n\n")+u}};const{getFunctionParameters:Cp,getLeftSidePathName:bp,hasFlowShorthandAnnotationComment:vp,hasNakedLeftSide:Ap,hasNode:Fp,isBitwiseOperator:xp,startsWithNoLookaheadToken:Sp,shouldFlatten:wp,getPrecedence:Tp}=Cl;function Bp(e,t){const n=e.getParentNode();if(!n)return!1;const r=e.getName(),o=e.getNode();if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&function(e){switch(e.type){case"ObjectExpression":return!0;default:return!1}}(o)&&Np(e))return!0;if(function(e){return"BlockStatement"===e.type||"BreakStatement"===e.type||"ClassBody"===e.type||"ClassDeclaration"===e.type||"ClassMethod"===e.type||"ClassProperty"===e.type||"FieldDefinition"===e.type||"ClassPrivateProperty"===e.type||"ContinueStatement"===e.type||"DebuggerStatement"===e.type||"DeclareClass"===e.type||"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type||"DeclareFunction"===e.type||"DeclareInterface"===e.type||"DeclareModule"===e.type||"DeclareModuleExports"===e.type||"DeclareVariable"===e.type||"DoWhileStatement"===e.type||"EnumDeclaration"===e.type||"ExportAllDeclaration"===e.type||"ExportDefaultDeclaration"===e.type||"ExportNamedDeclaration"===e.type||"ExpressionStatement"===e.type||"ForInStatement"===e.type||"ForOfStatement"===e.type||"ForStatement"===e.type||"FunctionDeclaration"===e.type||"IfStatement"===e.type||"ImportDeclaration"===e.type||"InterfaceDeclaration"===e.type||"LabeledStatement"===e.type||"MethodDefinition"===e.type||"ReturnStatement"===e.type||"SwitchStatement"===e.type||"ThrowStatement"===e.type||"TryStatement"===e.type||"TSDeclareFunction"===e.type||"TSEnumDeclaration"===e.type||"TSImportEqualsDeclaration"===e.type||"TSInterfaceDeclaration"===e.type||"TSModuleDeclaration"===e.type||"TSNamespaceExportDeclaration"===e.type||"TypeAlias"===e.type||"VariableDeclaration"===e.type||"WhileStatement"===e.type||"WithStatement"===e.type}(o))return!1;if("flow"!==t.parser&&vp(e.getValue()))return!0;if("Identifier"===o.type)return!!(o.extra&&o.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(o.name));switch(n.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if("superClass"===r&&("ArrowFunctionExpression"===o.type||"AssignmentExpression"===o.type||"AwaitExpression"===o.type||"BinaryExpression"===o.type||"ConditionalExpression"===o.type||"LogicalExpression"===o.type||"NewExpression"===o.type||"ObjectExpression"===o.type||"ParenthesizedExpression"===o.type||"SequenceExpression"===o.type||"TaggedTemplateExpression"===o.type||"UnaryExpression"===o.type||"UpdateExpression"===o.type||"YieldExpression"===o.type))return!0;break;case"ExportDefaultDeclaration":return kp(e,t)||"SequenceExpression"===o.type;case"Decorator":if("expression"===r){let e=!1,t=!1,n=o;for(;n;)switch(n.type){case"MemberExpression":t=!0,n=n.object;break;case"CallExpression":if(t||e)return!0;e=!0,n=n.callee;break;case"Identifier":return!1;default:return!0}return!0}break;case"ExpressionStatement":if(Sp(o,!0))return!0;break;case"ArrowFunctionExpression":if("body"===r&&"SequenceExpression"!==o.type&&Sp(o,!1))return!0}switch(o.type){case"SpreadElement":case"SpreadProperty":return"object"===r&&"MemberExpression"===n.type;case"UpdateExpression":if("UnaryExpression"===n.type)return o.prefix&&("++"===o.operator&&"+"===n.operator||"--"===o.operator&&"-"===n.operator);case"UnaryExpression":switch(n.type){case"UnaryExpression":return o.operator===n.operator&&("+"===o.operator||"-"===o.operator);case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"BinaryExpression":return"left"===r&&"**"===n.operator;case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":if("UpdateExpression"===n.type||"PipelineTopicExpression"===n.type&&"|>"===o.operator)return!0;if("in"===o.operator&&function(e){let t=0,n=e.getValue();for(;n;){const r=e.getParentNode(t++);if(r&&"ForStatement"===r.type&&r.init===n)return!0;n=r}return!1}(e))return!0;if("|>"===o.operator&&o.extra&&o.extra.parenthesized){const t=e.getParentNode(1);if("BinaryExpression"===t.type&&"|>"===t.operator)return!0}case"TSTypeAssertion":case"TSAsExpression":case"LogicalExpression":switch(n.type){case"ConditionalExpression":return"TSAsExpression"===o.type;case"CallExpression":case"NewExpression":case"OptionalCallExpression":return"callee"===r;case"ClassExpression":case"ClassDeclaration":return"superClass"===r;case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSAsExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"AssignmentExpression":return"left"===r&&("TSTypeAssertion"===o.type||"TSAsExpression"===o.type);case"LogicalExpression":if("LogicalExpression"===o.type)return n.operator!==o.operator;case"BinaryExpression":{const{operator:e,type:t}=o;if(!e&&"TSTypeAssertion"!==t)return!0;const u=Tp(e),i=n.operator,a=Tp(i);return a>u||("right"===r&&a===u||(a===u&&!wp(i,e)||(a"===n.operator);default:return!1}case"TSJSDocFunctionType":case"TSConditionalType":if("extendsType"===r&&"TSConditionalType"===n.type)return!0;case"TSFunctionType":case"TSConstructorType":if("checkType"===r&&"TSConditionalType"===n.type)return!0;case"TSUnionType":case"TSIntersectionType":if("TSUnionType"===n.type||"TSIntersectionType"===n.type)return!0;case"TSInferType":if("TSInferType"===o.type&&"TSRestType"===n.type)return!1;case"TSTypeOperator":return"TSArrayType"===n.type||"TSOptionalType"===n.type||"TSRestType"===n.type||"objectType"===r&&"TSIndexedAccessType"===n.type||"TSTypeOperator"===n.type||"TSTypeAnnotation"===n.type&&/^TSJSDoc/.test(e.getParentNode(1).type);case"ArrayTypeAnnotation":return"NullableTypeAnnotation"===n.type;case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return"ArrayTypeAnnotation"===n.type||"NullableTypeAnnotation"===n.type||"IntersectionTypeAnnotation"===n.type||"UnionTypeAnnotation"===n.type;case"NullableTypeAnnotation":return"ArrayTypeAnnotation"===n.type;case"FunctionTypeAnnotation":{const t="NullableTypeAnnotation"===n.type?e.getParentNode(1):n;return"UnionTypeAnnotation"===t.type||"IntersectionTypeAnnotation"===t.type||"ArrayTypeAnnotation"===t.type||"NullableTypeAnnotation"===t.type||"FunctionTypeParam"===n.type&&null===n.name&&Cp(o).some((e=>e.typeAnnotation&&"NullableTypeAnnotation"===e.typeAnnotation.type))}case"StringLiteral":case"NumericLiteral":case"Literal":if("string"==typeof o.value&&"ExpressionStatement"===n.type&&!n.directive){const t=e.getParentNode(1);return"Program"===t.type||"BlockStatement"===t.type}return"object"===r&&"MemberExpression"===n.type&&"number"==typeof o.value;case"AssignmentExpression":{const t=e.getParentNode(1);return"body"===r&&"ArrowFunctionExpression"===n.type||("key"!==r||"ClassProperty"!==n.type&&"FieldDefinition"!==n.type||!n.computed)&&(("init"!==r&&"update"!==r||"ForStatement"!==n.type)&&("ExpressionStatement"===n.type?"ObjectPattern"===o.left.type:("key"!==r||"TSPropertySignature"!==n.type)&&("AssignmentExpression"!==n.type&&(("SequenceExpression"!==n.type||!t||"ForStatement"!==t.type||t.init!==n&&t.update!==n)&&(("value"!==r||"Property"!==n.type||!t||"ObjectPattern"!==t.type||!t.properties.includes(n))&&"NGChainedExpression"!==n.type)))))}case"ConditionalExpression":switch(n.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"ConditionalExpression":return"test"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;default:return!1}case"FunctionExpression":switch(n.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(n.type){case"PipelineTopicExpression":return!(!o.extra||!o.extra.parenthesized);case"BinaryExpression":return"|>"!==n.operator||o.extra&&o.extra.parenthesized;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TSAsExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return"test"===r;default:return!1}case"ClassExpression":switch(n.type){case"NewExpression":return"callee"===r;default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":{const t=e.getParentNode(1);if("object"===r&&"MemberExpression"===n.type||"callee"===r&&("CallExpression"===n.type||"NewExpression"===n.type)||"TSNonNullExpression"===n.type&&"MemberExpression"===t.type&&t.object===n)return!0}case"CallExpression":case"MemberExpression":case"TaggedTemplateExpression":case"TSNonNullExpression":if("callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)){let e=o;for(;e;)switch(e.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":e=e.object;break;case"TaggedTemplateExpression":e=e.tag;break;case"TSNonNullExpression":e=e.expression;break;default:return!1}}return!1;case"BindExpression":return"callee"===r&&("BindExpression"===n.type||"NewExpression"===n.type)||"object"===r&&("MemberExpression"===n.type||"OptionalMemberExpression"===n.type);case"NGPipeExpression":return!("NGRoot"===n.type||"NGMicrosyntaxExpression"===n.type||!("ObjectProperty"!==n.type||o.extra&&o.extra.parenthesized)||"ArrayExpression"===n.type||("CallExpression"===n.type||"OptionalCallExpression"===n.type)&&n.arguments[r]===o||"right"===r&&"NGPipeExpression"===n.type||"property"===r&&"MemberExpression"===n.type||"AssignmentExpression"===n.type);case"JSXFragment":case"JSXElement":return"callee"===r||"left"===r&&"BinaryExpression"===n.type&&"<"===n.operator||"ArrayExpression"!==n.type&&"ArrowFunctionExpression"!==n.type&&"AssignmentExpression"!==n.type&&"AssignmentPattern"!==n.type&&"BinaryExpression"!==n.type&&"CallExpression"!==n.type&&"NewExpression"!==n.type&&"ConditionalExpression"!==n.type&&"ExpressionStatement"!==n.type&&"JsExpressionRoot"!==n.type&&"JSXAttribute"!==n.type&&"JSXElement"!==n.type&&"JSXExpressionContainer"!==n.type&&"JSXFragment"!==n.type&&"LogicalExpression"!==n.type&&"ObjectProperty"!==n.type&&"OptionalCallExpression"!==n.type&&"Property"!==n.type&&"ReturnStatement"!==n.type&&"ThrowStatement"!==n.type&&"TypeCastExpression"!==n.type&&"VariableDeclarator"!==n.type&&"YieldExpression"!==n.type;case"TypeAnnotation":return"returnType"===r&&"ArrowFunctionExpression"===n.type&&function(e){return Fp(e,(e=>"ObjectTypeAnnotation"===e.type&&Fp(e,(e=>"FunctionTypeAnnotation"===e.type||void 0))||void 0))}(o)}return!1}function Np(e){const t=e.getValue(),n=e.getParentNode(),r=e.getName();switch(n.type){case"NGPipeExpression":if("number"==typeof r&&n.arguments[r]===t&&n.arguments.length-1===r)return e.callParent(Np);break;case"ObjectProperty":if("value"===r){const t=e.getParentNode(1);return t.properties[t.properties.length-1]===n}break;case"BinaryExpression":case"LogicalExpression":if("right"===r)return e.callParent(Np);break;case"ConditionalExpression":if("alternate"===r)return e.callParent(Np);break;case"UnaryExpression":if(n.prefix)return e.callParent(Np)}return!1}function kp(e,t){const n=e.getValue(),r=e.getParentNode();return"FunctionExpression"===n.type||"ClassExpression"===n.type?"ExportDefaultDeclaration"===r.type||!Bp(e,t):!(!Ap(n)||"ExportDefaultDeclaration"!==r.type&&Bp(e,t))&&e.call((e=>kp(e,t)),...bp(e,n))}var Pp=Bp;const{builders:{concat:Op,join:Ip,line:Lp,group:Mp,softline:jp,indent:_p}}=rn;var Rp={isVueEventBindingExpression:function e(t){switch(t.type){case"MemberExpression":switch(t.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return e(t.object)}return!1;case"Identifier":return!0;default:return!1}},printHtmlBinding:function(e,t,n){const r=e.getValue();if(t.__onHtmlBindingRoot&&null===e.getName()&&t.__onHtmlBindingRoot(r,t),"File"===r.type)return t.__isVueForBindingLeft?e.call((e=>{const t=Ip(Op([",",Lp]),e.map(n,"params")),{params:r}=e.getValue();return 1===r.length?t:Op(["(",_p(Op([jp,Mp(t)])),jp,")"])}),"program","body",0):t.__isVueBindings?e.call((e=>Ip(Op([",",Lp]),e.map(n,"params"))),"program","body",0):void 0}};var Vp=function(e,t){switch(t.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":return Object.assign({},e,{type:t.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:e,comments:[],rootMarker:t.rootMarker});default:return e}};const{builders:{concat:$p,group:qp,indent:Wp,join:Up,line:Jp,hardline:zp}}=rn,{hasNewlineBetweenOrAfterDecorators:Gp,getParentExportDeclaration:Hp}=Cl;var Xp={printOptionalToken:function(e){const t=e.getValue();return!t.optional||"Identifier"===t.type&&t===e.getParentNode().key?"":"OptionalCallExpression"===t.type||"OptionalMemberExpression"===t.type&&t.computed?"?.":"?"},printFunctionTypeParameters:function(e,t,n){const r=e.getValue();return r.typeArguments?e.call(n,"typeArguments"):r.typeParameters?e.call(n,"typeParameters"):""},printBindExpressionCallee:function(e,t,n){return $p(["::",e.call(n,"callee")])},printTypeScriptModifiers:function(e,t,n){const r=e.getValue();return r.modifiers&&r.modifiers.length?$p([Up(" ",e.map(n,"modifiers"))," "]):""},printDecorators:function(e,t,n){const r=e.getValue();return qp($p([Up(Jp,e.map(n,"decorators")),Gp(r,t)?zp:Jp]))},printFlowDeclaration:function(e,t){const n=Hp(e);return n?(Xi.strictEqual(n.type,"DeclareExportDeclaration"),t):$p(["declare ",t])},adjustClause:function(e,t,n){return"EmptyStatement"===e.type?";":"BlockStatement"===e.type||n?$p([" ",t]):Wp($p([Jp,t]))}};const{builders:{concat:Yp,softline:Kp,group:Qp,indent:Zp,join:ed,line:td,ifBreak:nd,hardline:rd}}=rn,{printDanglingComments:od}=ya,{hasDanglingComments:ud,shouldPrintComma:id,needsHardlineAfterDanglingComment:ad}=Cl,{locStart:sd,hasSameLoc:ld}=ei;function cd(e,t,n){const r=e.getValue();if(!r.source)return"";const o=[];return dd(r,t)||o.push(" from"),o.push(" ",e.call(n,"source")),Yp(o)}function pd(e,t,n){const r=e.getValue();if(dd(r,t))return"";const o=[" "];if(r.specifiers&&r.specifiers.length>0){const u=[],i=[];if(e.each((t=>{const r=e.getValue().type;if("ExportNamespaceSpecifier"===r||"ExportDefaultSpecifier"===r||"ImportNamespaceSpecifier"===r||"ImportDefaultSpecifier"===r)u.push(n(t));else{if("ExportSpecifier"!==r&&"ImportSpecifier"!==r)throw new Error("Unknown specifier type ".concat(JSON.stringify(r)));i.push(n(t))}}),"specifiers"),o.push(ed(", ",u)),0!==i.length){0!==u.length&&o.push(", ");i.length>1||u.length>0||r.specifiers.some((e=>e.comments))?o.push(Qp(Yp(["{",Zp(Yp([t.bracketSpacing?td:Kp,ed(Yp([",",td]),i)])),nd(id(t)?",":""),t.bracketSpacing?td:Kp,"}"]))):o.push(Yp(["{",t.bracketSpacing?" ":"",Yp(i),t.bracketSpacing?" ":"","}"]))}}else o.push("{}");return Yp(o)}function dd(e,t){const{type:n,importKind:r,source:o,specifiers:u}=e;return!("ImportDeclaration"!==n||Array.isArray(u)&&u.length>0||"type"===r)&&!/{\s*}/.test(t.originalText.slice(sd(e),sd(o)))}function fd(e,t,n){const r=e.getNode();return Array.isArray(r.assertions)&&0!==r.assertions.length?Yp([" assert {",t.bracketSpacing?" ":"",ed(", ",e.map(n,"assertions")),t.bracketSpacing?" ":"","}"]):""}var hd={printImportDeclaration:function(e,t,n){const r=e.getValue(),o=t.semi?";":"",u=[],{importKind:i}=r;return u.push("import"),i&&"value"!==i&&u.push(" ",i),u.push(pd(e,t,n),cd(e,t,n),fd(e,t,n)),u.push(o),Yp(u)},printExportDeclaration:function(e,t,n){const r=e.getValue(),o=[],{type:u,exportKind:i,declaration:a}=r;return"DeclareExportDeclaration"===u&&o.push("declare "),o.push("export"),(r.default||"ExportDefaultDeclaration"===u)&&o.push(" default"),ud(r)&&(o.push(" ",od(e,t,!0)),ad(r)&&o.push(rd)),a?o.push(" ",e.call(n,"declaration")):o.push("type"===i?" type":"",pd(e,t,n),cd(e,t,n),fd(e,t,n)),function(e,t){if(!t.semi)return!1;const{type:n,declaration:r}=e,o=e.default||"ExportDefaultDeclaration"===n;if(!r)return!0;const{type:u}=r;if(o&&"ClassDeclaration"!==u&&"FunctionDeclaration"!==u&&"TSInterfaceDeclaration"!==u&&"DeclareClass"!==u&&"DeclareFunction"!==u&&"TSDeclareFunction"!==u&&"EnumDeclaration"!==u)return!0;return!1}(r,t)&&o.push(";"),Yp(o)},printExportAllDeclaration:function(e,t,n){const r=e.getValue();let o=t.semi?";":"";const u=[],{type:i,exportKind:a,exported:s}=r;return"DeclareExportAllDeclaration"===i&&(u.push("declare "),o=""),u.push("export"),"type"===a&&u.push(" type"),u.push(" *"),s&&u.push(" as ",e.call(n,"exported")),u.push(cd(e,t,n),fd(e,t,n),o),Yp(u)},printModuleSpecifier:function(e,t,n){const r=e.getNode(),{type:o,importKind:u}=r,i=[];"ImportSpecifier"===o&&u&&i.push(u," ");const a=o.startsWith("Import"),s=a?"imported":"local",l=a?"local":"exported";let c="",p="";return"ExportNamespaceSpecifier"===o||"ImportNamespaceSpecifier"===o?c="*":r[s]&&(c=e.call(n,s)),!r[l]||r[s]&&ld(r[s],r[l])||(p=e.call(n,l)),i.push(c,c&&p?" as ":"",p),Yp(i)}};const{hasNewlineInRange:md}=Nt,{isJSXNode:gd,isBlockComment:Dd}=Cl,{locStart:yd,locEnd:Ed}=ei,{builders:{concat:Cd,line:bd,softline:vd,group:Ad,indent:Fd,align:xd,ifBreak:Sd,dedent:wd,breakParent:Td}}=rn;var Bd=function(e,t,n,r){const o=e.getValue(),u=o[r.consequentNodePropertyName],i=o[r.alternateNodePropertyName],a=[];let s=!1;const l=e.getParentNode(),c=l.type===r.conditionalNodeType&&r.testNodePropertyNames.some((e=>l[e]===o));let p,d,f=l.type===r.conditionalNodeType&&!c,h=0;do{d=p||o,p=e.getParentNode(h),h++}while(p&&p.type===r.conditionalNodeType&&r.testNodePropertyNames.every((e=>p[e]!==d)));const m=p||l,g=d;if(r.shouldCheckJsx&&(gd(o[r.testNodePropertyNames[0]])||gd(u)||gd(i)||function(e){return function(e){const t=[];return function e(n){"ConditionalExpression"===n.type?(e(n.test),e(n.consequent),e(n.alternate)):t.push(n)}(e),t}(e).some(gd)}(g))){s=!0,f=!0;const t=e=>Cd([Sd("(",""),Fd(Cd([vd,e])),vd,Sd(")","")]),o=e=>"NullLiteral"===e.type||"Literal"===e.type&&null===e.value||"Identifier"===e.type&&"undefined"===e.name;a.push(" ? ",o(u)?e.call(n,r.consequentNodePropertyName):t(e.call(n,r.consequentNodePropertyName))," : ",i.type===r.conditionalNodeType||o(i)?e.call(n,r.alternateNodePropertyName):t(e.call(n,r.alternateNodePropertyName)))}else{const s=Cd([bd,"? ",u.type===r.conditionalNodeType?Sd("","("):"",xd(2,e.call(n,r.consequentNodePropertyName)),u.type===r.conditionalNodeType?Sd("",")"):"",bd,": ",i.type===r.conditionalNodeType?e.call(n,r.alternateNodePropertyName):xd(2,e.call(n,r.alternateNodePropertyName))]);a.push(l.type!==r.conditionalNodeType||l[r.alternateNodePropertyName]===o||c?s:t.useTabs?wd(Fd(s)):xd(Math.max(0,t.tabWidth-2),s))}const D=Uu([...r.testNodePropertyNames.map((e=>o[e].comments)),u.comments,i.comments]).filter(Boolean).some((e=>Dd(e)&&md(t.originalText,yd(e),Ed(e)))),y=!s&&("MemberExpression"===l.type||"OptionalMemberExpression"===l.type||"NGPipeExpression"===l.type&&l.left===o)&&!l.computed,E=(e=>l===m?Ad(e,{shouldBreak:D}):D?Cd([e,Td]):e)(Cd([].concat((C=Cd(r.beforeParts()),l.type===r.conditionalNodeType&&l[r.alternateNodePropertyName]===o?xd(2,C):C),f?Cd(a):Fd(Cd(a)),r.afterParts(y))));var C;return c?Ad(Cd([Fd(Cd([vd,E])),vd])):E};const{getNextNonSpaceNonCommentCharacter:Nd,isNextLineEmpty:kd}=Nt,{printDanglingComments:Pd}=ya,{builders:{concat:Od,line:Id,hardline:Ld,softline:Md,group:jd,indent:_d,ifBreak:Rd},utils:{removeLines:Vd}}=rn,{getFunctionParameters:$d,iterateFunctionParametersPath:qd,isSimpleType:Wd,isTestCall:Ud,isTypeAnnotationAFunction:Jd,isObjectType:zd,isObjectTypePropertyAFunction:Gd,hasRestParameter:Hd,shouldPrintComma:Xd}=Cl,{locEnd:Yd}=ei,{printFunctionTypeParameters:Kd}=Xp;function Qd(e){if(!e)return!1;const t=$d(e);if(1!==t.length)return!1;const[n]=t;return!n.comments&&("ObjectPattern"===n.type||"ArrayPattern"===n.type||"Identifier"===n.type&&n.typeAnnotation&&("TypeAnnotation"===n.typeAnnotation.type||"TSTypeAnnotation"===n.typeAnnotation.type)&&zd(n.typeAnnotation.typeAnnotation)||"FunctionTypeParam"===n.type&&zd(n.typeAnnotation)||"AssignmentPattern"===n.type&&("ObjectPattern"===n.left.type||"ArrayPattern"===n.left.type)&&("Identifier"===n.right.type||"ObjectExpression"===n.right.type&&0===n.right.properties.length||"ArrayExpression"===n.right.type&&0===n.right.elements.length))}var Zd={printFunctionParameters:function(e,t,n,r,o){const u=e.getValue(),i=$d(u),a=o?Kd(e,n,t):"";if(0===i.length)return Od([a,"(",Pd(e,n,!0,(e=>")"===Nd(n.originalText,e,Yd))),")"]);const s=e.getParentNode(),l=Ud(s),c=Qd(u),p=r&&!i.some((e=>e.comments)),d=[];if(qd(e,((e,r)=>{const o=r===i.length-1;o&&u.rest&&d.push("..."),d.push(e.call(t)),o||(d.push(","),l||c||p?d.push(" "):kd(n.originalText,i[r],Yd)?d.push(Ld,Ld):d.push(Id))})),p)return jd(Od([Vd(a),"(",Od(d.map(Vd)),")"]));const f=i.every((e=>!e.decorators));return c&&f||l?Od([a,"(",Od(d),")"]):(Gd(s)||Jd(s)||"TypeAlias"===s.type||"UnionTypeAnnotation"===s.type||"TSUnionType"===s.type||"IntersectionTypeAnnotation"===s.type||"FunctionTypeAnnotation"===s.type&&s.returnType===u)&&1===i.length&&null===i[0].name&&u.this!==i[0]&&i[0].typeAnnotation&&null===u.typeParameters&&Wd(i[0].typeAnnotation)&&!u.rest?"always"===n.arrowParens?Od(["(",Od(d),")"]):Od(d):Od([a,"(",_d(Od([Md,Od(d)])),Rd(!Hd(u)&&Xd(n,"all")?",":""),Md,")"])},shouldHugFunctionParameters:Qd};const{builders:{concat:ef}}=rn,{isFlowAnnotationComment:tf,isSimpleType:nf,isObjectType:rf}=Cl;var of={printTypeAnnotation:function(e,t,n){const r=e.getValue();if(!r.typeAnnotation)return"";const o=e.getParentNode(),u=r.definite||o&&"VariableDeclarator"===o.type&&o.definite,i="DeclareFunction"===o.type&&o.id===r;return tf(t.originalText,r.typeAnnotation)?ef([" /*: ",e.call(n,"typeAnnotation")," */"]):ef([i?"":u?"!: ":": ",e.call(n,"typeAnnotation")])},shouldHugType:function(e){if(nf(e)||rf(e))return!0;if("UnionTypeAnnotation"===e.type||"TSUnionType"===e.type){const t=e.types.filter((e=>"VoidTypeAnnotation"===e.type||"TSVoidKeyword"===e.type||"NullLiteralTypeAnnotation"===e.type||"TSNullKeyword"===e.type)).length,n=e.types.some((e=>"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"GenericTypeAnnotation"===e.type||"TSTypeReference"===e.type));if(e.types.length-1===t&&n)return!0}return!1}};const{printDanglingComments:uf}=ya,{builders:{concat:af,line:sf,softline:lf,group:cf,indent:pf,ifBreak:df}}=rn,{getLast:ff,isNextLineEmpty:hf}=Nt,{hasDanglingComments:mf,shouldPrintComma:gf}=Cl,{locEnd:Df}=ei,{printOptionalToken:yf}=Xp,{printTypeAnnotation:Ef}=of;function Cf(e,t,n,r){const o=[];let u=[];return e.each((e=>{o.push(af(u)),o.push(cf(r(e))),u=[",",sf],e.getValue()&&hf(t.originalText,e.getValue(),Df)&&u.push(lf)}),n),af(o)}var bf={printArray:function(e,t,n){const r=e.getValue(),o=[],u="TupleExpression"===r.type?"#[":"[";if(0===r.elements.length)mf(r)?o.push(cf(af([u,uf(e,t),lf,"]"]))):o.push(u,"]");else{const i=ff(r.elements),a=!(i&&"RestElement"===i.type),s=a&&null===i,l=!t.__inJestEach&&r.elements.length>1&&r.elements.every(((e,t,n)=>{const r=e&&e.type;if("ArrayExpression"!==r&&"ObjectExpression"!==r)return!1;const o=n[t+1];if(o&&r!==o.type)return!1;const u="ArrayExpression"===r?"elements":"properties";return e[u]&&e[u].length>1}));o.push(cf(af([u,pf(af([lf,Cf(e,t,"elements",n)])),s?",":"",df(a&&!s&&gf(t)?",":""),uf(e,t,!0),lf,"]"]),{shouldBreak:l}))}return o.push(yf(e),Ef(e,t,n)),af(o)},printArrayItems:Cf};const{printDanglingComments:vf}=ya,{builders:{concat:Af,line:Ff,softline:xf,group:Sf,indent:wf,ifBreak:Tf,hardline:Bf}}=rn,{getLast:Nf,isNextLineEmpty:kf,hasNewlineInRange:Pf,hasNewline:Of}=Nt,{hasDanglingComments:If,shouldPrintComma:Lf,hasNodeIgnoreComment:Mf,isBlockComment:jf}=Cl,{locStart:_f,locEnd:Rf}=ei,{printOptionalToken:Vf}=Xp,{shouldHugFunctionParameters:$f}=Zd,{printTypeAnnotation:qf,shouldHugType:Wf}=of;var Uf={printObject:function(e,t,n){const r=t.semi?";":"",o=e.getValue();let u;u="TSTypeLiteral"===o.type?"members":"TSInterfaceBody"===o.type?"body":"properties";const i="ObjectTypeAnnotation"===o.type,a=[];i&&a.push("indexers","callProperties","internalSlots"),a.push(u);const s=a.map((e=>o[e][0])).sort(((e,t)=>_f(e)-_f(t)))[0],l=e.getParentNode(0),c=i&&l&&("InterfaceDeclaration"===l.type||"DeclareInterface"===l.type||"DeclareClass"===l.type)&&"body"===e.getName(),p="TSInterfaceBody"===o.type||c||"ObjectPattern"===o.type&&"FunctionDeclaration"!==l.type&&"FunctionExpression"!==l.type&&"ArrowFunctionExpression"!==l.type&&"ObjectMethod"!==l.type&&"ClassMethod"!==l.type&&"ClassPrivateMethod"!==l.type&&"AssignmentPattern"!==l.type&&"CatchClause"!==l.type&&o.properties.some((e=>e.value&&("ObjectPattern"===e.value.type||"ArrayPattern"===e.value.type)))||"ObjectPattern"!==o.type&&s&&Pf(t.originalText,_f(o),_f(s)),d=c?";":"TSInterfaceBody"===o.type||"TSTypeLiteral"===o.type?Tf(r,";"):",",f="RecordExpression"===o.type?"#{":o.exact?"{|":"{",h=o.exact?"|}":"}",m=[];a.forEach((t=>{e.each((e=>{const t=e.getValue();m.push({node:t,printed:n(e),loc:_f(t)})}),t)}));let g=[];const D=m.sort(((e,t)=>e.loc-t.loc)).map((e=>{const n=Af(g.concat(Sf(e.printed)));return g=[d,Ff],"TSPropertySignature"!==e.node.type&&"TSMethodSignature"!==e.node.type&&"TSConstructSignatureDeclaration"!==e.node.type||!Mf(e.node)||g.shift(),kf(t.originalText,e.node,Rf)&&g.push(Bf),n}));if(o.inexact){let n;if(If(o)){const r=!o.comments.every((e=>jf(e))),u=vf(e,t,!0);n=Af([u,r||Of(t.originalText,Rf(o.comments[o.comments.length-1]))?Bf:Ff,"..."])}else n="...";D.push(Af(g.concat(n)))}const y=Nf(o[u]),E=!(o.inexact||y&&"RestElement"===y.type||y&&("TSPropertySignature"===y.type||"TSCallSignatureDeclaration"===y.type||"TSMethodSignature"===y.type||"TSConstructSignatureDeclaration"===y.type)&&Mf(y));let C;if(0===D.length){if(!If(o))return Af([f,h,qf(e,t,n)]);C=Sf(Af([f,vf(e,t),xf,h,Vf(e),qf(e,t,n)]))}else C=Af([f,wf(Af([t.bracketSpacing?Ff:xf,Af(D)])),Tf(E&&(","!==d||Lf(t))?d:""),Af([t.bracketSpacing?Ff:xf,h]),Vf(e),qf(e,t,n)]);return e.match((e=>"ObjectPattern"===e.type&&!e.decorators),((e,t,n)=>$f(e)&&("params"===t||"parameters"===t||"this"===t||"rest"===t)&&0===n))||e.match(Wf,((e,t)=>"typeAnnotation"===t),((e,t)=>"typeAnnotation"===t),((e,t,n)=>$f(e)&&("params"===t||"parameters"===t||"this"===t||"rest"===t)&&0===n))?C:Sf(C,{shouldBreak:p})}};const{printComments:Jf,printDanglingComments:zf}=ya,{builders:{concat:Gf,line:Hf,hardline:Xf,softline:Yf,group:Kf,indent:Qf,conditionalGroup:Zf,fill:eh,ifBreak:th,lineSuffixBoundary:nh},utils:{willBreak:rh,isLineNext:oh,isEmpty:uh}}=rn,{getLast:ih,getPreferredQuote:ah}=Nt,{hasTrailingComment:sh,isEmptyJSXElement:lh,isJSXWhitespaceExpression:ch,isJSXNode:ph,isMeaningfulJSXText:dh,matchJsxWhitespaceRegex:fh,rawText:hh,isLiteral:mh,isCallOrOptionalCallExpression:gh,isStringLiteral:Dh,isBinaryish:yh,isBlockComment:Eh}=Cl,{willPrintOwnComments:Ch}=Zl;function bh(e,t,n){const r=e.getValue();if("JSXElement"===r.type&&lh(r))return Gf([e.call(n,"openingElement"),e.call(n,"closingElement")]);const o="JSXElement"===r.type?e.call(n,"openingElement"):e.call(n,"openingFragment"),u="JSXElement"===r.type?e.call(n,"closingElement"):e.call(n,"closingFragment");if(1===r.children.length&&"JSXExpressionContainer"===r.children[0].type&&("TemplateLiteral"===r.children[0].expression.type||"TaggedTemplateExpression"===r.children[0].expression.type))return Gf([o,Gf(e.map(n,"children")),u]);r.children=r.children.map((e=>ch(e)?{type:"JSXText",value:" ",raw:" "}:e));const i=r.children.filter(ph).length>0,a=r.children.filter((e=>"JSXExpressionContainer"===e.type)).length>1,s="JSXElement"===r.type&&r.openingElement.attributes.length>1;let l=rh(o)||i||s||a;const c="mdx"===e.getParentNode().rootMarker,p=t.singleQuote?"{' '}":'{" "}',d=c?Gf([" "]):th(Gf([p,Yf])," "),f=r.openingElement&&r.openingElement.name&&"fbt"===r.openingElement.name.name,h=function(e,t,n,r,o){const u=e.getValue(),i=[];return e.each(((e,t)=>{const a=e.getValue();if(mh(a)){const e=hh(a);if(dh(a)){const n=e.split(fh);if(""===n[0]){if(i.push(""),n.shift(),/\n/.test(n[0])){const e=u.children[t+1];i.push(Ah(o,n[1],a,e))}else i.push(r);n.shift()}let s;if(""===ih(n)&&(n.pop(),s=n.pop()),0===n.length)return;if(n.forEach(((e,t)=>{t%2==1?i.push(Hf):i.push(e)})),void 0!==s)if(/\n/.test(s)){const e=u.children[t+1];i.push(Ah(o,ih(i),a,e))}else i.push(r);else{const e=u.children[t+1];i.push(vh(o,ih(i),a,e))}}else/\n/.test(e)?e.match(/\n/g).length>1&&(i.push(""),i.push(Xf)):(i.push(""),i.push(r))}else{const r=n(e);i.push(r);const s=u.children[t+1];if(s&&dh(s)){const e=hh(s).trim().split(fh)[0];i.push(vh(o,e,a,s))}else i.push(Xf)}}),"children"),i}(e,0,n,d,f),m=r.children.some((e=>dh(e)));for(let e=h.length-2;e>=0;e--){const t=""===h[e]&&""===h[e+1],n=h[e]===Xf&&""===h[e+1]&&h[e+2]===Xf,r=(h[e]===Yf||h[e]===Xf)&&""===h[e+1]&&h[e+2]===d,o=h[e]===d&&""===h[e+1]&&(h[e+2]===Yf||h[e+2]===Xf),u=h[e]===d&&""===h[e+1]&&h[e+2]===d,i=h[e]===Yf&&""===h[e+1]&&h[e+2]===Xf||h[e]===Xf&&""===h[e+1]&&h[e+2]===Yf;n&&m||t||r||u||i?h.splice(e,2):o&&h.splice(e+1,2)}for(;h.length&&(oh(ih(h))||uh(ih(h)));)h.pop();for(;h.length&&(oh(h[0])||uh(h[0]))&&(oh(h[1])||uh(h[1]));)h.shift(),h.shift();const g=[];h.forEach(((e,t)=>{if(e===d){if(1===t&&""===h[t-1])return 2===h.length?void g.push(p):void g.push(Gf([p,Xf]));if(t===h.length-1)return void g.push(p);if(""===h[t-1]&&h[t-2]===Xf)return void g.push(p)}g.push(e),rh(e)&&(l=!0)}));const D=m?eh(g):Kf(Gf(g),{shouldBreak:!0});if(c)return D;const y=Kf(Gf([o,Qf(Gf([Xf,D])),Xf,u]));return l?y:Zf([Kf(Gf([o,Gf(h),u])),y])}function vh(e,t,n,r){return e?"":"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?1===t.length?Yf:Xf:Yf}function Ah(e,t,n,r){return e?Xf:1===t.length?"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?Xf:Yf:Xf}function Fh(e,t,n){const r=e.getValue();return Gf(["{",e.call((e=>{const r=Gf(["...",n(e)]),o=e.getValue();return o.comments&&o.comments.length&&Ch(e)?Gf([Qf(Gf([Yf,Jf(e,(()=>r),t)])),Yf]):r}),"JSXSpreadAttribute"===r.type?"argument":"expression"),"}"])}var xh={printJsxElement:function(e,t,n){const r=Jf(e,(()=>bh(e,t,n)),t);return function(e,t,n){const r=e.getParentNode();if(!r)return t;if({ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0}[r.type])return t;const o=e.match(void 0,(e=>"ArrowFunctionExpression"===e.type),gh,(e=>"JSXExpressionContainer"===e.type)),u=Pp(e,n);return Kf(Gf([u?"":th("("),Qf(Gf([Yf,t])),Yf,u?"":th(")")]),{shouldBreak:o})}(e,r,t)},printJsxAttribute:function(e,t,n){const r=e.getValue(),o=[];if(o.push(e.call(n,"name")),r.value){let u;if(Dh(r.value)){let e=hh(r.value).replace(/'/g,"'").replace(/"/g,'"');const n=ah(e,t.jsxSingleQuote?"'":'"'),o="'"===n?"'":""";e=e.slice(1,-1).replace(new RegExp(n,"g"),o),u=Gf([n,e,n])}else u=e.call(n,"value");o.push("=",u)}return Gf(o)},printJsxOpeningElement:function(e,t,n){const r=e.getValue(),o=r.name&&r.name.comments&&r.name.comments.length>0||r.typeParameters&&r.typeParameters.comments&&r.typeParameters.comments.length>0;if(r.selfClosing&&!r.attributes.length&&!o)return Gf(["<",e.call(n,"name"),e.call(n,"typeParameters")," />"]);if(r.attributes&&1===r.attributes.length&&r.attributes[0].value&&Dh(r.attributes[0].value)&&!r.attributes[0].value.value.includes("\n")&&!o&&(!r.attributes[0].comments||!r.attributes[0].comments.length))return Kf(Gf(["<",e.call(n,"name"),e.call(n,"typeParameters")," ",Gf(e.map(n,"attributes")),r.selfClosing?" />":">"]));const u=r.attributes.length&&sh(ih(r.attributes)),i=!r.attributes.length&&!o||t.jsxBracketSameLine&&(!o||r.attributes.length)&&!u,a=r.attributes&&r.attributes.some((e=>e.value&&Dh(e.value)&&e.value.value.includes("\n")));return Kf(Gf(["<",e.call(n,"name"),e.call(n,"typeParameters"),Gf([Qf(Gf(e.map((e=>Gf([Hf,n(e)])),"attributes"))),r.selfClosing?Hf:i?">":Yf]),r.selfClosing?"/>":i?"":">"]),{shouldBreak:a})},printJsxClosingElement:function(e,t,n){return Gf([""])},printJsxOpeningClosingFragment:function(e,t){const n=e.getValue(),r=n.comments&&n.comments.length,o=r&&!n.comments.every((e=>Eh(e))),u="JSXOpeningFragment"===n.type;return Gf([u?"<":""])},printJsxExpressionContainer:function(e,t,n){const r=e.getValue(),o=e.getParentNode(0),u=r.expression.comments&&r.expression.comments.length>0,i="JSXEmptyExpression"===r.expression.type||!u&&("ArrayExpression"===r.expression.type||"ObjectExpression"===r.expression.type||"ArrowFunctionExpression"===r.expression.type||"CallExpression"===r.expression.type||"OptionalCallExpression"===r.expression.type||"FunctionExpression"===r.expression.type||"TemplateLiteral"===r.expression.type||"TaggedTemplateExpression"===r.expression.type||"DoExpression"===r.expression.type||ph(o)&&("ConditionalExpression"===r.expression.type||yh(r.expression)));return Kf(Gf(i?["{",e.call(n,"expression"),nh,"}"]:["{",Qf(Gf([Yf,e.call(n,"expression")])),Yf,nh,"}"]))},printJsxEmptyExpression:function(e,t){const n=e.getValue(),r=n.comments&&!n.comments.every((e=>Eh(e)));return Gf([zf(e,t,!r),r?Xf:""])},printJsxSpreadAttribute:Fh,printJsxSpreadChild:Fh};const{printDanglingComments:Sh}=ya,{builders:{concat:wh,join:Th,line:Bh,hardline:Nh,softline:kh,group:Ph,indent:Oh,ifBreak:Ih}}=rn,{hasDanglingComments:Lh,isTestCall:Mh,isBlockComment:jh,shouldPrintComma:_h}=Cl,{shouldHugType:Rh}=of,Vh=new WeakMap;function $h(e){return Vh.has(e)||Vh.set(e,Symbol("typeParameters")),Vh.get(e)}function qh(e,t){const n=e.getValue();if(!Lh(n))return"";const r=n.comments.every((e=>jh(e))),o=Sh(e,t,r);return r?o:wh([o,Nh])}var Wh={printTypeParameters:function(e,t,n,r){const o=e.getValue();if(!o[r])return"";if(!Array.isArray(o[r]))return e.call(n,r);const u=e.getNode(2);return null!=u&&Mh(u)||0===o[r].length||1===o[r].length&&(Rh(o[r][0])||"GenericTypeAnnotation"===o[r][0].type&&Rh(o[r][0].id)||"TSTypeReference"===o[r][0].type&&Rh(o[r][0].typeName)||"NullableTypeAnnotation"===o[r][0].type)?wh(["<",Th(", ",e.map(n,r)),qh(e,t),">"]):Ph(wh(["<",Oh(wh([kh,Th(wh([",",Bh]),e.map(n,r))])),Ih("typescript"!==t.parser&&"babel-ts"!==t.parser&&_h(t,"all")?",":""),kh,">"]),{id:$h(o)})},getTypeParametersGroupId:$h};const{printComments:Uh}=ya,{printString:Jh,printNumber:zh}=Nt,{builders:{concat:Gh}}=rn,{isNumericLiteral:Hh,isSimpleNumber:Xh,isStringLiteral:Yh,isStringPropSafeToUnquote:Kh,rawText:Qh}=Cl,Zh=new WeakMap;var em={printPropertyKey:function(e,t,n){const r=e.getNode();if(r.computed)return Gh(["[",e.call(n,"key"),"]"]);const o=e.getParentNode(),{key:u}=r;if("ClassPrivateProperty"===r.type&&"Identifier"===u.type)return Gh(["#",e.call(n,"key")]);if("consistent"===t.quoteProps&&!Zh.has(o)){const e=(o.properties||o.body||o.members).some((e=>!e.computed&&e.key&&Yh(e.key)&&!Kh(e,t)));Zh.set(o,e)}if(("Identifier"===u.type||Hh(u)&&Xh(zh(Qh(u)))&&String(u.value)===zh(Qh(u))&&"typescript"!==t.parser&&"babel-ts"!==t.parser)&&("json"===t.parser||"consistent"===t.quoteProps&&Zh.get(o))){const n=Jh(JSON.stringify("Identifier"===u.type?u.name:u.value.toString()),t);return e.call((e=>Uh(e,(()=>n),t)),"key")}return Kh(r,t)&&("as-needed"===t.quoteProps||"consistent"===t.quoteProps&&!Zh.get(o))?e.call((e=>Uh(e,(()=>/^\d/.test(u.value)?zh(u.value):u.value),t)),"key"):e.call(n,"key")}};const{printDanglingComments:tm}=ya,{getNextNonSpaceNonCommentCharacterIndex:nm}=Nt,{builders:{concat:rm,line:om,softline:um,group:im,indent:am,ifBreak:sm,hardline:lm}}=rn,{getFunctionParameters:cm,hasDanglingComments:pm,hasLeadingOwnLineComment:dm,isFlowAnnotationComment:fm,isJSXNode:hm,isTemplateOnItsOwnLine:mm,shouldPrintComma:gm,startsWithNoLookaheadToken:Dm,returnArgumentHasLeadingComment:ym,isBinaryish:Em,isLineComment:Cm}=Cl,{locEnd:bm}=ei,{printFunctionParameters:vm}=Zd,{printPropertyKey:Am}=em,{printFunctionTypeParameters:Fm}=Xp;function xm(e,t,n){const r=[Fm(e,t,n),im(rm([vm(e,n,t),wm(e,n,t)]))];return e.getNode().body?r.push(" ",e.call(n,"body")):r.push(t.semi?";":""),rm(r)}function Sm(e,t){if("always"===t.arrowParens)return!1;if("avoid"===t.arrowParens){return function(e){const t=cm(e);return!(1!==t.length||e.typeParameters||pm(e)||"Identifier"!==t[0].type||t[0].typeAnnotation||t[0].comments||t[0].optional||e.predicate||e.returnType)}(e.getValue())}return!1}function wm(e,t,n){const r=e.getValue(),o=e.call(t,"returnType");if(r.returnType&&fm(n.originalText,r.returnType))return rm([" /*: ",o," */"]);const u=[o];return r.returnType&&r.returnType.typeAnnotation&&u.unshift(": "),r.predicate&&u.push(r.returnType?" ":": ",e.call(t,"predicate")),rm(u)}var Tm={printFunctionDeclaration:function(e,t,n,r){const o=e.getValue(),u=[];return o.async&&u.push("async "),o.generator?u.push("function* "):u.push("function "),o.id&&u.push(e.call(t,"id")),u.push(Fm(e,n,t),im(rm([vm(e,t,n,r),wm(e,t,n)])),o.body?" ":"",e.call(t,"body")),rm(u)},printArrowFunctionExpression:function(e,t,n,r){const o=e.getValue(),u=[];o.async&&u.push("async "),Sm(e,t)?u.push(e.call(n,"params",0)):u.push(im(rm([vm(e,n,t,r&&(r.expandLastArg||r.expandFirstArg),!0),wm(e,n,t)])));const i=tm(e,t,!0,(e=>{const n=nm(t.originalText,e,bm);return!1!==n&&"=>"===t.originalText.slice(n,n+2)}));i&&u.push(" ",i),u.push(" =>");const a=e.call((e=>n(e,r)),"body");if(!dm(t.originalText,o.body)&&("ArrayExpression"===o.body.type||"ObjectExpression"===o.body.type||"BlockStatement"===o.body.type||hm(o.body)||mm(o.body,t.originalText)||"ArrowFunctionExpression"===o.body.type||"DoExpression"===o.body.type))return im(rm([rm(u)," ",a]));if("SequenceExpression"===o.body.type)return im(rm([rm(u),im(rm([" (",am(rm([um,a])),um,")"]))]));const s=(r&&r.expandLastArg||"JSXExpressionContainer"===e.getParentNode().type)&&!(o.comments&&o.comments.length),l=r&&r.expandLastArg&&gm(t,"all"),c="ConditionalExpression"===o.body.type&&!Dm(o.body,!1);return im(rm([rm(u),im(rm([am(rm([om,c?sm("","("):"",a,c?sm("",")"):""])),s?rm([sm(l?",":""),um]):""]))]))},printMethod:function(e,t,n){const r=e.getNode(),{kind:o}=r,u=r.value||r,i=[];return o&&"init"!==o&&"method"!==o&&"constructor"!==o?(Xi.ok("get"===o||"set"===o),i.push(o," ")):u.async&&i.push("async "),u.generator&&i.push("*"),i.push(Am(e,t,n),r.optional||r.key.optional?"?":"",r===u?xm(e,t,n):e.call((e=>xm(e,t,n)),"value")),rm(i)},printReturnAndThrowArgument:function(e,t,n){const r=e.getValue(),o=t.semi?";":"",u=[];r.argument&&(ym(t,r.argument)?u.push(rm([" (",am(rm([lm,e.call(n,"argument")])),lm,")"])):Em(r.argument)||"SequenceExpression"===r.argument.type?u.push(im(rm([sm(" ("," "),am(rm([um,e.call(n,"argument")])),um,sm(")")]))):u.push(" ",e.call(n,"argument")));const i=Array.isArray(r.comments)&&r.comments[r.comments.length-1],a=i&&Cm(i);return a&&u.push(o),pm(r)&&u.push(" ",tm(e,t,!0)),a||u.push(o),rm(u)},shouldPrintParamsWithoutParens:Sm};const{printComments:Bm,printDanglingComments:Nm}=ya,{builders:{concat:km,join:Pm,line:Om,hardline:Im,softline:Lm,group:Mm,indent:jm,ifBreak:_m}}=rn,{hasTrailingComment:Rm,hasTrailingLineComment:Vm}=Cl,{getTypeParametersGroupId:$m}=Wh,{printMethod:qm}=Tm,{printDecorators:Wm}=Xp;function Um(e){return e.typeParameters&&!Vm(e.typeParameters)&&!function(e){return["superClass","extends","mixins","implements"].filter((t=>!!e[t])).length>1}(e)}function Jm(e,t,n,r){const o=e.getValue();if(!o[r]||0===o[r].length)return"";const u=Nm(e,t,!0,(({marker:e})=>e===r));return km([Um(o)?_m(" ",Om,{groupId:$m(o.typeParameters)}):Om,u,u&&Im,r,Mm(jm(km([Om,Pm(km([",",Om]),e.map(n,r))])))])}function zm(e,t,n){const r=e.call(n,"superClass");return"AssignmentExpression"===e.getParentNode().type?Mm(_m(km(["(",jm(km([Lm,r])),Lm,")"]),r)):r}var Gm={printClass:function(e,t,n){const r=e.getValue(),o=[];r.abstract&&o.push("abstract "),o.push("class");const u=r.id&&Rm(r.id)||r.superClass&&r.superClass.comments&&0!==r.superClass.comments.length||r.extends&&0!==r.extends.length||r.mixins&&0!==r.mixins.length||r.implements&&0!==r.implements.length,i=[],a=[];if(r.id&&i.push(" ",e.call(n,"id")),i.push(e.call(n,"typeParameters")),r.superClass){const r=km(["extends ",zm(e,t,n),e.call(n,"superTypeParameters")]),o=e.call((e=>Bm(e,(()=>r),t)),"superClass");u?a.push(Om,Mm(o)):a.push(" ",o)}else a.push(Jm(e,t,n,"extends"));if(a.push(Jm(e,t,n,"mixins")),a.push(Jm(e,t,n,"implements")),u){const e=km(a);Um(r)?o.push(Mm(km(i.concat(_m(jm(e),e))))):o.push(Mm(jm(km(i.concat(e)))))}else o.push(...i,...a);return o.push(" ",e.call(n,"body")),km(o)},printClassMethod:function(e,t,n){const r=e.getValue(),o=[];return r.decorators&&0!==r.decorators.length&&o.push(Wm(e,t,n)),r.accessibility&&o.push(r.accessibility+" "),r.static&&o.push("static "),("TSAbstractMethodDefinition"===r.type||r.abstract)&&o.push("abstract "),o.push(qm(e,t,n)),km(o)}};const{getLast:Hm,getPenultimate:Xm,isNextLineEmpty:Ym}=Nt,{getFunctionParameters:Km,iterateFunctionParametersPath:Qm,hasLeadingComment:Zm,hasTrailingComment:eg,isFunctionCompositionArgs:tg,isJSXNode:ng,isLongCurriedCallExpression:rg,shouldPrintComma:og,getCallArguments:ug,iterateCallArgumentsPath:ig}=Cl,{locEnd:ag}=ei,{builders:{concat:sg,line:lg,hardline:cg,softline:pg,group:dg,indent:fg,conditionalGroup:hg,ifBreak:mg,breakParent:gg},utils:{willBreak:Dg}}=rn;function yg(e){return"ObjectExpression"===e.type&&(e.properties.length>0||e.comments)||"ArrayExpression"===e.type&&(e.elements.length>0||e.comments)||"TSTypeAssertion"===e.type&&yg(e.expression)||"TSAsExpression"===e.type&&yg(e.expression)||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&(!e.returnType||!e.returnType.typeAnnotation||"TSTypeReference"!==e.returnType.typeAnnotation.type)&&("BlockStatement"===e.body.type||"ArrowFunctionExpression"===e.body.type||"ObjectExpression"===e.body.type||"ArrayExpression"===e.body.type||"CallExpression"===e.body.type||"OptionalCallExpression"===e.body.type||"ConditionalExpression"===e.body.type||ng(e.body))}var Eg=function(e,t,n){const r=e.getValue(),o="ImportExpression"===r.type,u=ug(r);if(0===u.length)return sg(["(",ya.printDanglingComments(e,t,!0),")"]);if(2===u.length&&"ArrowFunctionExpression"===u[0].type&&0===Km(u[0]).length&&"BlockStatement"===u[0].body.type&&"ArrayExpression"===u[1].type&&!u.some((e=>e.comments)))return sg(["(",e.call(n,"arguments",0),", ",e.call(n,"arguments",1),")"]);let i=!1,a=!1,s=!1;const l=u.length-1,c=[];ig(e,((e,r)=>{const o=e.getNode(),u=[n(e)];r===l||(Ym(t.originalText,o,ag)?(0===r&&(s=!0),i=!0,u.push(",",cg,cg)):u.push(",",lg)),a=function(e,t){if(!e||"ArrowFunctionExpression"!==e.type||!e.body||"BlockStatement"!==e.body.type||0===Km(e).length)return!1;let r=!1;return Qm(t,(e=>{r=r||Dg(sg([n(e)]))})),r}(o,e),c.push(sg(u))}));const p=o||r.callee&&"Import"===r.callee.type||!og(t,"all")?"":",";function d(){return dg(sg(["(",fg(sg([lg,sg(c)])),p,lg,")"]),{shouldBreak:!0})}if("Decorator"!==e.getParentNode().type&&tg(u))return d();const f=function(e){if(2!==e.length)return!1;const[t,n]=e;return!(t.comments&&t.comments.length||"FunctionExpression"!==t.type&&("ArrowFunctionExpression"!==t.type||"BlockStatement"!==t.body.type)||"FunctionExpression"===n.type||"ArrowFunctionExpression"===n.type||"ConditionalExpression"===n.type||yg(n))}(u),h=function(e){const t=Hm(e),n=Xm(e);return!Zm(t)&&!eg(t)&&yg(t)&&(!n||n.type!==t.type)}(u);if(f||h){const t=(f?c.slice(1).some(Dg):c.slice(0,-1).some(Dg))||i||a;let o=[];ig(e,((e,t)=>{f&&0===t&&(o=[sg([e.call((e=>n(e,{expandFirstArg:!0}))),c.length>1?",":"",s?cg:lg,s?cg:""])].concat(c.slice(1))),h&&t===u.length-1&&(o=c.slice(0,-1).concat(e.call((e=>n(e,{expandLastArg:!0})))))}));const l=c.some(Dg),p=sg(["(",sg(o),")"]);return sg([l?gg:"",hg([l||r.typeArguments||r.typeParameters?mg(d(),p):p,sg(f?["(",dg(o[0],{shouldBreak:!0}),sg(o.slice(1)),")"]:["(",sg(c.slice(0,-1)),dg(Hm(o),{shouldBreak:!0}),")"]),d()],{shouldBreak:t})])}const m=sg(["(",fg(sg([pg,sg(c)])),mg(p),pg,")"]);return rg(e)?m:dg(m,{shouldBreak:c.some(Dg)||i})};const{builders:{concat:Cg,softline:bg,group:vg,indent:Ag}}=rn,{isNumericLiteral:Fg}=Cl,{printOptionalToken:xg}=Xp;function Sg(e,t,n){const r=e.call(n,"property"),o=e.getValue(),u=xg(e);return o.computed?!o.property||Fg(o.property)?Cg([u,"[",r,"]"]):vg(Cg([u,"[",Ag(Cg([bg,r])),bg,"]"])):Cg([u,".",r])}var wg={printMemberExpression:function(e,t,n){const r=e.getValue(),o=e.getParentNode();let u,i=0;do{u=e.getParentNode(i),i++}while(u&&("MemberExpression"===u.type||"OptionalMemberExpression"===u.type||"TSNonNullExpression"===u.type));const a=u&&("NewExpression"===u.type||"BindExpression"===u.type||"VariableDeclarator"===u.type&&"Identifier"!==u.id.type||"AssignmentExpression"===u.type&&"Identifier"!==u.left.type)||r.computed||"Identifier"===r.object.type&&"Identifier"===r.property.type&&"MemberExpression"!==o.type&&"OptionalMemberExpression"!==o.type;return Cg([e.call(n,"object"),a?Sg(e,t,n):vg(Ag(Cg([bg,Sg(e,t,n)])))])},printMemberLookup:Sg};const{getLast:Tg,isNextLineEmpty:Bg,isNextLineEmptyAfterIndex:Ng,getNextNonSpaceNonCommentCharacterIndex:kg}=Nt,{hasLeadingComment:Pg,hasTrailingComment:Og,isCallOrOptionalCallExpression:Ig,isFunctionOrArrowExpression:Lg,isLongCurriedCallExpression:Mg,isMemberish:jg,isNumericLiteral:_g,isSimpleCallArgument:Rg}=Cl,{locEnd:Vg}=ei,{builders:{concat:$g,join:qg,hardline:Wg,group:Ug,indent:Jg,conditionalGroup:zg,breakParent:Gg},utils:{willBreak:Hg}}=rn,{printMemberLookup:Xg}=wg,{printOptionalToken:Yg,printFunctionTypeParameters:Kg,printBindExpressionCallee:Qg}=Xp;var Zg=function(e,t,n){const r=e.getParentNode(),o=!r||"ExpressionStatement"===r.type,u=[];function i(e){const{originalText:n}=t,r=kg(n,e,Vg);return")"===n.charAt(r)?!1!==r&&Ng(n,r+1):Bg(n,e,Vg)}function a(e){const r=e.getValue();Ig(r)&&(jg(r.callee)||Ig(r.callee))?(u.unshift({node:r,printed:$g([ya.printComments(e,(()=>$g([Yg(e),Kg(e,t,n),Eg(e,t,n)])),t),i(r)?Wg:""])}),e.call((e=>a(e)),"callee")):jg(r)?(u.unshift({node:r,needsParens:Pp(e,t),printed:ya.printComments(e,(()=>"OptionalMemberExpression"===r.type||"MemberExpression"===r.type?Xg(e,t,n):Qg(e,t,n)),t)}),e.call((e=>a(e)),"object")):"TSNonNullExpression"===r.type?(u.unshift({node:r,printed:ya.printComments(e,(()=>"!"),t)}),e.call((e=>a(e)),"expression")):u.unshift({node:r,printed:e.call(n)})}const s=e.getValue();u.unshift({node:s,printed:$g([Yg(e),Kg(e,t,n),Eg(e,t,n)])}),s.callee&&e.call((e=>a(e)),"callee");const l=[];let c=[u[0]],p=1;for(;pe.trailing))&&(l.push(c),c=[],d=!1)}function f(e){return/^[A-Z]|^[$_]+$/.test(e)}c.length>0&&l.push(c);const h=l.length>=2&&!l[1][0].node.comments&&function(e){const n=e[1].length&&e[1][0].node.computed;if(1===e[0].length){const r=e[0][0].node;return"ThisExpression"===r.type||"Identifier"===r.type&&(f(r.name)||o&&function(e){return e.length<=t.tabWidth}(r.name)||n)}const r=Tg(e[0]).node;return("MemberExpression"===r.type||"OptionalMemberExpression"===r.type)&&"Identifier"===r.property.type&&(f(r.property.name)||n)}(l);function m(e){const t=e.map((e=>e.printed));return e.length>0&&e[e.length-1].needsParens?$g(["(",...t,")"]):$g(t)}const g=l.map(m),D=$g(g),y=h?3:2,E=Uu(l),C=E.slice(1,-1).some((e=>Pg(e.node)))||E.slice(0,-1).some((e=>Og(e.node)))||l[y]&&Pg(l[y][0].node);if(l.length<=y&&!C)return Mg(e)?D:Ug(D);const b=Tg(l[h?1:0]).node,v=!Ig(b)&&i(b),A=$g([m(l[0]),h?$g(l.slice(1,2).map(m)):"",v?Wg:"",function(e){return 0===e.length?"":Jg(Ug($g([Wg,qg(Wg,e.map(m))])))}(l.slice(h?2:1))]),F=u.map((({node:e})=>e)).filter(Ig);return C||F.length>2&&F.some((e=>!e.arguments.every((e=>Rg(e,0)))))||g.slice(0,-1).some(Hg)||function(){const e=Tg(Tg(l)).node,t=Tg(g);return Ig(e)&&Hg(t)&&F.slice(0,-1).some((e=>e.arguments.some(Lg)))}()?Ug(A):$g([Hg(D)||v?Gg:"",zg([D,A])])};const{builders:{concat:eD,join:tD,group:nD}}=rn,{getCallArguments:rD,hasFlowAnnotationComment:oD,isCallOrOptionalCallExpression:uD,isMemberish:iD,isTemplateOnItsOwnLine:aD,isTestCall:sD,iterateCallArgumentsPath:lD}=Cl,{printOptionalToken:cD,printFunctionTypeParameters:pD}=Xp;var dD={printCallExpression:function(e,t,n){const r=e.getValue(),o="NewExpression"===r.type,u="ImportExpression"===r.type,i=cD(e),a=rD(r);if(a.length>0&&(!u&&!o&&"Identifier"===r.callee.type&&("require"===r.callee.name||"define"===r.callee.name)||1===a.length&&aD(a[0],t.originalText)||!o&&sD(r,e.getParentNode()))){const r=[];return lD(e,(e=>{r.push(n(e))})),eD([o?"new ":"",e.call(n,"callee"),i,pD(e,t,n),eD(["(",tD(", ",r),")"])])}const s=("babel"===t.parser||"babel-flow"===t.parser)&&r.callee&&"Identifier"===r.callee.type&&oD(r.callee.trailingComments);if(s&&(r.callee.trailingComments[0].printed=!0),!u&&!o&&iD(r.callee)&&!e.call((e=>Pp(e,t)),"callee"))return Zg(e,t,n);const l=eD([o?"new ":"",u?"import":e.call(n,"callee"),i,s?"/*:: ".concat(r.callee.trailingComments[0].value.slice(2).trim()," */"):"",pD(e,t,n),Eg(e,t,n)]);return u||uD(r.callee)?nD(l):l}};const{builders:{concat:fD,join:hD,line:mD,group:gD,indent:DD,ifBreak:yD}}=rn,{hasTrailingComment:ED,hasTrailingLineComment:CD,identity:bD}=Cl,{getTypeParametersGroupId:vD}=Wh,{printTypeScriptModifiers:AD}=Xp;var FD={printInterface:function(e,t,n){const r=e.getValue(),o=[];("DeclareInterface"===r.type||r.declare)&&o.push("declare "),"TSInterfaceDeclaration"===r.type&&o.push(r.abstract?"abstract ":"",AD(e,t,n)),o.push("interface");const u=[],i=[];"InterfaceTypeAnnotation"!==r.type&&u.push(" ",e.call(n,"id"),e.call(n,"typeParameters"));const a=r.typeParameters&&!CD(r.typeParameters);if(r.extends&&0!==r.extends.length&&i.push(a?yD(" ",mD,{groupId:vD(r.typeParameters)}):mD,"extends ",(1===r.extends.length?bD:DD)(hD(fD([",",mD]),e.map(n,"extends")))),r.id&&ED(r.id)||r.extends&&0!==r.extends.length){const e=fD(i);a?o.push(gD(fD(u.concat(yD(DD(e),e))))):o.push(gD(DD(fD(u.concat(e)))))}else o.push(...u,...i);return o.push(" ",e.call(n,"body")),gD(fD(o))}};const{printComments:xD}=ya,{getLast:SD}=Nt,{builders:{concat:wD,join:TD,line:BD,softline:ND,group:kD,indent:PD,align:OD,ifBreak:ID},utils:{normalizeParts:LD}}=rn,{hasLeadingOwnLineComment:MD,hasTrailingLineComment:jD,isBinaryish:_D,isJSXNode:RD,shouldFlatten:VD}=Cl;let $D=0;function qD(e,t,n,r,o){let u=[];const i=e.getValue();if(_D(i)){VD(i.operator,i.left.operator)?u=u.concat(e.call((e=>qD(e,t,n,!0,o)),"left")):u.push(kD(e.call(t,"left")));const a=WD(i),s=("|>"===i.operator||"NGPipeExpression"===i.type||"|"===i.operator&&"__vue_expression"===n.parser)&&!MD(n.originalText,i.right),l="NGPipeExpression"===i.type?"|":i.operator,c="NGPipeExpression"===i.type&&0!==i.arguments.length?kD(PD(wD([ND,": ",TD(wD([ND,":",ID(" ")]),e.map(t,"arguments").map((e=>OD(2,kD(e)))))]))):"",p=wD(a?[l," ",e.call(t,"right"),c]:[s?BD:"",l,s?" ":BD,e.call(t,"right"),c]),d=e.getParentNode(),f=jD(i.left),h=f||!(o&&"LogicalExpression"===i.type)&&d.type!==i.type&&i.left.type!==i.type&&i.right.type!==i.type;u.push(s?"":" ",h?kD(p,{shouldBreak:f}):p),r&&i.comments&&(u=LD(xD(e,(()=>wD(u)),n).parts))}else u.push(kD(e.call(t)));return u}function WD(e){return"LogicalExpression"===e.type&&("ObjectExpression"===e.right.type&&0!==e.right.properties.length||("ArrayExpression"===e.right.type&&0!==e.right.elements.length||!!RD(e.right)))}var UD={printBinaryishExpression:function(e,t,n){const r=e.getValue(),o=e.getParentNode(),u=e.getParentNode(1),i=r!==o.body&&("IfStatement"===o.type||"WhileStatement"===o.type||"SwitchStatement"===o.type||"DoWhileStatement"===o.type),a=qD(e,n,t,!1,i);if(i)return wD(a);if(("CallExpression"===o.type||"OptionalCallExpression"===o.type)&&o.callee===r||"UnaryExpression"===o.type||("MemberExpression"===o.type||"OptionalMemberExpression"===o.type)&&!o.computed)return kD(wD([PD(wD([ND,wD(a)])),ND]));const s="ReturnStatement"===o.type||"ThrowStatement"===o.type||"JSXExpressionContainer"===o.type&&"JSXAttribute"===u.type||"|"!==r.operator&&"JsExpressionRoot"===o.type||"NGPipeExpression"!==r.type&&("NGRoot"===o.type&&"__ng_binding"===t.parser||"NGMicrosyntaxExpression"===o.type&&"NGMicrosyntax"===u.type&&1===u.body.length)||r===o.body&&"ArrowFunctionExpression"===o.type||r!==o.body&&"ForStatement"===o.type||"ConditionalExpression"===o.type&&"ReturnStatement"!==u.type&&"ThrowStatement"!==u.type&&"CallExpression"!==u.type&&"OptionalCallExpression"!==u.type||"TemplateLiteral"===o.type,l="AssignmentExpression"===o.type||"VariableDeclarator"===o.type||"ClassProperty"===o.type||"FieldDefinition"===o.type||"TSAbstractClassProperty"===o.type||"ClassPrivateProperty"===o.type||"ObjectProperty"===o.type||"Property"===o.type,c=_D(r.left)&&VD(r.operator,r.left.operator);if(s||WD(r)&&!c||!WD(r)&&l)return kD(wD(a));if(0===a.length)return"";const p=RD(r.right),d=a.findIndex((e=>"string"!=typeof e&&"group"===e.type)),f=a.slice(0,-1===d?1:d+1),h=wD(a.slice(f.length,p?-1:void 0)),m=Symbol("logicalChain-"+ ++$D),g=kD(wD([...f,PD(h)]),{id:m});if(!p)return g;const D=SD(a);return kD(wD([g,ID(PD(D),D,{groupId:m})]))},shouldInlineLogicalExpression:WD};const{builders:{concat:JD,line:zD,group:GD,indent:HD}}=rn,{hasLeadingOwnLineComment:XD,isBinaryish:YD,isMemberExpressionChain:KD,isStringLiteral:QD}=Cl,{shouldInlineLogicalExpression:ZD}=UD;function ey(e,t,n,r,o,u){if(!r)return t;const i=ty(e,r,o,u);return GD(JD([t,n,i]))}function ty(e,t,n,r){if(XD(r.originalText,t))return HD(JD([zD,n]));return YD(t)&&!ZD(t)||"ConditionalExpression"===t.type&&YD(t.test)&&!ZD(t.test)||"StringLiteralTypeAnnotation"===t.type||"ClassExpression"===t.type&&t.decorators&&t.decorators.length||("Identifier"===e.type||QD(e)||"MemberExpression"===e.type)&&(QD(t)||KD(t))&&"json"!==r.parser&&"json5"!==r.parser||"SequenceExpression"===t.type?GD(HD(JD([zD,n]))):JD([" ",n])}var ny={printVariableDeclarator:function(e,t,n){const r=e.getValue();return ey(r.id,e.call(n,"id")," =",r.init,r.init&&e.call(n,"init"),t)},printAssignmentExpression:function(e,t,n){const r=e.getValue();return ey(r.left,e.call(n,"left"),JD([" ",r.operator]),r.right,e.call(n,"right"),t)},printAssignment:ey,printAssignmentRight:ty};const{isNextLineEmpty:ry}=Nt,{builders:{concat:oy,join:uy,hardline:iy}}=rn,{classChildNeedsASIProtection:ay,classPropMayCauseASIProblems:sy,getLeftSidePathName:ly,hasNakedLeftSide:cy,isJSXNode:py,isLastStatement:dy,isTheOnlyJSXElementInMarkdown:fy}=Cl,{locEnd:hy}=ei,{shouldPrintParamsWithoutParens:my}=Tm;function gy({path:e,index:t,bodyNode:n,isClass:r},o,u){const i=e.getValue();if(!i)return;if("EmptyStatement"===i.type)return;const a=u(e),s=o.originalText,l=[];if(o.semi||r||fy(o,e)||!function(e,t){if("ExpressionStatement"!==e.getNode().type)return!1;return e.call((e=>Dy(e,t)),"expression")}(e,o)?l.push(a):i.comments&&i.comments.some((e=>e.leading))?l.push(u(e,{needsSemi:!0})):l.push(";",a),!o.semi&&r)if(sy(e))l.push(";");else if("ClassProperty"===i.type||"FieldDefinition"===i.type){const e=n.body[t+1];ay(e)&&l.push(";")}return ry(s,i,hy)&&!dy(e)&&l.push(iy),oy(l)}function Dy(e,t){const n=e.getValue();return!!(Pp(e,t)||"ParenthesizedExpression"===n.type||"TypeCastExpression"===n.type||"ArrowFunctionExpression"===n.type&&!my(e,t)||"ArrayExpression"===n.type||"ArrayPattern"===n.type||"UnaryExpression"===n.type&&n.prefix&&("+"===n.operator||"-"===n.operator)||"TemplateLiteral"===n.type||"TemplateElement"===n.type||py(n)||"BindExpression"===n.type&&!n.object||"RegExpLiteral"===n.type||"Literal"===n.type&&n.pattern||"Literal"===n.type&&n.regex)||!!cy(n)&&e.call((e=>Dy(e,t)),...ly(e,n))}var yy={printStatementSequence:function(e,t,n){const r=e.getNode(),o="ClassBody"===r.type,u=e.map(((u,i)=>gy({path:e,index:i,bodyNode:r,isClass:o},t,n))).filter(Boolean);return uy(iy,u)}};const{printDanglingComments:Ey}=ya,{isNextLineEmpty:Cy}=Nt,{builders:{concat:by,hardline:vy,indent:Ay}}=rn,{hasDanglingComments:Fy}=Cl,{locEnd:xy}=ei,{printStatementSequence:Sy}=yy;var wy={printBlock:function(e,t,n){const r=e.getValue(),o=[],u=t.semi?";":"",i=e.call((e=>Sy(e,t,n)),"body");"StaticBlock"===r.type&&o.push("static ");const a=r.body.some((e=>"EmptyStatement"!==e.type)),s=r.directives&&r.directives.length>0,l=e.getParentNode(),c=e.getParentNode(1);return a||s||Fy(r)||"ArrowFunctionExpression"!==l.type&&"FunctionExpression"!==l.type&&"FunctionDeclaration"!==l.type&&"ObjectMethod"!==l.type&&"ClassMethod"!==l.type&&"ClassPrivateMethod"!==l.type&&"ForStatement"!==l.type&&"WhileStatement"!==l.type&&"DoWhileStatement"!==l.type&&"DoExpression"!==l.type&&("CatchClause"!==l.type||c.finalizer)&&"TSModuleDeclaration"!==l.type&&"TSDeclareFunction"!==l.type&&"StaticBlock"!==r.type?(o.push("{"),s&&e.each((e=>{o.push(Ay(by([vy,n(e),u]))),Cy(t.originalText,e.getValue(),xy)&&o.push(vy)}),"directives"),a&&o.push(Ay(by([vy,i]))),o.push(Ey(e,t)),o.push(vy,"}"),by(o)):by([...o,"{}"])}};const{hasNewline:Ty}=Nt,{builders:{concat:By,join:Ny,hardline:ky}}=rn,{isLineComment:Py,isBlockComment:Oy}=Cl,{locStart:Iy,locEnd:Ly}=ei;var My={printComment:function(e,t){const n=e.getValue();if(Py(n))return t.originalText.slice(Iy(n),Ly(n)).trimEnd();if(Oy(n)){if(function(e){const t="*".concat(e.value,"*").split("\n");return t.length>1&&t.every((e=>"*"===e.trim()[0]))}(n)){const e=function(e){const t=e.value.split("\n");return By(["/*",Ny(ky,t.map(((e,n)=>0===n?e.trimEnd():" "+(ne.call(n,"interpreter")),"program")),a.push(e.call(n,"program")),Wy(a);case"Program":{const r=!o.body.every((({type:e})=>"EmptyStatement"===e))||o.comments;if(o.directives){const i=o.directives.length;e.each(((e,o)=>{a.push(n(e),u,zy),(oDC(e,t,n)),"body")),a.push(ya.printDanglingComments(e,t,!0)),r&&a.push(zy),Wy(a)}case"EmptyStatement":return"";case"ExpressionStatement":if(o.directive)return Wy([bC(o.expression,t,!0),u]);if("__vue_event_binding"===t.parser){const t=e.getParentNode();if("Program"===t.type&&1===t.body.length&&t.body[0]===o)return Wy([e.call(n,"expression"),rE(o.expression)?";":""])}return Wy([e.call(n,"expression"),vE(t,e)?"":u]);case"ParenthesizedExpression":return!o.expression.comments?Wy(["(",e.call(n,"expression"),")"]):Xy(Wy(["(",Yy(Wy([Gy,e.call(n,"expression")])),Gy,")"]));case"AssignmentExpression":return fC(e,t,n);case"VariableDeclarator":return dC(e,t,n);case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":return gC(e,t,n);case"AssignmentPattern":return Wy([e.call(n,"left")," = ",e.call(n,"right")]);case"TSTypeAssertion":{const t=!("ArrayExpression"===o.expression.type||"ObjectExpression"===o.expression.type),r=Xy(Wy(["<",Yy(Wy([Gy,e.call(n,"typeAnnotation")])),Gy,">"])),u=Wy([Zy("("),Yy(Wy([Gy,e.call(n,"expression")])),Gy,Zy(")")]);return t?Qy([Wy([r,e.call(n,"expression")]),Wy([r,Xy(u,{shouldBreak:!0})]),Wy([r,e.call(n,"expression")])]):Xy(Wy([r,e.call(n,"expression")]))}case"OptionalMemberExpression":case"MemberExpression":return yC(e,t,n);case"MetaProperty":return Wy([e.call(n,"meta"),".",e.call(n,"property")]);case"BindExpression":return o.object&&a.push(e.call(n,"object")),a.push(Xy(Yy(Wy([Gy,kE(e,t,n)])))),Wy(a);case"Identifier":return Wy([o.name,NE(e),JE(e,t,n)]);case"V8IntrinsicIdentifier":return Wy(["%",o.name]);case"SpreadElement":case"SpreadElementPattern":case"SpreadProperty":case"SpreadPropertyPattern":case"RestElement":case"ObjectTypeSpreadProperty":return Wy(["...",e.call(n,"argument"),JE(e,t,n)]);case"FunctionDeclaration":case"FunctionExpression":return a.push(iC(e,n,t,r&&r.expandLastArg&&uE(e.getParentNode()).length>1)),o.body||a.push(u),Wy(a);case"ArrowFunctionExpression":return aC(e,t,n,r);case"YieldExpression":return a.push("yield"),o.delegate&&a.push("*"),o.argument&&a.push(" ",e.call(n,"argument")),Wy(a);case"AwaitExpression":{a.push("await"),o.argument&&a.push(" ",e.call(n,"argument"));const t=e.getParentNode();return("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&t.callee===o||("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&t.object===o?Xy(Wy([Yy(Wy([Gy,Wy(a)])),Gy])):Wy(a)}case"TSExportAssignment":return Wy(["export = ",e.call(n,"expression"),u]);case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"DeclareExportDeclaration":return jE(e,t,n);case"ExportAllDeclaration":case"DeclareExportAllDeclaration":return _E(e,t,n);case"ImportDeclaration":return ME(e,t,n);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return RE(e,t,n);case"ImportAttribute":return Wy([e.call(n,"key"),": ",e.call(n,"value")]);case"Import":return"import";case"TSModuleBlock":case"BlockStatement":case"StaticBlock":return EC(e,t,n);case"ThrowStatement":case"ReturnStatement":return Wy(["ReturnStatement"===o.type?"return":"throw",lC(e,t,n)]);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return cC(e,t,n);case"ObjectTypeInternalSlot":return Wy([o.static?"static ":"","[[",e.call(n,"id"),"]]",NE(e),o.method?"":": ",e.call(n,"value")]);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":case"TSInterfaceBody":case"TSTypeLiteral":case"RecordExpression":return UE(e,t,n);case"ObjectProperty":case"Property":return o.method||"get"===o.kind||"set"===o.kind?sC(e,t,n):(o.shorthand?a.push(e.call(n,"value")):a.push(hC(o.key,uC(e,t,n),":",o.value,e.call(n,"value"),t)),Wy(a));case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":case"TSAbstractMethodDefinition":case"TSDeclareMethod":return rC(e,t,n);case"ObjectMethod":return sC(e,t,n);case"Decorator":return Wy(["@",e.call(n,"expression"),e.call(n,"callee")]);case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return qE(e,t,n);case"SequenceExpression":{const t=e.getParentNode(0);if("ExpressionStatement"===t.type||"ForStatement"===t.type){const t=[];return e.each((e=>{0===e.getName()?t.push(n(e)):t.push(",",Yy(Wy([Jy,n(e)])))}),"expressions"),Xy(Wy(t))}return Xy(Wy([Uy(Wy([",",Jy]),e.map(n,"expressions"))]))}case"ThisExpression":return"this";case"Super":return"super";case"NullLiteral":return"null";case"RegExpLiteral":return vC(o);case"NumericLiteral":return $y(o.extra.raw);case"DecimalLiteral":return $y(o.value)+"m";case"BigIntLiteral":return(o.bigint||o.extra.raw).toLowerCase();case"BooleanLiteral":case"StringLiteral":case"Literal":return o.regex?vC(o.regex):o.bigint?o.raw.toLowerCase():"number"==typeof o.value?$y(o.raw):"string"!=typeof o.value?""+o.value:bC(o,t);case"Directive":return e.call(n,"value");case"DirectiveLiteral":return bC(o,t);case"UnaryExpression":return a.push(o.operator),/[a-z]$/.test(o.operator)&&a.push(" "),o.argument.comments&&o.argument.comments.length>0?a.push(Xy(Wy(["(",Yy(Wy([Gy,e.call(n,"argument")])),Gy,")"]))):a.push(e.call(n,"argument")),Wy(a);case"UpdateExpression":return a.push(e.call(n,"argument"),o.operator),o.prefix&&a.reverse(),Wy(a);case"ConditionalExpression":return Bd(e,t,n,{beforeParts:()=>[e.call(n,"test")],afterParts:e=>[e?Gy:""],shouldCheckJsx:!0,conditionalNodeType:"ConditionalExpression",consequentNodePropertyName:"consequent",alternateNodePropertyName:"alternate",testNodePropertyNames:["test"]});case"VariableDeclaration":{const t=e.map((e=>n(e)),"declarations"),r=e.getParentNode(),i="ForStatement"===r.type||"ForInStatement"===r.type||"ForOfStatement"===r.type,s=o.declarations.some((e=>e.init));let l;return 1!==t.length||o.declarations[0].comments?t.length>0&&(l=Yy(t[0])):l=t[0],a=[o.declare?"declare ":"",o.kind,l?Wy([" ",l]):"",Yy(Wy(t.slice(1).map((e=>Wy([",",s&&!i?zy:Jy,e])))))],i&&r.body!==o||a.push(u),Xy(Wy(a))}case"TSTypeAliasDeclaration":{o.declare&&a.push("declare ");const r=mC(o.id,o.typeAnnotation,o.typeAnnotation&&e.call(n,"typeAnnotation"),t);return a.push("type ",e.call(n,"id"),e.call(n,"typeParameters")," =",r,u),Xy(Wy(a))}case"WithStatement":return Xy(Wy(["with (",e.call(n,"object"),")",LE(o.body,e.call(n,"body"))]));case"IfStatement":{const r=LE(o.consequent,e.call(n,"consequent")),u=Xy(Wy(["if (",Xy(Wy([Yy(Wy([Gy,e.call(n,"test")])),Gy])),")",r]));if(a.push(u),o.alternate){const r=hE(o.consequent)&&o.consequent.comments.some((e=>e.trailing&&!FE(e)))||xE(o),u="BlockStatement"===o.consequent.type&&!r;a.push(u?" ":zy),sE(o)&&a.push(ya.printDanglingComments(e,t,!0),r?zy:" "),a.push("else",Xy(LE(o.alternate,e.call(n,"alternate"),"IfStatement"===o.alternate.type)))}return Wy(a)}case"ForStatement":{const r=LE(o.body,e.call(n,"body")),u=ya.printDanglingComments(e,t,!0),i=u?Wy([u,Gy]):"";return o.init||o.test||o.update?Wy([i,Xy(Wy(["for (",Xy(Wy([Yy(Wy([Gy,e.call(n,"init"),";",Jy,e.call(n,"test"),";",Jy,e.call(n,"update")])),Gy])),")",r]))]):Wy([i,Xy(Wy(["for (;;)",r]))])}case"WhileStatement":return Xy(Wy(["while (",Xy(Wy([Yy(Wy([Gy,e.call(n,"test")])),Gy])),")",LE(o.body,e.call(n,"body"))]));case"ForInStatement":return Xy(Wy(["for (",e.call(n,"left")," in ",e.call(n,"right"),")",LE(o.body,e.call(n,"body"))]));case"ForOfStatement":return Xy(Wy(["for",o.await?" await":""," (",e.call(n,"left")," of ",e.call(n,"right"),")",LE(o.body,e.call(n,"body"))]));case"DoWhileStatement":{const t=LE(o.body,e.call(n,"body")),r=Xy(Wy(["do",t]));return a=[r],"BlockStatement"===o.body.type?a.push(" "):a.push(zy),a.push("while ("),a.push(Xy(Wy([Yy(Wy([Gy,e.call(n,"test")])),Gy])),")",u),Wy(a)}case"DoExpression":return Wy(["do ",e.call(n,"body")]);case"BreakStatement":return a.push("break"),o.label&&a.push(" ",e.call(n,"label")),a.push(u),Wy(a);case"ContinueStatement":return a.push("continue"),o.label&&a.push(" ",e.call(n,"label")),a.push(u),Wy(a);case"LabeledStatement":return"EmptyStatement"===o.body.type?Wy([e.call(n,"label"),":;"]):Wy([e.call(n,"label"),": ",e.call(n,"body")]);case"TryStatement":return Wy(["try ",e.call(n,"block"),o.handler?Wy([" ",e.call(n,"handler")]):"",o.finalizer?Wy([" finally ",e.call(n,"finalizer")]):""]);case"CatchClause":if(o.param){const r=o.param.comments&&o.param.comments.some((e=>!FE(e)||e.leading&&jy(t.originalText,BE(e))||e.trailing&&jy(t.originalText,TE(e),{backwards:!0}))),u=e.call(n,"param");return Wy(["catch ",Wy(r?["(",Yy(Wy([Gy,u])),Gy,") "]:["(",u,") "]),e.call(n,"body")])}return Wy(["catch ",e.call(n,"body")]);case"SwitchStatement":return Wy([Xy(Wy(["switch (",Yy(Wy([Gy,e.call(n,"discriminant")])),Gy,")"]))," {",o.cases.length>0?Yy(Wy([zy,Uy(zy,e.map((e=>{const r=e.getValue();return Wy([e.call(n),o.cases.indexOf(r)!==o.cases.length-1&&qy(t.originalText,r,BE)?zy:""])}),"cases"))])):"",zy,"}"]);case"SwitchCase":{o.test?a.push("case ",e.call(n,"test"),":"):a.push("default:");const r=o.consequent.filter((e=>"EmptyStatement"!==e.type));if(r.length>0){const o=e.call((e=>DC(e,t,n)),"consequent");a.push(1===r.length&&"BlockStatement"===r[0].type?Wy([" ",o]):Yy(Wy([zy,o])))}return Wy(a)}case"DebuggerStatement":return Wy(["debugger",u]);case"JSXAttribute":return HE(e,t,n);case"JSXIdentifier":return""+o.name;case"JSXNamespacedName":return Uy(":",[e.call(n,"namespace"),e.call(n,"name")]);case"JSXMemberExpression":return Uy(".",[e.call(n,"object"),e.call(n,"property")]);case"TSQualifiedName":return Uy(".",[e.call(n,"left"),e.call(n,"right")]);case"JSXSpreadAttribute":return eC(e,t,n);case"JSXSpreadChild":return tC(e,t,n);case"JSXExpressionContainer":return QE(e,t,n);case"JSXFragment":case"JSXElement":return GE(e,t,n);case"JSXOpeningElement":return XE(e,t,n);case"JSXClosingElement":return YE(e,t,n);case"JSXOpeningFragment":case"JSXClosingFragment":return KE(e,t);case"JSXText":throw new Error("JSXTest should be handled by JSXElement");case"JSXEmptyExpression":return ZE(e,t);case"ClassBody":return o.comments||0!==o.body.length?Wy(["{",o.body.length>0?Yy(Wy([zy,e.call((e=>DC(e,t,n)),"body")])):ya.printDanglingComments(e,t),zy,"}"]):"{}";case"ClassProperty":case"FieldDefinition":case"TSAbstractClassProperty":case"ClassPrivateProperty":return o.decorators&&0!==o.decorators.length&&a.push(OE(e,t,n)),o.accessibility&&a.push(o.accessibility+" "),o.declare&&a.push("declare "),o.static&&a.push("static "),("TSAbstractClassProperty"===o.type||o.abstract)&&a.push("abstract "),o.readonly&&a.push("readonly "),o.variance&&a.push(e.call(n,"variance")),a.push(uC(e,t,n),NE(e),JE(e,t,n)),o.value&&a.push(" =",mC(o.key,o.value,e.call(n,"value"),t)),a.push(u),Xy(Wy(a));case"ClassDeclaration":case"ClassExpression":return o.declare&&a.push("declare "),a.push(nC(e,t,n)),Wy(a);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return a.push(e.call(n,"expression")),o.typeParameters&&a.push(e.call(n,"typeParameters")),Wy(a);case"TemplateElement":return Uy(Hy,o.value.raw.split(/\r?\n/g));case"TSTemplateLiteralType":case"TemplateLiteral":return $E(e,n,t);case"TaggedTemplateExpression":return Wy([e.call(n,"tag"),e.call(n,"typeParameters"),e.call(n,"quasi")]);case"Node":case"Printable":case"SourceLocation":case"Position":case"Statement":case"Function":case"Pattern":case"Expression":case"Declaration":case"Specifier":case"NamedSpecifier":case"Comment":case"MemberTypeAnnotation":case"Type":throw new Error("unprintable type: "+JSON.stringify(o.type));case"TypeAnnotation":case"TSTypeAnnotation":return o.typeAnnotation?e.call(n,"typeAnnotation"):"";case"TSNamedTupleMember":return Wy([e.call(n,"label"),o.optional?"?":"",": ",e.call(n,"elementType")]);case"TSTupleType":case"TupleTypeAnnotation":{const r="TSTupleType"===o.type?"elementTypes":"types",u=o[r].length>0&&"TSRestType"===Ry(o[r]).type;return Xy(Wy(["[",Yy(Wy([Gy,WE(e,t,r,n)])),Zy(wE(t,"all")&&!u?",":""),ya.printDanglingComments(e,t,!0),Gy,"]"]))}case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return Wy([e.call(n,"elementType"),"[]"]);case"BooleanLiteralTypeAnnotation":return""+o.value;case"DeclareClass":return IE(e,nC(e,t,n));case"TSDeclareFunction":return Wy([o.declare?"declare ":"",iC(e,n,t),u]);case"DeclareFunction":return IE(e,Wy(["function ",e.call(n,"id"),o.predicate?" ":"",e.call(n,"predicate"),u]));case"DeclareModule":return IE(e,Wy(["module ",e.call(n,"id")," ",e.call(n,"body")]));case"DeclareModuleExports":return IE(e,Wy(["module.exports",": ",e.call(n,"typeAnnotation"),u]));case"DeclareVariable":return IE(e,Wy(["var ",e.call(n,"id"),u]));case"DeclareOpaqueType":case"OpaqueType":return a.push("opaque type ",e.call(n,"id"),e.call(n,"typeParameters")),o.supertype&&a.push(": ",e.call(n,"supertype")),o.impltype&&a.push(" = ",e.call(n,"impltype")),a.push(u),"DeclareOpaqueType"===o.type?IE(e,Wy(a)):Wy(a);case"EnumDeclaration":return Wy(["enum ",e.call(n,"id")," ",e.call(n,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":if("EnumSymbolBody"===o.type||o.explicitType){let e=null;switch(o.type){case"EnumBooleanBody":e="boolean";break;case"EnumNumberBody":e="number";break;case"EnumStringBody":e="string";break;case"EnumSymbolBody":e="symbol"}a.push("of ",e," ")}if(0!==o.members.length||o.hasUnknownMembers){const r=o.members.length?[zy,WE(e,t,"members",n),o.hasUnknownMembers||wE(t)?",":""]:[];a.push(Xy(Wy(["{",Yy(Wy([...r,...o.hasUnknownMembers?[zy,"..."]:[]])),ya.printDanglingComments(e,t,!0),zy,"}"])))}else a.push(Xy(Wy(["{",ya.printDanglingComments(e,t),Gy,"}"])));return Wy(a);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return Wy([e.call(n,"id")," = ","object"==typeof o.init?e.call(n,"init"):String(o.init)]);case"EnumDefaultedMember":return e.call(n,"id");case"FunctionTypeAnnotation":case"TSFunctionType":{const r=e.getParentNode(0),u=e.getParentNode(1),i=e.getParentNode(2);let s="TSFunctionType"===o.type||!(("ObjectTypeProperty"===r.type||"ObjectTypeInternalSlot"===r.type)&&!r.variance&&!r.optional&&TE(r)===TE(o)||"ObjectTypeCallProperty"===r.type||i&&"DeclareFunction"===i.type),l=s&&("TypeAnnotation"===r.type||"TSTypeAnnotation"===r.type);const c=l&&s&&("TypeAnnotation"===r.type||"TSTypeAnnotation"===r.type)&&"ArrowFunctionExpression"===u.type;return bE(r)&&(s=!0,l=!0),c&&a.push("("),a.push(VE(e,n,t,!1,!0)),(o.returnType||o.predicate||o.typeAnnotation)&&a.push(s?" => ":": ",e.call(n,"returnType"),e.call(n,"predicate"),e.call(n,"typeAnnotation")),c&&a.push(")"),Xy(Wy(a))}case"TSRestType":return Wy(["...",e.call(n,"typeAnnotation")]);case"TSOptionalType":return Wy([e.call(n,"typeAnnotation"),"?"]);case"FunctionTypeParam":{const t=o.name?e.call(n,"name"):e.getParentNode().this===o?"this":"";return Wy([t,NE(e),t?": ":"",e.call(n,"typeAnnotation")])}case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"TSInterfaceDeclaration":return pC(e,t,n);case"ClassImplements":case"InterfaceExtends":return Wy([e.call(n,"id"),e.call(n,"typeParameters")]);case"TSClassImplements":return Wy([e.call(n,"expression"),e.call(n,"typeParameters")]);case"TSIntersectionType":case"IntersectionTypeAnnotation":{const t=e.map(n,"types"),r=[];let u=!1;for(let e=0;e1&&(u=!0),r.push(" & ",e>1?Yy(t[e]):t[e])):r.push(Yy(Wy([" &",Jy,t[e]])));return Xy(Wy(r))}case"TSUnionType":case"UnionTypeAnnotation":{const r=e.getParentNode(),u=!("TypeParameterInstantiation"===r.type||"TSTypeParameterInstantiation"===r.type||"GenericTypeAnnotation"===r.type||"TSTypeReference"===r.type||"TSTypeAssertion"===r.type||"TupleTypeAnnotation"===r.type||"TSTupleType"===r.type||"FunctionTypeParam"===r.type&&!r.name&&e.getParentNode(1).this!==r||("TypeAlias"===r.type||"VariableDeclarator"===r.type||"TSTypeAliasDeclaration"===r.type)&&cE(t.originalText,o)),i=zE(o),a=e.map((e=>{let r=e.call(n);return i||(r=Ky(2,r)),ya.printComments(e,(()=>r),t)}),"types");if(i)return Uy(" | ",a);const s=u&&!cE(t.originalText,o),l=Wy([Zy(Wy([s?Jy:"","| "])),Uy(Wy([Jy,"| "]),a)]);return Pp(e,t)?Xy(Wy([Yy(l),Gy])):"TupleTypeAnnotation"===r.type&&r.types.length>1||"TSTupleType"===r.type&&r.elementTypes.length>1?Xy(Wy([Yy(Wy([Zy(Wy(["(",Gy])),l])),Gy,Zy(")")])):Xy(u?Yy(l):l)}case"NullableTypeAnnotation":return Wy(["?",e.call(n,"typeAnnotation")]);case"Variance":{const{kind:e}=o;return Xi.ok("plus"===e||"minus"===e),"plus"===e?"+":"-"}case"ObjectTypeCallProperty":return o.static&&a.push("static "),a.push(e.call(n,"value")),Wy(a);case"ObjectTypeIndexer":return Wy([o.variance?e.call(n,"variance"):"","[",e.call(n,"id"),o.id?": ":"",e.call(n,"key"),"]: ",e.call(n,"value")]);case"ObjectTypeProperty":{let r="";return o.proto?r="proto ":o.static&&(r="static "),Wy([r,DE(o)?o.kind+" ":"",o.variance?e.call(n,"variance"):"",uC(e,t,n),NE(e),gE(o)?"":": ",e.call(n,"value")])}case"QualifiedTypeIdentifier":return Wy([e.call(n,"qualification"),".",e.call(n,"id")]);case"StringLiteralTypeAnnotation":return bC(o,t);case"NumberLiteralTypeAnnotation":Xi.strictEqual(typeof o.value,"number");case"BigIntLiteralTypeAnnotation":return null!=o.extra?$y(o.extra.raw):$y(o.raw);case"DeclareTypeAlias":case"TypeAlias":{("DeclareTypeAlias"===o.type||o.declare)&&a.push("declare ");const r=mC(o.id,o.right,e.call(n,"right"),t);return a.push("type ",e.call(n,"id"),e.call(n,"typeParameters")," =",r,u),Xy(Wy(a))}case"TypeCastExpression":return Wy(["(",e.call(n,"expression"),JE(e,t,n),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":{const r=oC(e,t,n,"params");if("flow"===t.parser){const e=TE(o),n=BE(o),u=t.originalText.lastIndexOf("/*",e),i=t.originalText.indexOf("*/",n);if(-1!==u&&-1!==i){const e=t.originalText.slice(u+2,i).trim();if(e.startsWith("::")&&!e.includes("/*")&&!e.includes("*/"))return Wy(["/*:: ",r," */"])}}return r}case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return oC(e,t,n,"params");case"TSTypeParameter":case"TypeParameter":{const r=e.getParentNode();if("TSMappedType"===r.type)return a.push("[",e.call(n,"name")),o.constraint&&a.push(" in ",e.call(n,"constraint")),r.nameType&&a.push(" as ",e.callParent((e=>e.call(n,"nameType")))),a.push("]"),Wy(a);o.variance&&a.push(e.call(n,"variance")),a.push(e.call(n,"name")),o.bound&&(a.push(": "),a.push(e.call(n,"bound"))),o.constraint&&a.push(" extends ",e.call(n,"constraint")),o.default&&a.push(" = ",e.call(n,"default"));const u=e.getNode(2);return 1===oE(r).length&&AE(t)&&!o.constraint&&"ArrowFunctionExpression"===u.type&&a.push(","),Wy(a)}case"TypeofTypeAnnotation":return Wy(["typeof ",e.call(n,"argument")]);case"InferredPredicate":return"%checks";case"DeclaredPredicate":return Wy(["%checks(",e.call(n,"value"),")"]);case"TSAbstractKeyword":return"abstract";case"AnyTypeAnnotation":case"TSAnyKeyword":return"any";case"TSAsyncKeyword":return"async";case"BooleanTypeAnnotation":case"TSBooleanKeyword":return"boolean";case"BigIntTypeAnnotation":case"TSBigIntKeyword":return"bigint";case"TSConstKeyword":return"const";case"TSDeclareKeyword":return"declare";case"TSExportKeyword":return"export";case"NullLiteralTypeAnnotation":case"TSNullKeyword":return"null";case"TSNeverKeyword":return"never";case"NumberTypeAnnotation":case"TSNumberKeyword":return"number";case"TSObjectKeyword":return"object";case"TSProtectedKeyword":return"protected";case"TSPrivateKeyword":return"private";case"TSPublicKeyword":return"public";case"TSReadonlyKeyword":return"readonly";case"SymbolTypeAnnotation":case"TSSymbolKeyword":return"symbol";case"TSStaticKeyword":return"static";case"StringTypeAnnotation":case"TSStringKeyword":return"string";case"TSUndefinedKeyword":return"undefined";case"TSUnknownKeyword":return"unknown";case"VoidTypeAnnotation":case"TSVoidKeyword":return"void";case"TSAsExpression":return Wy([e.call(n,"expression")," as ",e.call(n,"typeAnnotation")]);case"TSArrayType":return Wy([e.call(n,"elementType"),"[]"]);case"TSPropertySignature":return o.export&&a.push("export "),o.accessibility&&a.push(o.accessibility+" "),o.static&&a.push("static "),o.readonly&&a.push("readonly "),a.push(uC(e,t,n),NE(e)),o.typeAnnotation&&(a.push(": "),a.push(e.call(n,"typeAnnotation"))),o.initializer&&a.push(" = ",e.call(n,"initializer")),Wy(a);case"TSParameterProperty":return o.accessibility&&a.push(o.accessibility+" "),o.export&&a.push("export "),o.static&&a.push("static "),o.readonly&&a.push("readonly "),a.push(e.call(n,"parameter")),Wy(a);case"GenericTypeAnnotation":case"TSTypeReference":return Wy([e.call(n,"TSTypeReference"===o.type?"typeName":"id"),oC(e,t,n,"typeParameters")]);case"TSTypeQuery":return Wy(["typeof ",e.call(n,"exprName")]);case"TSIndexSignature":{const r=e.getParentNode(),i=o.parameters.length>1?Zy(wE(t)?",":""):"",a=Xy(Wy([Yy(Wy([Gy,Uy(Wy([", ",Gy]),e.map(n,"parameters"))])),i,Gy]));return Wy([o.export?"export ":"",o.accessibility?Wy([o.accessibility," "]):"",o.static?"static ":"",o.readonly?"readonly ":"",o.declare?"declare ":"","[",o.parameters?a:"",o.typeAnnotation?"]: ":"]",o.typeAnnotation?e.call(n,"typeAnnotation"):"","ClassBody"===r.type?u:""])}case"TSTypePredicate":return Wy([o.asserts?"asserts ":"",e.call(n,"parameterName"),o.typeAnnotation?Wy([" is ",e.call(n,"typeAnnotation")]):""]);case"TSNonNullExpression":return Wy([e.call(n,"expression"),"!"]);case"ThisTypeAnnotation":case"TSThisType":return"this";case"TSImportType":return Wy([o.isTypeOf?"typeof ":"","import(",e.call(n,o.parameter?"parameter":"argument"),")",o.qualifier?Wy([".",e.call(n,"qualifier")]):"",oC(e,t,n,"typeParameters")]);case"TSLiteralType":return e.call(n,"literal");case"TSIndexedAccessType":return Wy([e.call(n,"objectType"),"[",e.call(n,"indexType"),"]"]);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":if("TSCallSignatureDeclaration"!==o.type&&a.push("new "),a.push(Xy(VE(e,n,t,!1,!0))),o.returnType||o.typeAnnotation){const t="TSConstructorType"===o.type;a.push(t?" => ":": ",e.call(n,"returnType"),e.call(n,"typeAnnotation"))}return Wy(a);case"TSTypeOperator":return Wy([o.operator," ",e.call(n,"typeAnnotation")]);case"TSMappedType":{const r=_y(t.originalText,TE(o),BE(o));return Xy(Wy(["{",Yy(Wy([t.bracketSpacing?Jy:Gy,o.readonly?Wy([aE(o.readonly,"readonly")," "]):"",PE(e,t,n),e.call(n,"typeParameter"),o.optional?aE(o.optional,"?"):"",o.typeAnnotation?": ":"",e.call(n,"typeAnnotation"),Zy(u,"")])),ya.printDanglingComments(e,t,!0),t.bracketSpacing?Jy:Gy,"}"]),{shouldBreak:r})}case"TSMethodSignature":return a.push(o.accessibility?Wy([o.accessibility," "]):"",o.export?"export ":"",o.static?"static ":"",o.readonly?"readonly ":"",o.computed?"[":"",e.call(n,"key"),o.computed?"]":"",NE(e),VE(e,n,t,!1,!0)),(o.returnType||o.typeAnnotation)&&a.push(": ",e.call(n,"returnType"),e.call(n,"typeAnnotation")),Xy(Wy(a));case"TSNamespaceExportDeclaration":return a.push("export as namespace ",e.call(n,"id")),t.semi&&a.push(";"),Xy(Wy(a));case"TSEnumDeclaration":return o.declare&&a.push("declare "),o.modifiers&&a.push(PE(e,t,n)),o.const&&a.push("const "),a.push("enum ",e.call(n,"id")," "),0===o.members.length?a.push(Xy(Wy(["{",ya.printDanglingComments(e,t),Gy,"}"]))):a.push(Xy(Wy(["{",Yy(Wy([zy,WE(e,t,"members",n),wE(t,"es5")?",":""])),ya.printDanglingComments(e,t,!0),zy,"}"]))),Wy(a);case"TSEnumMember":return a.push(e.call(n,"id")),o.initializer&&a.push(" = ",e.call(n,"initializer")),Wy(a);case"TSImportEqualsDeclaration":return o.isExport&&a.push("export "),a.push("import ",e.call(n,"id")," = ",e.call(n,"moduleReference")),t.semi&&a.push(";"),Xy(Wy(a));case"TSExternalModuleReference":return Wy(["require(",e.call(n,"expression"),")"]);case"TSModuleDeclaration":{const r=e.getParentNode(),i=yE(o.id),s="TSModuleDeclaration"===r.type,l=o.body&&"TSModuleDeclaration"===o.body.type;if(s)a.push(".");else{o.declare&&a.push("declare "),a.push(PE(e,t,n));const r=t.originalText.slice(TE(o),TE(o.id));"Identifier"===o.id.type&&"global"===o.id.name&&!/namespace|module/.test(r)||a.push(i||/(^|\s)module(\s|$)/.test(r)?"module ":"namespace ")}return a.push(e.call(n,"id")),l?a.push(e.call(n,"body")):o.body?a.push(" ",Xy(e.call(n,"body"))):a.push(u),Wy(a)}case"PrivateName":return Wy(["#",e.call(n,o.id?"id":"name")]);case"TSPrivateIdentifier":return o.escapedText;case"TSConditionalType":return Bd(e,t,n,{beforeParts:()=>[e.call(n,"checkType")," ","extends"," ",e.call(n,"extendsType")],afterParts:()=>[],shouldCheckJsx:!1,conditionalNodeType:"TSConditionalType",consequentNodePropertyName:"trueType",alternateNodePropertyName:"falseType",testNodePropertyNames:["checkType","extendsType"]});case"TSInferType":return Wy(["infer"," ",e.call(n,"typeParameter")]);case"InterpreterDirective":return a.push("#!",o.value,zy),qy(t.originalText,o,BE)&&a.push(zy),Wy(a);case"NGRoot":return Wy([].concat(e.call(n,"node"),o.node.comments&&0!==o.node.comments.length?Wy([" //",o.node.comments[0].value.trimEnd()]):[]));case"NGChainedExpression":return Xy(Uy(Wy([";",Jy]),e.map((e=>dE(e)?n(e):Wy(["(",n(e),")"])),"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return Wy([o.prefix,": ",o.value.trim()]);case"NGMicrosyntax":return Wy(e.map(((e,t)=>Wy([0===t?"":EE(e.getValue(),t,o)?" ":Wy([";",Jy]),n(e)])),"body"));case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(o.name)?o.name:JSON.stringify(o.name);case"NGMicrosyntaxExpression":return Wy([e.call(n,"expression"),null===o.alias?"":Wy([" as ",e.call(n,"alias")])]);case"NGMicrosyntaxKeyedExpression":{const t=e.getName(),r=e.getParentNode(),u=EE(o,t,r)||(1===t&&("then"===o.key.name||"else"===o.key.name)||2===t&&"else"===o.key.name&&"NGMicrosyntaxKeyedExpression"===r.body[t-1].type&&"then"===r.body[t-1].key.name)&&"NGMicrosyntaxExpression"===r.body[0].type;return Wy([e.call(n,"key"),u?" ":": ",e.call(n,"expression")])}case"NGMicrosyntaxLet":return Wy(["let ",e.call(n,"key"),null===o.value?"":Wy([" = ",e.call(n,"value")])]);case"NGMicrosyntaxAs":return Wy([e.call(n,"key")," as ",e.call(n,"alias")]);case"PipelineBareFunction":return e.call(n,"callee");case"PipelineTopicExpression":return e.call(n,"expression");case"PipelinePrimaryTopicReference":return a.push("#"),Wy(a);case"ArgumentPlaceholder":return"?";case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return Wy(["?",e.call(n,"typeAnnotation")]);case"TSJSDocNonNullableType":return Wy(["!",e.call(n,"typeAnnotation")]);case"TSJSDocFunctionType":return Wy(["function(","): ",e.call(n,"typeAnnotation")]);default:throw new Error("unknown type: "+JSON.stringify(o.type))}}(e,t,n,r);if(!o||eE(i))return i;const a=iE(e),s=[];if("ClassMethod"===o.type||"ClassPrivateMethod"===o.type||"ClassProperty"===o.type||"FieldDefinition"===o.type||"TSAbstractClassProperty"===o.type||"ClassPrivateProperty"===o.type||"MethodDefinition"===o.type||"TSAbstractMethodDefinition"===o.type||"TSDeclareMethod"===o.type);else if(o.decorators&&o.decorators.length>0&&!(a&&TE(a,{ignoreDecorators:!0})>TE(o.decorators[0]))){const r="ClassExpression"===o.type||"ClassDeclaration"===o.type||pE(o,t)?zy:Jy;e.each((e=>{let t=e.getValue();t=t.expression?t.expression:t.callee,s.push(n(e),r)}),"decorators"),a&&s.unshift(zy)}else mE(o)&&o.declaration&&o.declaration.decorators&&o.declaration.decorators.length>0&&TE(o,{ignoreDecorators:!0})>TE(o.declaration.decorators[0])?e.each((e=>{const t="Decorator"===e.getValue().type?"":"@";s.push(t,n(e),zy)}),"declaration","decorators"):u=Pp(e,t);const l=[];if(u&&l.unshift("("),l.push(i),u){const t=e.getValue();lE(t)&&(l.push(" /*"),l.push(t.trailingComments[0].value.trimStart()),l.push("*/"),t.trailingComments[0].printed=!0),l.push(")")}return s.length>0?Xy(Wy(s.concat(l))):Wy(l)},embed:op,insertPragma:tE,massageAstNode:sp,hasPrettierIgnore:fE,willPrintOwnComments:Zl.willPrintOwnComments,canAttachComment:function(e){return e.type&&"CommentBlock"!==e.type&&"CommentLine"!==e.type&&"Line"!==e.type&&"Block"!==e.type&&"EmptyStatement"!==e.type&&"TemplateElement"!==e.type&&"Import"!==e.type},printComment:CC,isBlockComment:FE,handleComments:{ownLine:Zl.handleOwnLineComment,endOfLine:Zl.handleEndOfLineComment,remaining:Zl.handleRemainingComment},getGapRegex:Zl.getGapRegex,getCommentChildNodes:Zl.getCommentChildNodes};const{builders:{concat:FC,hardline:xC,indent:SC,join:wC}}=rn;const TC=new Set(["start","end","extra","loc","comments","errors","range"]);function BC(e,t){const{type:n}=e;return"Identifier"===n?{type:"StringLiteral",value:e.name}:"UnaryExpression"===n&&"+"===e.operator?t.argument:void 0}BC.ignoredProperties=TC;var NC={preprocess:Vp,print:function(e,t,n){const r=e.getValue();switch(r.type){case"JsonRoot":return FC([e.call(n,"node"),xC]);case"ArrayExpression":return 0===r.elements.length?"[]":FC(["[",SC(FC([xC,wC(FC([",",xC]),e.map(n,"elements"))])),xC,"]"]);case"ObjectExpression":return 0===r.properties.length?"{}":FC(["{",SC(FC([xC,wC(FC([",",xC]),e.map(n,"properties"))])),xC,"}"]);case"ObjectProperty":return FC([e.call(n,"key"),": ",e.call(n,"value")]);case"UnaryExpression":return FC(["+"===r.operator?"":r.operator,e.call(n,"argument")]);case"NullLiteral":return"null";case"BooleanLiteral":return r.value?"true":"false";case"StringLiteral":case"NumericLiteral":return JSON.stringify(r.value);case"Identifier":return JSON.stringify(r.name);default:throw new Error("unknown type: "+JSON.stringify(r.type))}},massageAstNode:BC};var kC={bracketSpacing:{since:"0.0.0",category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:"Common",type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]}};var PC={arrowParens:{since:"1.9.0",category:"JavaScript",type:"choice",default:[{since:"1.9.0",value:"avoid"},{since:"2.0.0",value:"always"}],description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSpacing:kC.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:"JavaScript",type:"boolean",default:!1,description:"Put > on the last line instead of at a new line."},semi:{since:"1.0.0",category:"JavaScript",type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:kC.singleQuote,jsxSingleQuote:{since:"1.15.0",category:"JavaScript",type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:"JavaScript",type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:"JavaScript",type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]}},OC={name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".jsb",".jscad",".jsfl",".jsm",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],languageId:183},IC={name:"JSX",type:"programming",group:"JavaScript",extensions:[".jsx"],tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:178},LC={name:"TypeScript",type:"programming",color:"#2b7489",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",languageId:378},MC={name:"TSX",type:"programming",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",languageId:94901924},jC={name:"JSON",type:"data",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",searchable:!1,extensions:[".json",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".arcconfig",".htmlhintrc",".tern-config",".tern-project",".watchmanconfig","composer.lock","mcmod.info"],languageId:174},_C={name:"JSON with Comments",type:"data",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[".babelrc",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","devcontainer.json","jsconfig.json","language-configuration.json","tsconfig.json","tslint.json"],languageId:423},RC={name:"JSON5",type:"data",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",languageId:175};var VC={languages:[xs(OC,(e=>({since:"0.0.0",parsers:["babel","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"],extensions:[...e.extensions,".wxs"]}))),xs(OC,(()=>({name:"Flow",since:"0.0.0",parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]}))),xs(IC,(()=>({since:"0.0.0",parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"]}))),xs(LC,(()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]}))),xs(MC,(()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]}))),xs(jC,(()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[],filenames:["package.json","package-lock.json","composer.json"]}))),xs(jC,(e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],filenames:[...e.filenames,".prettierrc"],extensions:e.extensions.filter((e=>".jsonl"!==e))}))),xs(_C,(e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:[...e.filenames,".eslintrc"]}))),xs(RC,(()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]})))],options:PC,printers:{estree:AC,"estree-json":NC},parsers:{get babel(){return{}.parsers.babel},get"babel-flow"(){return{}.parsers["babel-flow"]},get"babel-ts"(){return{}.parsers["babel-ts"]},get json(){return{}.parsers.json},get json5(){return{}.parsers.json5},get"json-stringify"(){return{}.parsers["json-stringify"]},get __js_expression(){return{}.parsers.__js_expression},get __vue_expression(){return{}.parsers.__vue_expression},get __vue_event_binding(){return{}.parsers.__vue_event_binding},get flow(){return{}.parsers.flow},get typescript(){return{}.parsers.typescript},get __ng_action(){return{}.parsers.__ng_action},get __ng_binding(){return{}.parsers.__ng_binding},get __ng_interpolation(){return{}.parsers.__ng_interpolation},get __ng_directive(){return{}.parsers.__ng_directive},get espree(){return{}.parsers.espree},get meriyah(){return{}.parsers.meriyah}}};const{isFrontMatterNode:$C}=Nt,qC=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma"]);function WC(e,t,n){if($C(e)&&"yaml"===e.lang&&delete t.value,"css-comment"===e.type&&"css-root"===n.type&&0!==n.nodes.length){if((n.nodes[0]===e||$C(n.nodes[0])&&n.nodes[1]===e)&&(delete t.text,/^\*\s*@(format|prettier)\s*$/.test(e.text)))return null;if("css-root"===n.type&&se(n.nodes)===e)return null}if("value-root"===e.type&&delete t.text,"media-query"!==e.type&&"media-query-list"!==e.type&&"media-feature-expression"!==e.type||delete t.value,"css-rule"===e.type&&delete t.params,"selector-combinator"===e.type&&(t.value=t.value.replace(/\s+/g," ")),"media-feature"===e.type&&(t.value=t.value.replace(/ /g,"")),("value-word"===e.type&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(t.value.replace().toLowerCase()))||"media-feature"===e.type||"selector-root-invalid"===e.type||"selector-pseudo"===e.type)&&(t.value=t.value.toLowerCase()),"css-decl"===e.type&&(t.prop=t.prop.toLowerCase()),"css-atrule"!==e.type&&"css-import"!==e.type||(t.name=t.name.toLowerCase()),"value-number"===e.type&&(t.unit=t.unit.toLowerCase()),"media-feature"!==e.type&&"media-keyword"!==e.type&&"media-type"!==e.type&&"media-unknown"!==e.type&&"media-url"!==e.type&&"media-value"!==e.type&&"selector-attribute"!==e.type&&"selector-string"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"value-string"!==e.type||!t.value||(t.value=t.value.replace(/'/g,'"').replace(/\\([^\dA-Fa-f])/g,"$1")),"selector-attribute"===e.type&&(t.attribute=t.attribute.trim(),t.namespace&&"string"==typeof t.namespace&&(t.namespace=t.namespace.trim(),0===t.namespace.length&&(t.namespace=!0)),t.value&&(t.value=t.value.trim().replace(/^["']|["']$/g,""),delete t.quoted)),"media-value"!==e.type&&"media-type"!==e.type&&"value-number"!==e.type&&"selector-root-invalid"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"selector-tag"!==e.type||!t.value||(t.value=t.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g,((e,t,n)=>{const r=Number(t);return isNaN(r)?e:r+n.toLowerCase()}))),"selector-tag"===e.type){const n=e.value.toLowerCase();["from","to"].includes(n)&&(t.value=n)}"css-atrule"===e.type&&"supports"===e.name.toLowerCase()&&delete t.value,"selector-unknown"===e.type&&delete t.value}WC.ignoredProperties=qC;var UC=WC;const{builders:{hardline:JC,concat:zC,markAsRoot:GC}}=rn,HC={"---":"yaml","+++":"toml"};var XC={parse:function(e){const t=Object.keys(HC).map(ae).join("|"),n=e.match(new RegExp("^(".concat(t,")([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)")));if(null===n)return{frontMatter:null,content:e};const[r,o,u,i]=n;let a=HC[o];return"toml"!==a&&u&&u.trim()&&(a=u.trim()),{frontMatter:{type:"front-matter",lang:a,value:i,raw:r.replace(/\n$/,"")},content:r.replace(/[^\n]/g," ")+e.slice(r.length)}},print:function(e,t){if("yaml"===e.lang){const n=e.value.trim(),r=n?t(n,{parser:"yaml"},{stripTrailingHardline:!0}):"";return GC(zC(["---",JC,r,r?JC:"","---"]))}}};const{builders:{hardline:YC,concat:KC}}=rn,{print:QC}=XC;var ZC=function(e,t,n){const r=e.getValue();if("front-matter"===r.type){const e=QC(r,n);return e?KC([e,YC]):""}};const{parse:eb}=XC;var tb={hasPragma:function(e){return Ep.hasPragma(eb(e).content)},insertPragma:function(e){const{frontMatter:t,content:n}=eb(e);return(t?t.raw+"\n\n":"")+Ep.insertPragma(n)}};const nb=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function rb(e,t){const n=[].concat(t);let r,o=-1;for(;r=e.getParentNode(++o);)if(n.includes(r.type))return o;return-1}function ob(e,t){const n=rb(e,t);return-1===n?null:e.getParentNode(n)}function ub(e){return"value-operator"===e.type&&"*"===e.value}function ib(e){return"value-operator"===e.type&&"/"===e.value}function ab(e){return"value-operator"===e.type&&"+"===e.value}function sb(e){return"value-operator"===e.type&&"-"===e.value}function lb(e){return"value-operator"===e.type&&"%"===e.value}function cb(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function pb(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&cb(e.groups[0])}var db={getAncestorCounter:rb,getAncestorNode:ob,getPropOfDeclNode:function(e){const t=ob(e,"css-decl");return t&&t.prop&&t.prop.toLowerCase()},hasSCSSInterpolation:function(e){if(e&&e.length)for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1},hasStringOrFunction:function(e){if(e&&e.length)for(let t=0;t","<=",">="].includes(e.value)},isEqualityOperatorNode:function(e){return"value-word"===e.type&&["==","!="].includes(e.value)},isMultiplicationNode:ub,isDivisionNode:ib,isAdditionNode:ab,isSubtractionNode:sb,isModuloNode:lb,isMathOperatorNode:function(e){return ub(e)||ib(e)||ab(e)||sb(e)||lb(e)},isEachKeywordNode:function(e){return"value-word"===e.type&&"in"===e.value},isForKeywordNode:function(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)},isURLFunctionNode:function(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()},isIfElseKeywordNode:function(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)},hasComposesNode:function(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()},hasParensAroundNode:function(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close},hasEmptyRawBefore:function(e){return e.raws&&""===e.raws.before},isSCSSNestedPropertyNode:function(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")},isDetachedRulesetCallNode:function(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)},isTemplatePlaceholderNode:function(e){return e.name.startsWith("prettier-placeholder")},isTemplatePropNode:function(e){return e.prop.startsWith("@prettier-placeholder")},isPostcssSimpleVarNode:function(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before},isKeyValuePairNode:cb,isKeyValuePairInParenGroupNode:pb,isSCSSMapItemNode:function(e){const t=e.getValue();if(0===t.groups.length)return!1;const n=e.getParentNode(1);if(!(pb(t)||n&&pb(n)))return!1;const r=ob(e,"css-decl");return!!(r&&r.prop&&r.prop.startsWith("$"))||(!!pb(n)||"value-func"===n.type)},isInlineValueCommentNode:function(e){return"value-comment"===e.type&&e.inline},isHashNode:function(e){return"value-word"===e.type&&"#"===e.value},isLeftCurlyBraceNode:function(e){return"value-word"===e.type&&"{"===e.value},isRightCurlyBraceNode:function(e){return"value-word"===e.type&&"}"===e.value},isWordNode:function(e){return["value-word","value-atword"].includes(e.type)},isColonNode:function(e){return"value-colon"===e.type},isMediaAndSupportsKeywords:function(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())},isColorAdjusterFuncNode:function(e){return"value-func"===e.type&&nb.has(e.value.toLowerCase())},lastLineHasInlineComment:function(e){return/\/\//.test(e.split(/[\n\r]/).pop())},stringifyNode:function e(t){if(t.groups){return(t.open&&t.open.value?t.open.value:"")+t.groups.reduce(((n,r,o)=>n+e(r)+("comma_group"===t.groups[0].type&&o!==t.groups.length-1?",":"")),"")+(t.close&&t.close.value?t.close.value:"")}const n=t.raws&&t.raws.before?t.raws.before:"",r=t.raws&&t.raws.quote?t.raws.quote:"";return n+r+("atword"===t.type?"@":"")+(t.value?t.value:"")+r+(t.unit?t.unit:"")+(t.group?e(t.group):"")+(t.raws&&t.raws.after?t.raws.after:"")},isAtWordPlaceholderNode:function(e){return e&&"value-atword"===e.type&&e.value.startsWith("prettier-placeholder-")}},fb=function(e,t){let n=0;for(let r=0;r{const i=r.nodes[u-1];if(i&&"css-comment"===i.type&&"prettier-ignore"===i.text.trim()){const n=e.getValue();o.push(t.originalText.slice(Bv(n),Nv(n)))}else o.push(e.call(n));u!==r.nodes.length-1&&("css-comment"===r.nodes[u+1].type&&!Ab(t.originalText,Bv(r.nodes[u+1]),{backwards:!0})&&!Fb(r.nodes[u])||"css-atrule"===r.nodes[u+1].type&&"else"===r.nodes[u+1].name&&"css-comment"!==r.nodes[u].type?o.push(" "):(o.push(t.__isHTMLStyleAttribute?Tb:Bb),xb(t.originalText,e.getValue(),Nv)&&!Fb(r.nodes[u])&&o.push(Bb)))}),"nodes"),Sb(o)}const Ov=/(["'])(?:(?!\1)[^\\]|\\[\S\s])*\1/g,Iv=new RegExp(Ov.source+"|"+"(".concat(/[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g.source,")?")+"(".concat(/(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g.source,")")+"(".concat(/[A-Za-z]+/g.source,")?"),"g");function Lv(e,t){return e.replace(Ov,(e=>vb(e,t)))}function Mv(e,t){const n=t.singleQuote?"'":'"';return e.includes('"')||e.includes("'")?e:n+e+n}function jv(e){return e.replace(Iv,((e,t,n,r,o)=>!n&&r?_v(r)+$b(o||""):e))}function _v(e){return bb(e).replace(/\.0(?=$|e)/,"")}var Rv={print:function(e,t,n){const r=e.getValue();if(!r)return"";if("string"==typeof r)return r;switch(r.type){case"front-matter":return Sb([r.raw,Bb]);case"css-root":{const o=Pv(e,t,n),u=r.raws.after.trim();return Sb([o,u?" ".concat(u):"",o.parts.length?Bb:""])}case"css-comment":{const e=r.inline||r.raws.inline,n=t.originalText.slice(Bv(r),Nv(r));return e?n.trimEnd():n}case"css-rule":return Sb([e.call(n,"selector"),r.important?" !important":"",r.nodes?Sb([r.selector&&"selector-unknown"===r.selector.type&&wv(r.selector.value)?Tb:" ","{",r.nodes.length>0?Ob(Sb([Bb,Pv(e,t,n)])):"",Bb,"}",Qb(r)?";":""]):";"]);case"css-decl":{const o=e.getParentNode(),{between:u}=r.raws,i=u.trim(),a=":"===i;let s=cv(r)?jb(e.call(n,"value")):e.call(n,"value");return!a&&wv(i)&&(s=Ob(Sb([Bb,Ib(s)]))),Sb([r.raws.before.replace(/[\s;]/g,""),Wb(e)?r.prop:$b(r.prop),i.startsWith("//")?" ":"",i,r.extend?"":" ",Yb(t)&&r.extend&&r.selector?Sb(["extend(",e.call(n,"selector"),")"]):"",s,r.raws.important?r.raws.important.replace(/\s*!\s*important/i," !important"):r.important?" !important":"",r.raws.scssDefault?r.raws.scssDefault.replace(/\s*!default/i," !default"):r.scssDefault?" !default":"",r.raws.scssGlobal?r.raws.scssGlobal.replace(/\s*!global/i," !global"):r.scssGlobal?" !global":"",r.nodes?Sb([" {",Ob(Sb([Nb,Pv(e,t,n)])),Nb,"}"]):gv(r)&&!o.raws.semicolon&&";"!==t.originalText[Nv(r)-1]?"":t.__isHTMLStyleAttribute&&Xb(e,r)?Lb(";",""):";"])}case"css-atrule":{const o=e.getParentNode(),u=mv(r)&&!o.raws.semicolon&&";"!==t.originalText[Nv(r)-1];if(Yb(t)){if(r.mixin)return Sb([e.call(n,"selector"),r.important?" !important":"",u?"":";"]);if(r.function)return Sb([r.name,Sb([e.call(n,"params")]),u?"":";"]);if(r.variable)return Sb(["@",r.name,": ",r.value?Sb([e.call(n,"value")]):"",r.raws.between.trim()?r.raws.between.trim()+" ":"",r.nodes?Sb(["{",Ob(Sb([r.nodes.length>0?Nb:"",Pv(e,t,n)])),Nb,"}"]):"",u?"":";"])}return Sb(["@",hv(r)||r.name.endsWith(":")?r.name:$b(r.name),r.params?Sb([hv(r)?"":mv(r)?""===r.raws.afterName?"":r.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(r.raws.afterName)?Sb([Bb,Bb]):/^\s*\n/.test(r.raws.afterName)?Bb:" ":" ",e.call(n,"params")]):"",r.selector?Ob(Sb([" ",e.call(n,"selector")])):"",r.value?kb(Sb([" ",e.call(n,"value"),Kb(r)?pv(r)?" ":Tb:""])):"else"===r.name?" ":"",r.nodes?Sb([Kb(r)?"":r.selector&&!r.selector.nodes&&"string"==typeof r.selector.value&&wv(r.selector.value)||!r.selector&&"string"==typeof r.params&&wv(r.params)?Tb:" ","{",Ob(Sb([r.nodes.length>0?Nb:"",Pv(e,t,n)])),Nb,"}"]):u?"":";"])}case"media-query-list":{const t=[];return e.each((e=>{const r=e.getValue();"media-query"===r.type&&""===r.value||t.push(e.call(n))}),"nodes"),kb(Ob(wb(Tb,t)))}case"media-query":return Sb([wb(" ",e.map(n,"nodes")),Xb(e,r)?"":","]);case"media-type":return jv(Lv(r.value,t));case"media-feature-expression":return r.nodes?Sb(["(",Sb(e.map(n,"nodes")),")"]):r.value;case"media-feature":return $b(Lv(r.value.replace(/ +/g," "),t));case"media-colon":return Sb([r.value," "]);case"media-value":return jv(Lv(r.value,t));case"media-keyword":return Lv(r.value,t);case"media-url":return Lv(r.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/gi,")"),t);case"media-unknown":return r.value;case"selector-root":return kb(Sb([Ub(e,"custom-selector")?Sb([Rb(e,"css-atrule").customSelector,Tb]):"",wb(Sb([",",Ub(e,["extend","custom-selector","nest"])?Tb:Bb]),e.map(n,"nodes"))]));case"selector-selector":return kb(Ob(Sb(e.map(n,"nodes"))));case"selector-comment":return r.value;case"selector-string":return Lv(r.value,t);case"selector-tag":{const t=e.getParentNode(),n=t&&t.nodes.indexOf(r),o=n&&t.nodes[n-1];return Sb([r.namespace?Sb([!0===r.namespace?"":r.namespace.trim(),"|"]):"","selector-nesting"===o.type?r.value:jv(zb(e,r.value)?r.value.toLowerCase():r.value)])}case"selector-id":return Sb(["#",r.value]);case"selector-class":return Sb([".",jv(Lv(r.value,t))]);case"selector-attribute":return Sb(["[",r.namespace?Sb([!0===r.namespace?"":r.namespace.trim(),"|"]):"",r.attribute.trim(),r.operator?r.operator:"",r.value?Mv(Lv(r.value.trim(),t),t):"",r.insensitive?" i":"","]"]);case"selector-combinator":{if("+"===r.value||">"===r.value||"~"===r.value||">>>"===r.value){const t=e.getParentNode(),n="selector-selector"===t.type&&t.nodes[0]===r?"":Tb;return Sb([n,r.value,Xb(e,r)?"":" "])}const n=r.value.trim().startsWith("(")?Tb:"",o=jv(Lv(r.value.trim(),t))||Tb;return Sb([n,o])}case"selector-universal":return Sb([r.namespace?Sb([!0===r.namespace?"":r.namespace.trim(),"|"]):"",r.value]);case"selector-pseudo":return Sb([$b(r.value),r.nodes&&r.nodes.length>0?Sb(["(",wb(", ",e.map(n,"nodes")),")"]):""]);case"selector-nesting":return r.value;case"selector-unknown":{const n=Rb(e,"css-rule");if(n&&n.isSCSSNesterProperty)return jv(Lv($b(r.value),t));const o=e.getParentNode();if(o.raws&&o.raws.selector){const e=Bv(o),n=e+o.raws.selector.length;return t.originalText.slice(e,n).trim()}const u=e.getParentNode(1);if("value-paren_group"===o.type&&u&&"value-func"===u.type&&"selector"===u.value){const e=Bv(o.open)+1,n=Nv(o.close)-1,r=t.originalText.slice(e,n).trim();return wv(r)?Sb([Mb,r]):r}return r.value}case"value-value":case"value-root":return e.call(n,"group");case"value-comment":return t.originalText.slice(Bv(r),Nv(r));case"value-comma_group":{const t=e.getParentNode(),o=e.getParentNode(1),u=Vb(e),i=u&&"value-value"===t.type&&("grid"===u||u.startsWith("grid-template")),a=Rb(e,"css-atrule"),s=a&&Kb(a),l=e.map(n,"groups"),c=[],p=qb(e,"url");let d=!1,f=!1;for(let n=0;n0&&"value-comma_group"===r.groups[0].type&&r.groups[0].groups.length>0&&"value-word"===r.groups[0].groups[0].type&&r.groups[0].groups[0].value.startsWith("data:")))return Sb([r.open?e.call(n,"open"):"",wb(",",e.map(n,"groups")),r.close?e.call(n,"close"):""]);if(!r.open){const t=e.map(n,"groups"),r=[];for(let e=0;e{const t=e.getValue(),r=n(e);return fv(t)&&"value-comma_group"===t.type&&t.groups&&t.groups[2]&&"value-paren_group"===t.groups[2].type?(r.contents.contents.parts[1]=kb(r.contents.contents.parts[1]),kb(Ib(r))):r}),"groups"))])),Lb(!a&&Hb(t.parser,t.originalText)&&u&&kv(t)?",":""),Nb,r.close?e.call(n,"close"):""]),{shouldBreak:u})}case"value-func":return Sb([r.value,Ub(e,"supports")&&xv(r)?" ":"",e.call(n,"group")]);case"value-paren":return r.value;case"value-number":return Sb([_v(r.value),$b(r.unit)]);case"value-operator":return r.value;case"value-word":return r.isColor&&r.isHex||Gb(r.value)?r.value.toLowerCase():r.value;case"value-colon":{const t=e.getParentNode(),n=t&&t.groups.indexOf(r),o=n&&t.groups[n-1];return Sb([r.value,o&&"\\"===o.value[o.value.length-1]||qb(e,"url")?"":Tb])}case"value-comma":return Sb([r.value," "]);case"value-string":return vb(r.raws.quote+r.value+r.raws.quote,t);case"value-atword":return Sb(["@",r.value]);case"value-unicode-range":case"value-unknown":return r.value;default:throw new Error("Unknown postcss type ".concat(JSON.stringify(r.type)))}},embed:ZC,insertPragma:_b,massageAstNode:UC},Vv={singleQuote:kC.singleQuote},$v={name:"PostCSS",type:"markup",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",languageId:262764437},qv={name:"Less",type:"markup",color:"#1d365d",extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",languageId:198},Wv={name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],languageId:329};var Uv={languages:[xs({name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css"],languageId:50},(e=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"],extensions:[...e.extensions,".wxss"]}))),xs($v,(()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]}))),xs(qv,(()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]}))),xs(Wv,(()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]})))],options:Vv,printers:{postcss:Rv},parsers:{get css(){return{}.parsers.css},get less(){return{}.parsers.less},get scss(){return{}.parsers.scss}}};var Jv={locStart:function(e){return e.loc.start.offset},locEnd:function(e){return e.loc.end.offset}};function zv(e,t){if("TextNode"===e.type){const n=e.chars.trim();if(!n)return null;t.chars=n}}zv.ignoredProperties=new Set(["loc","selfClosing"]);var Gv=zv;const Hv=new Set(["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]);function Xv(e){return Yv(e,["TextNode"])&&!/\S/.test(e.chars)}function Yv(e,t){return e&&t.some((t=>e.type===t))}function Kv(e,t){const n=e.getValue(),r=e.getParentNode(0)||{},o=r.children||r.body||r.parts||[],u=o.indexOf(n);return-1!==u&&o[u+t]}function Qv(e,t=1){return Kv(e,-t)}function Zv(e){return Kv(e,1)}function eA(e){return Yv(e,["MustacheCommentStatement"])&&"string"==typeof e.value&&"prettier-ignore"===e.value.trim()}var tA={getNextNode:Zv,getPreviousNode:Qv,hasPrettierIgnore:function(e){const t=e.getValue(),n=Qv(e,2);return eA(t)||eA(n)},isNextNodeOfSomeType:function(e,t){return Yv(Zv(e),t)},isNodeOfSomeType:Yv,isParentOfSomeType:function(e,t){return Yv(e.getParentNode(0),t)},isPreviousNodeOfSomeType:function(e,t){return Yv(Qv(e),t)},isVoid:function(e){return function(e){return Yv(e,["ElementNode"])&&"string"==typeof e.tag&&(function(e){return e.toUpperCase()===e}(e.tag[0])||e.tag.includes("."))}(e)&&e.children.every((e=>Xv(e)))||Hv.has(e.tag)},isWhitespaceNode:Xv};const{builders:{concat:nA,group:rA,hardline:oA,ifBreak:uA,indent:iA,join:aA,line:sA,softline:lA}}=rn,{locStart:cA,locEnd:pA}=Jv,{getNextNode:dA,getPreviousNode:fA,hasPrettierIgnore:hA,isNextNodeOfSomeType:mA,isNodeOfSomeType:gA,isParentOfSomeType:DA,isPreviousNodeOfSomeType:yA,isVoid:EA,isWhitespaceNode:CA}=tA;function bA(e,t){const n=e.getValue();return nA(["<",n.tag,vA(e,t),HA(n),FA(n)])}function vA(e,t){const n=e.getValue();return iA(nA([n.attributes.length?sA:"",aA(sA,e.map(t,"attributes")),n.modifiers.length?sA:"",aA(sA,e.map(t,"modifiers")),n.comments.length?sA:"",aA(sA,e.map(t,"comments"))]))}function AA(e,t,n){return nA(e.map(((e,r)=>0===r?nA([lA,n(e,t,n)]):n(e,t,n)),"children"))}function FA(e){return EA(e)?uA(nA([lA,"/>"]),nA([" />",lA])):uA(nA([lA,">"]),">")}function xA(e){const t=!1===e.escaped?"{{{":"{{",n=e.strip&&e.strip.open?"~":"";return nA([t,n])}function SA(e){const t=!1===e.escaped?"}}}":"}}",n=e.strip&&e.strip.close?"~":"";return nA([n,t])}function wA(e){const t=xA(e),n=e.openStrip.open?"~":"";return nA([t,n,"#"])}function TA(e){const t=SA(e),n=e.openStrip.close?"~":"";return nA([n,t])}function BA(e){const t=xA(e),n=e.closeStrip.open?"~":"";return nA([t,n,"/"])}function NA(e){const t=SA(e),n=e.closeStrip.close?"~":"";return nA([n,t])}function kA(e){const t=xA(e),n=e.inverseStrip.open?"~":"";return nA([t,n])}function PA(e){const t=SA(e),n=e.inverseStrip.close?"~":"";return nA([n,t])}function OA(e,t){const n=e.getValue();return rA(nA([wA(n),JA(e,t),HA(n.program),lA,TA(n)]))}function IA(e){return nA([oA,kA(e),"else",PA(e)])}function LA(e,t){const n=e.getParentNode(1);return nA([kA(n),"else ",JA(e,t),PA(n)])}function MA(e,t){const n=e.getValue();return nA([jA(n)?lA:oA,BA(n),e.call(t,"path"),NA(n)])}function jA(e){return gA(e,["BlockStatement"])&&e.program.body.every((e=>CA(e)))}function _A(e){return gA(e,["BlockStatement"])&&e.inverse}function RA(e,t){if(jA(e.getValue()))return"";const n=e.call(t,"program");return iA(nA([oA,n]))}function VA(e,t){const n=e.getValue(),r=e.call(t,"inverse"),o=nA([oA,r]);return function(e){return _A(e)&&1===e.inverse.body.length&&gA(e.inverse.body[0],["BlockStatement"])&&"if"===e.inverse.body[0].path.parts[0]}(n)?o:_A(n)?nA([IA(n),iA(o)]):""}function $A(e){return(e="string"==typeof e?e:"").split("\n").length-1}function qA(e=0,t=0){return new Array(Math.min(e,t)).fill(oA)}function WA(e,t){const n={quote:'"',regex:/"/g},r={quote:"'",regex:/'/g},o=t.singleQuote?r:n,u=o===r?n:r;let i=!1;if(e.includes(o.quote)||e.includes(u.quote)){i=(e.match(o.regex)||[]).length>(e.match(u.regex)||[]).length}const a=i?u:o,s=e.replace(a.regex,"\\".concat(a.quote));return nA([a.quote,s,a.quote])}function UA(e,t){const n=zA(e,t),r=GA(e,t);return r?iA(nA([n,sA,rA(r)])):n}function JA(e,t){const n=zA(e,t),r=GA(e,t);return r?iA(rA(nA([n,sA,r]))):n}function zA(e,t){return e.call(t,"path")}function GA(e,t){const n=e.getValue(),r=[];if(n.params.length){const n=e.map(t,"params");r.push(...n)}if(n.hash&&n.hash.pairs.length>0){const n=e.call(t,"hash");r.push(n)}return r.length?aA(sA,r):""}function HA(e){return e&&e.blockParams.length?nA([" as |",e.blockParams.join(" "),"|"]):""}var XA={print:function(e,t,n){const r=e.getValue();if(!r)return"";if(hA(e))return t.originalText.slice(cA(r),pA(r));switch(r.type){case"Block":case"Program":case"Template":return rA(nA(e.map(n,"body")));case"ElementNode":{const o=mA(e,["ElementNode"])?oA:"";if(EA(r))return nA([rA(bA(e,n)),o]);const u=r.children.every((e=>CA(e)));return nA([rA(bA(e,n)),rA(nA([u?"":iA(AA(e,t,n)),r.children.length?oA:"",nA([""])])),o])}case"BlockStatement":{const t=e.getParentNode(1),o=t&&t.inverse&&1===t.inverse.body.length&&t.inverse.body[0]===r&&"if"===t.inverse.body[0].path.parts[0];return nA(o?[LA(e,n),RA(e,n),VA(e,n)]:[OA(e,n),rA(nA([RA(e,n),VA(e,n),MA(e,n)]))])}case"ElementModifierStatement":return rA(nA(["{{",JA(e,n),lA,"}}"]));case"MustacheStatement":{const t=DA(e,["AttrNode","ConcatStatement"]),o=DA(e,["ElementNode"])&&0===r.hash.pairs.length&&function(e){return 0===e.params.length}(r),u=t||o;return rA(nA([xA(r),u?iA(lA):"",JA(e,n),lA,SA(r)]))}case"SubExpression":return rA(nA(["(",UA(e,n),lA,")"]));case"AttrNode":{const o="TextNode"===r.value.type;if(o&&""===r.value.chars&&cA(r.value)===pA(r.value))return nA([r.name]);const u=e.call(n,"value"),i=o?WA(u.parts.join(),t):u;return nA([r.name,"=",i])}case"ConcatStatement":{const r=t.singleQuote?"'":'"';return nA([r,...e.map((e=>n(e)),"parts"),r])}case"Hash":return nA([aA(sA,e.map(n,"pairs"))]);case"HashPair":return nA([r.key,"=",e.call(n,"value")]);case"TextNode":{const t=2,n=!fA(e),o=!dA(e),u=!/\S/.test(r.chars),i=$A(r.chars);let a=function(e){return $A(((e="string"==typeof e?e:"").match(/^([^\S\n\r]*[\n\r])+/g)||[])[0]||"")}(r.chars),s=function(e){return $A(((e="string"==typeof e?e:"").match(/([\n\r][^\S\n\r]*)+$/g)||[])[0]||"")}(r.chars);if((n||o)&&u&&DA(e,["Block","ElementNode","Template"]))return"";u&&i?(a=Math.min(i,t),s=0):(mA(e,["BlockStatement","ElementNode"])&&(s=Math.max(s,1)),yA(e,["BlockStatement","ElementNode"])&&(a=Math.max(a,1)));if(e.stack.includes("attributes")){if(!function(e,t){return DA(e,["AttrNode"])&&e.getParentNode().name.toLowerCase()===t||DA(e,["ConcatStatement"])&&e.getParentNode(1).name.toLowerCase()===t}(e,"class"))return nA([r.chars]);let n="",o="";return DA(e,["ConcatStatement"])&&(yA(e,["MustacheStatement"])&&(n=" "),mA(e,["MustacheStatement"])&&(o=" ")),nA([...qA(a,t),r.chars.replace(/^\s+/g,n).replace(/\s+$/,o),...qA(s,t)])}let l="",c="";0===s&&mA(e,["MustacheStatement"])&&(c=" "),0===a&&yA(e,["MustacheStatement"])&&(l=" "),n&&(a=0,l=""),o&&(s=0,c="");let p=r.chars;return p.startsWith("{{")&&p.includes("}}")&&(p="\\"+p),nA([...qA(a,t),p.replace(/^\s+/g,l).replace(/\s+$/,c),...qA(s,t)])}case"MustacheCommentStatement":{const e=r.value.includes("}}")?"--":"";return nA(["{{!",e,r.value,e,"}}"])}case"PathExpression":return r.original;case"BooleanLiteral":return String(r.value);case"CommentStatement":return nA(["\x3c!--",r.value,"--\x3e"]);case"StringLiteral":return WA(r.value,t);case"NumberLiteral":return String(r.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";default:throw new Error("unknown glimmer type: "+JSON.stringify(r.type))}},massageAstNode:Gv};var YA={languages:[xs({name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",languageId:155},(()=>({since:null,parsers:["glimmer"],vscodeLanguageIds:["handlebars"]})))],printers:{glimmer:XA},parsers:{get glimmer(){return{}.parsers.glimmer}}};var KA={hasPragma:function(e){return/^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n"+e}};var QA={locStart:function(e){return"number"==typeof e.start?e.start:e.loc&&e.loc.start},locEnd:function(e){return"number"==typeof e.end?e.end:e.loc&&e.loc.end}};const{builders:{concat:ZA,join:eF,hardline:tF,line:nF,softline:rF,group:oF,indent:uF,ifBreak:iF}}=rn,{isNextLineEmpty:aF}=Nt,{insertPragma:sF}=KA,{locStart:lF,locEnd:cF}=QA;function pF(e,t,n){if(0===n.directives.length)return"";const r=eF(nF,e.map(t,"directives"));return"FragmentDefinition"===n.kind||"OperationDefinition"===n.kind?oF(ZA([nF,r])):ZA([" ",oF(uF(ZA([rF,r])))])}function dF(e,t,n){const r=e.getValue().length;return e.map(((e,o)=>{const u=n(e);return aF(t.originalText,e.getValue(),cF)&&on(e)),"interfaces");for(let e=0;e{o.push(ZA([e.call(n)])),u!==r.definitions.length-1&&(o.push(tF),aF(t.originalText,e.getValue(),cF)&&o.push(tF))}),"definitions"),ZA([ZA(o),tF])}case"OperationDefinition":{const o="{"!==t.originalText[lF(r)],u=!!r.name;return ZA([o?r.operation:"",o&&u?ZA([" ",e.call(n,"name")]):"",r.variableDefinitions&&r.variableDefinitions.length?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.map(n,"variableDefinitions"))])),rF,")"])):"",pF(e,n,r),r.selectionSet&&(o||u)?" ":"",e.call(n,"selectionSet")])}case"FragmentDefinition":return ZA(["fragment ",e.call(n,"name"),r.variableDefinitions&&r.variableDefinitions.length?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.map(n,"variableDefinitions"))])),rF,")"])):""," on ",e.call(n,"typeCondition"),pF(e,n,r)," ",e.call(n,"selectionSet")]);case"SelectionSet":return ZA(["{",uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"selections"))])),tF,"}"]);case"Field":return oF(ZA([r.alias?ZA([e.call(n,"alias"),": "]):"",e.call(n,"name"),r.arguments.length>0?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.call((e=>dF(e,t,n)),"arguments"))])),rF,")"])):"",pF(e,n,r),r.selectionSet?" ":"",e.call(n,"selectionSet")]));case"Name":return r.value;case"StringValue":return r.block?ZA(['"""',tF,eF(tF,r.value.replace(/"""/g,"\\$&").split("\n")),tF,'"""']):ZA(['"',r.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"']);case"IntValue":case"FloatValue":case"EnumValue":return r.value;case"BooleanValue":return r.value?"true":"false";case"NullValue":return"null";case"Variable":return ZA(["$",e.call(n,"name")]);case"ListValue":return oF(ZA(["[",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.map(n,"values"))])),rF,"]"]));case"ObjectValue":return oF(ZA(["{",t.bracketSpacing&&r.fields.length>0?" ":"",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.map(n,"fields"))])),rF,iF("",t.bracketSpacing&&r.fields.length>0?" ":""),"}"]));case"ObjectField":case"Argument":return ZA([e.call(n,"name"),": ",e.call(n,"value")]);case"Directive":return ZA(["@",e.call(n,"name"),r.arguments.length>0?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.call((e=>dF(e,t,n)),"arguments"))])),rF,")"])):""]);case"NamedType":return e.call(n,"name");case"VariableDefinition":return ZA([e.call(n,"variable"),": ",e.call(n,"type"),r.defaultValue?ZA([" = ",e.call(n,"defaultValue")]):"",pF(e,n,r)]);case"ObjectTypeExtension":case"ObjectTypeDefinition":return ZA([e.call(n,"description"),r.description?tF:"","ObjectTypeExtension"===r.kind?"extend ":"","type ",e.call(n,"name"),r.interfaces.length>0?ZA([" implements ",ZA(fF(e,t,n))]):"",pF(e,n,r),r.fields.length>0?ZA([" {",uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"fields"))])),tF,"}"]):""]);case"FieldDefinition":return ZA([e.call(n,"description"),r.description?tF:"",e.call(n,"name"),r.arguments.length>0?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.call((e=>dF(e,t,n)),"arguments"))])),rF,")"])):"",": ",e.call(n,"type"),pF(e,n,r)]);case"DirectiveDefinition":return ZA([e.call(n,"description"),r.description?tF:"","directive ","@",e.call(n,"name"),r.arguments.length>0?oF(ZA(["(",uF(ZA([rF,eF(ZA([iF("",", "),rF]),e.call((e=>dF(e,t,n)),"arguments"))])),rF,")"])):"",r.repeatable?" repeatable":"",ZA([" on ",eF(" | ",e.map(n,"locations"))])]);case"EnumTypeExtension":case"EnumTypeDefinition":return ZA([e.call(n,"description"),r.description?tF:"","EnumTypeExtension"===r.kind?"extend ":"","enum ",e.call(n,"name"),pF(e,n,r),r.values.length>0?ZA([" {",uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"values"))])),tF,"}"]):""]);case"EnumValueDefinition":return ZA([e.call(n,"description"),r.description?tF:"",e.call(n,"name"),pF(e,n,r)]);case"InputValueDefinition":return ZA([e.call(n,"description"),r.description?r.description.block?tF:nF:"",e.call(n,"name"),": ",e.call(n,"type"),r.defaultValue?ZA([" = ",e.call(n,"defaultValue")]):"",pF(e,n,r)]);case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return ZA([e.call(n,"description"),r.description?tF:"","InputObjectTypeExtension"===r.kind?"extend ":"","input ",e.call(n,"name"),pF(e,n,r),r.fields.length>0?ZA([" {",uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"fields"))])),tF,"}"]):""]);case"SchemaDefinition":return ZA(["schema",pF(e,n,r)," {",r.operationTypes.length>0?uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"operationTypes"))])):"",tF,"}"]);case"OperationTypeDefinition":return ZA([e.call(n,"operation"),": ",e.call(n,"type")]);case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return ZA([e.call(n,"description"),r.description?tF:"","InterfaceTypeExtension"===r.kind?"extend ":"","interface ",e.call(n,"name"),r.interfaces.length>0?ZA([" implements ",ZA(fF(e,t,n))]):"",pF(e,n,r),r.fields.length>0?ZA([" {",uF(ZA([tF,eF(tF,e.call((e=>dF(e,t,n)),"fields"))])),tF,"}"]):""]);case"FragmentSpread":return ZA(["...",e.call(n,"name"),pF(e,n,r)]);case"InlineFragment":return ZA(["...",r.typeCondition?ZA([" on ",e.call(n,"typeCondition")]):"",pF(e,n,r)," ",e.call(n,"selectionSet")]);case"UnionTypeExtension":case"UnionTypeDefinition":return oF(ZA([e.call(n,"description"),r.description?tF:"",oF(ZA(["UnionTypeExtension"===r.kind?"extend ":"","union ",e.call(n,"name"),pF(e,n,r),r.types.length>0?ZA([" =",iF(""," "),uF(ZA([iF(ZA([nF," "])),eF(ZA([nF,"| "]),e.map(n,"types"))]))]):""]))]));case"ScalarTypeExtension":case"ScalarTypeDefinition":return ZA([e.call(n,"description"),r.description?tF:"","ScalarTypeExtension"===r.kind?"extend ":"","scalar ",e.call(n,"name"),pF(e,n,r)]);case"NonNullType":return ZA([e.call(n,"type"),"!"]);case"ListType":return ZA(["[",e.call(n,"type"),"]"]);default:throw new Error("unknown graphql type: "+JSON.stringify(r.kind))}},massageAstNode:hF,hasPrettierIgnore:function(e){const t=e.getValue();return t&&Array.isArray(t.comments)&&t.comments.some((e=>"prettier-ignore"===e.value.trim()))},insertPragma:sF,printComment:function(e){const t=e.getValue();if("Comment"===t.kind)return"#"+t.value.trimEnd();throw new Error("Not a comment: "+JSON.stringify(t))},canAttachComment:function(e){return e.kind&&"Comment"!==e.kind}},gF={bracketSpacing:kC.bracketSpacing};var DF={languages:[xs({name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",languageId:139},(()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]})))],options:gF,printers:{graphql:mF},parsers:{get graphql(){return{}.parsers.graphql}}};var yF={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:EF}=Nt,{locStart:CF,locEnd:bF}=yF,{cjkPattern:vF,kPattern:AF,punctuationPattern:FF}={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"},xF=["liquidNode","inlineCode","emphasis","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],SF=xF.concat(["tableCell","paragraph","heading"]),wF=new RegExp(AF),TF=new RegExp(FF);function BF(e,t){const[,n,r,o]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:n,marker:r,leadingSpaces:o}}var NF={mapAst:function(e,t){return function e(n,r,o){o=o||[];const u=Object.assign({},t(n,r,o));return u.children&&(u.children=u.children.map(((t,n)=>e(t,n,[u].concat(o))))),u}(e,null,null)},splitText:function(e,t){const n="non-cjk",r="cj-letter",o="cjk-punctuation",u=[];return("preserve"===t.proseWrap?e:e.replace(new RegExp("(".concat(vF,")\n(").concat(vF,")"),"g"),"$1$2")).split(/([\t\n ]+)/).forEach(((e,t,a)=>{t%2!=1?(0!==t&&t!==a.length-1||""!==e)&&e.split(new RegExp("(".concat(vF,")"))).forEach(((e,t,u)=>{(0!==t&&t!==u.length-1||""!==e)&&(t%2!=0?i(TF.test(e)?{type:"word",value:e,kind:o,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:e,kind:wF.test(e)?"k-letter":r,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==e&&i({type:"word",value:e,kind:n,hasLeadingPunctuation:TF.test(e[0]),hasTrailingPunctuation:TF.test(EF(e))}))})):u.push({type:"whitespace",value:/\n/.test(e)?"\n":" "})})),u;function i(e){const t=EF(u);var i,a;t&&"word"===t.type&&(t.kind===n&&e.kind===r&&!t.hasTrailingPunctuation||t.kind===r&&e.kind===n&&!e.hasLeadingPunctuation?u.push({type:"whitespace",value:" "}):(i=n,a=o,t.kind===i&&e.kind===a||t.kind===a&&e.kind===i||[t.value,e.value].some((e=>/\u3000/.test(e)))||u.push({type:"whitespace",value:""}))),u.push(e)}},punctuationPattern:FF,getFencedCodeBlockValue:function(e,t){const{value:n}=e;return e.position.end.offset===t.length&&n.endsWith("\n")&&t.endsWith("\n")?n.slice(0,-1):n},getOrderedListItemInfo:BF,hasGitDiffFriendlyOrderedList:function(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const n=Number(BF(e.children[0],t.originalText).numberText),r=Number(BF(e.children[1],t.originalText).numberText);if(0===n&&e.children.length>2){const n=Number(BF(e.children[2],t.originalText).numberText);return 1===r&&1===n}return 1===r},INLINE_NODE_TYPES:xF,INLINE_NODE_WRAPPER_TYPES:SF,isAutolink:function(e){if(!e||"link"!==e.type||1!==e.children.length)return!1;const t=e.children[0];return t&&CF(e)===CF(t)&&bF(e)===bF(t)}};const{inferParserByLanguage:kF,getMaxContinuousCount:PF}=Nt,{builders:{hardline:OF,concat:IF,markAsRoot:LF},utils:{replaceNewlinesWithLiterallines:MF}}=rn,{print:jF}=XC,{getFencedCodeBlockValue:_F}=NF;var RF=function(e,t,n,r){const o=e.getValue();if("code"===o.type&&null!==o.lang){const e=kF(o.lang,r);if(e){const t=r.__inJsTemplate?"~":"`",u=t.repeat(Math.max(3,PF(o.value,t)+1)),i=n(_F(o,r.originalText),{parser:e},{stripTrailingHardline:!0});return LF(IF([u,o.lang,o.meta?" "+o.meta:"",OF,MF(i),OF,u]))}}switch(o.type){case"front-matter":return jF(o,n);case"importExport":return IF([n(o.value,{parser:"babel"},{stripTrailingHardline:!0}),OF]);case"jsx":return n("<$>".concat(o.value,""),{parser:"__js_expression",rootMarker:"mdx"},{stripTrailingHardline:!0})}return null};const{parse:VF}=XC,$F=["format","prettier"];function qF(e){const t="@(".concat($F.join("|"),")"),n=new RegExp(["\x3c!--\\s*".concat(t,"\\s*--\x3e"),"\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*".concat(t,"[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e")].join("|"),"m"),r=e.match(n);return r&&0===r.index}var WF={startWithPragma:qF,hasPragma:e=>qF(VF(e).content.trimStart()),insertPragma:e=>{const t=VF(e),n="\x3c!-- @".concat($F[0]," --\x3e");return t.frontMatter?"".concat(t.frontMatter.raw,"\n\n").concat(n,"\n\n").concat(t.content):"".concat(n,"\n\n").concat(t.content)}};const{getOrderedListItemInfo:UF,mapAst:JF,splitText:zF}=NF,GF=/^([\u0000-\uffff]|[\ud800-\udbff][\udc00-\udfff])$/;function HF(e,t,n){return JF(e,(e=>{if(!e.children)return e;const r=e.children.reduce(((e,r)=>{const o=e[e.length-1];return o&&t(o,r)?e.splice(-1,1,n(o,r)):e.push(r),e}),[]);return Object.assign({},e,{children:r})}))}var XF=function(e,t){return e=function(e){return HF(e,((e,t)=>"importExport"===e.type&&"importExport"===t.type),((e,t)=>({type:"importExport",value:e.value+"\n\n"+t.value,position:{start:e.position.start,end:t.position.end}})))}(e=function(e){return JF(e,(e=>"import"!==e.type&&"export"!==e.type?e:Object.assign({},e,{type:"importExport"})))}(e=function(e,t){return JF(e,((e,n,[r])=>{if("text"!==e.type)return e;let{value:o}=e;return"paragraph"===r.type&&(0===n&&(o=o.trimStart()),n===r.children.length-1&&(o=o.trimEnd())),{type:"sentence",position:e.position,children:zF(o,t)}}))}(e=function(e,t){return JF(e,((e,t,n)=>{if("list"===e.type&&0!==e.children.length){for(let t=0;t1)return!0;const u=n(r);if(-1===u)return!1;if(1===e.children.length)return u%t.tabWidth==0;if(u!==n(o))return!1;if(u%t.tabWidth==0)return!0;return UF(o,t.originalText).leadingSpaces.length>1}}(e=function(e,t){return JF(e,((e,n,r)=>{if("code"===e.type){const n=/^\n?( {4,}|\t)/.test(t.originalText.slice(e.position.start.offset,e.position.end.offset));if(e.isIndented=n,n)for(let e=0;e"inlineCode"!==e.type?e:Object.assign({},e,{value:e.value.replace(/\s+/g," ")})))}(e=function(e){return HF(e,((e,t)=>"text"===e.type&&"text"===t.type),((e,t)=>({type:"text",value:e.value+t.value,position:{start:e.position.start,end:t.position.end}})))}(e=function(e,t){return JF(e,(e=>"text"===e.type&&"*"!==e.value&&"_"!==e.value&&GF.test(e.value)&&e.position.end.offset-e.position.start.offset!==e.value.length?Object.assign({},e,{value:t.originalText.slice(e.position.start.offset,e.position.end.offset)}):e))}(e,t))),t),t),t)))};const{isFrontMatterNode:YF}=Nt,{startWithPragma:KF}=WF,QF=new Set(["position","raw"]);function ZF(e,t,n){return"front-matter"!==e.type&&"code"!==e.type&&"yaml"!==e.type&&"import"!==e.type&&"export"!==e.type&&"jsx"!==e.type||delete t.value,"list"===e.type&&delete t.isAligned,"list"!==e.type&&"listItem"!==e.type||(delete t.spread,delete t.loose),"text"===e.type?null:("inlineCode"===e.type&&(t.value=e.value.replace(/[\t\n ]+/g," ")),"wikiLink"===e.type&&(t.value=e.value.trim().replace(/[\t\n]+/g," ")),"definition"!==e.type&&"linkReference"!==e.type||(t.label=e.label.trim().replace(/[\t\n ]+/g," ").toLowerCase()),"definition"!==e.type&&"link"!==e.type&&"image"!==e.type||!e.title||(t.title=e.title.replace(/\\(["')])/g,"$1")),n&&"root"===n.type&&n.children.length>0&&(n.children[0]===e||YF(n.children[0])&&n.children[1]===e)&&"html"===e.type&&KF(e.value)?null:void 0)}ZF.ignoredProperties=QF;var ex=ZF;const{getLast:tx,getMinNotPresentContinuousCount:nx,getMaxContinuousCount:rx,getStringWidth:ox}=Nt,{builders:{breakParent:ux,concat:ix,join:ax,line:sx,literalline:lx,markAsRoot:cx,hardline:px,softline:dx,ifBreak:fx,fill:hx,align:mx,indent:gx,group:Dx},utils:{normalizeDoc:yx},printer:{printDocToString:Ex}}=rn,{replaceEndOfLineWith:Cx}=Nt,{insertPragma:bx}=WF,{locStart:vx,locEnd:Ax}=yF,{getFencedCodeBlockValue:Fx,hasGitDiffFriendlyOrderedList:xx,splitText:Sx,punctuationPattern:wx,INLINE_NODE_TYPES:Tx,INLINE_NODE_WRAPPER_TYPES:Bx,isAutolink:Nx}=NF,kx=new Set(["importExport"]),Px=["heading","tableCell","link","wikiLink"],Ox=new Set(["listItem","definition","footnoteDefinition"]);function Ix(e,t,n,r){const o=e.getValue(),u=null===o.checked?"":o.checked?"[x] ":"[ ] ";return ix([u,Vx(e,t,n,{processor:(e,o)=>{if(0===o&&"list"!==e.getValue().type)return mx(" ".repeat(u.length),e.call(n));const i=" ".repeat((a=t.tabWidth-r.length,l=3,a<(s=0)?s:a>l?l:a));var a,s,l;return ix([i,mx(i,e.call(n))])}})])}function Lx(e,t){return function(e,t,n){n=n||(()=>!0);let r=-1;for(const o of t.children)if(o.type===e.type&&n(o)?r++:r=-1,o===e)return r}(e,t,(t=>t.ordered===e.ordered))}function Mx(e,t){const n=[].concat(t);let r,o=-1;for(;r=e.getParentNode(++o);)if(n.includes(r.type))return o;return-1}function jx(e,t){const n=Mx(e,t);return-1===n?null:e.getParentNode(n)}function _x(e,t,n){if("preserve"===n.proseWrap&&"\n"===t)return px;const r="always"===n.proseWrap&&!jx(e,Px);return""!==t?r?sx:" ":r?dx:""}function Rx(e,t,n){const r=[];let o=null;const{children:u}=e.getValue();return u.forEach(((e,t)=>{switch(qx(e)){case"start":null===o&&(o={index:t,offset:e.position.end.offset});break;case"end":null!==o&&(r.push({start:o,end:{index:t,offset:e.position.start.offset}}),o=null)}})),Vx(e,t,n,{processor:(e,o)=>{if(0!==r.length){const e=r[0];if(o===e.start.index)return ix([u[e.start.index].value,t.originalText.slice(e.start.offset,e.end.offset),u[e.end.index].value]);if(e.start.indexe.call(n)),i=e.getValue(),a=[];let s;return e.each(((e,n)=>{const r=e.getValue(),o=u(e,n);if(!1!==o){const e={parts:a,prevNode:s,parentNode:i,options:t};(function(e,t){const n=0===t.parts.length,r=Tx.includes(e.type),o="html"===e.type&&Bx.includes(t.parentNode.type);return n||r||o})(r,e)||(a.push(px),s&&kx.has(s.type)||(function(e,t){const n=(t.prevNode&&t.prevNode.type)===e.type&&Ox.has(e.type),r="listItem"===t.parentNode.type&&!t.parentNode.loose,o=t.prevNode&&"listItem"===t.prevNode.type&&t.prevNode.loose,u="next"===qx(t.prevNode),i="html"===e.type&&t.prevNode&&"html"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line,a="html"===e.type&&"listItem"===t.parentNode.type&&t.prevNode&&"paragraph"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line;return o||!(n||r||u||i||a)}(r,e)||Wx(r,e))&&a.push(px),Wx(r,e)&&a.push(px)),a.push(o),s=r}}),"children"),o(a)}function $x(e){let t=e;for(;t.children&&0!==t.children.length;)t=t.children[t.children.length-1];return t}function qx(e){if("html"!==e.type)return!1;const t=e.value.match(/^$/);return null!==t&&(t[1]?t[1]:"next")}function Wx(e,t){const n=t.prevNode&&"list"===t.prevNode.type,r="code"===e.type&&e.isIndented;return n&&r}function Ux(e,t){const n=[" "].concat(t||[]);return new RegExp(n.map((e=>"\\".concat(e))).join("|")).test(e)?"<".concat(e,">"):e}function Jx(e,t,n){if(null==n&&(n=!0),!e)return"";if(n)return" "+Jx(e,t,!1);if((e=e.replace(/\\(["')])/g,"$1")).includes('"')&&e.includes("'")&&!e.includes(")"))return"(".concat(e,")");const r=e.split("'").length-1,o=e.split('"').length-1,u=r>o?'"':o>r||t.singleQuote?"'":'"';return e=(e=e.replace(/\\/,"\\\\")).replace(new RegExp("(".concat(u,")"),"g"),"\\$1"),"".concat(u).concat(e).concat(u)}var zx={preprocess:XF,print:function(e,t,n){const r=e.getValue();if(function(e){const t=jx(e,["linkReference","imageReference"]);return t&&("linkReference"!==t.type||"full"!==t.referenceType)}(e))return ix(Sx(t.originalText.slice(r.position.start.offset,r.position.end.offset),t).map((n=>"word"===n.type?n.value:""===n.value?"":_x(e,n.value,t))));switch(r.type){case"front-matter":return t.originalText.slice(r.position.start.offset,r.position.end.offset);case"root":return 0===r.children.length?"":ix([yx(Rx(e,t,n)),kx.has($x(r).type)?"":px]);case"paragraph":return Vx(e,t,n,{postprocessor:hx});case"sentence":return Vx(e,t,n);case"word":{let t=r.value.replace(/\*/g,"\\$&").replace(new RegExp(["(^|".concat(wx,")(_+)"),"(_+)(".concat(wx,"|$)")].join("|"),"g"),((e,t,n,r,o)=>(n?"".concat(t).concat(n):"".concat(r).concat(o)).replace(/_/g,"\\_")));const n=(e,t,n)=>"sentence"===e.type&&0===n,o=(e,t,n)=>Nx(e.children[n-1]);return t!==r.value&&(e.match(void 0,n,o)||e.match(void 0,n,((e,t,n)=>"emphasis"===e.type&&0===n),o))&&(t=t.replace(/^(\\?[*_])+/,(e=>e.replace(/\\/g,"")))),t}case"whitespace":{const n=e.getParentNode(),o=n.children.indexOf(r),u=n.children[o+1],i=u&&/^>|^([*+-]|#{1,6}|\d+[).])$/.test(u.value)?"never":t.proseWrap;return _x(e,r.value,{proseWrap:i})}case"emphasis":{let o;if(Nx(r.children[0]))o=t.originalText[r.position.start.offset];else{const t=e.getParentNode(),n=t.children.indexOf(r),u=t.children[n-1],i=t.children[n+1];o=u&&"sentence"===u.type&&u.children.length>0&&"word"===tx(u.children).type&&!tx(u.children).hasTrailingPunctuation||i&&"sentence"===i.type&&i.children.length>0&&"word"===i.children[0].type&&!i.children[0].hasLeadingPunctuation||jx(e,"emphasis")?"*":"_"}return ix([o,Vx(e,t,n),o])}case"strong":return ix(["**",Vx(e,t,n),"**"]);case"delete":return ix(["~~",Vx(e,t,n),"~~"]);case"inlineCode":{const e=nx(r.value,"`"),t="`".repeat(e||1),n=e&&!/^\s/.test(r.value)?" ":"";return ix([t,n,r.value,n,t])}case"wikiLink":{let e="";return e="preserve"===t.proseWrap?r.value:r.value.replace(/[\t\n]+/g," "),ix(["[[",e,"]]"])}case"link":switch(t.originalText[r.position.start.offset]){case"<":{const e="mailto:",n=r.url.startsWith(e)&&t.originalText.slice(r.position.start.offset+1,r.position.start.offset+1+e.length)!==e?r.url.slice(e.length):r.url;return ix(["<",n,">"])}case"[":return ix(["[",Vx(e,t,n),"](",Ux(r.url,")"),Jx(r.title,t),")"]);default:return t.originalText.slice(r.position.start.offset,r.position.end.offset)}case"image":return ix(["![",r.alt||"","](",Ux(r.url,")"),Jx(r.title,t),")"]);case"blockquote":return ix(["> ",mx("> ",Vx(e,t,n))]);case"heading":return ix(["#".repeat(r.depth)+" ",Vx(e,t,n)]);case"code":{if(r.isIndented){const e=" ".repeat(4);return mx(e,ix([e,ix(Cx(r.value,px))]))}const e=t.__inJsTemplate?"~":"`",n=e.repeat(Math.max(3,rx(r.value,e)+1));return ix([n,r.lang||"",r.meta?" "+r.meta:"",px,ix(Cx(Fx(r,t.originalText),px)),px,n])}case"html":{const t=e.getParentNode(),n="root"===t.type&&tx(t.children)===r?r.value.trimEnd():r.value,o=/^$/.test(n);return ix(Cx(n,o?px:cx(lx)))}case"list":{const o=Lx(r,e.getParentNode()),u=xx(r,t);return Vx(e,t,n,{processor:(e,i)=>{const a=function(){const e=r.ordered?(0===i?r.start:u?1:r.start+i)+(o%2==0?". ":") "):o%2==0?"- ":"* ";return r.isAligned||r.hasIndentedCodeblock?function(e,t){const n=r();return e+" ".repeat(n>=4?0:n);function r(){const n=e.length%t.tabWidth;return 0===n?0:t.tabWidth-n}}(e,t):e}(),s=e.getValue();return 2===s.children.length&&"html"===s.children[1].type&&s.children[0].position.start.column!==s.children[1].position.start.column?ix([a,Ix(e,t,n,a)]):ix([a,mx(" ".repeat(a.length),Ix(e,t,n,a))])}})}case"thematicBreak":{const t=Mx(e,"list");if(-1===t)return"---";return Lx(e.getParentNode(t),e.getParentNode(t+1))%2==0?"***":"---"}case"linkReference":return ix(["[",Vx(e,t,n),"]","full"===r.referenceType?ix(["[",r.identifier,"]"]):"collapsed"===r.referenceType?"[]":""]);case"imageReference":switch(r.referenceType){case"full":return ix(["![",r.alt||"","][",r.identifier,"]"]);default:return ix(["![",r.alt,"]","collapsed"===r.referenceType?"[]":""])}case"definition":{const e="always"===t.proseWrap?sx:" ";return Dx(ix([ix(["[",r.identifier,"]:"]),gx(ix([e,Ux(r.url),null===r.title?"":ix([e,Jx(r.title,t,!1)])]))]))}case"footnote":return ix(["[^",Vx(e,t,n),"]"]);case"footnoteReference":return ix(["[^",r.identifier,"]"]);case"footnoteDefinition":{const o=e.getParentNode().children[e.getName()+1],u=1===r.children.length&&"paragraph"===r.children[0].type&&("never"===t.proseWrap||"preserve"===t.proseWrap&&r.children[0].position.start.line===r.children[0].position.end.line);return ix(["[^",r.identifier,"]: ",u?Vx(e,t,n):Dx(ix([mx(" ".repeat(4),Vx(e,t,n,{processor:(e,t)=>0===t?Dx(ix([dx,e.call(n)])):e.call(n)})),o&&"footnoteDefinition"===o.type?dx:""]))])}case"table":return function(e,t,n){const r=px.parts[0],o=e.getValue(),u=[],i=e.map((e=>e.map(((e,r)=>{const o=Ex(e.call(n),t).formatted,i=ox(o);return u[r]=Math.max(u[r]||3,i),{text:o,width:i}}),"children")),"children"),a=l(!1);if("never"!==t.proseWrap)return ix([ux,a]);const s=l(!0);return ix([ux,Dx(fx(s,a))]);function l(e){const t=[p(i[0],e),c(e)];return i.length>1&&t.push(ax(r,i.slice(1).map((t=>p(t,e))))),ax(r,t)}function c(e){const t=u.map(((t,n)=>{const r=o.align[n],u="center"===r||"left"===r?":":"-",i="center"===r||"right"===r?":":"-",a=e?"-":"-".repeat(t-2);return"".concat(u).concat(a).concat(i)}));return"| ".concat(t.join(" | ")," |")}function p(e,t){const n=e.map((({text:e,width:n},r)=>{if(t)return e;const i=u[r]-n,a=o.align[r];let s=0;"right"===a?s=i:"center"===a&&(s=Math.floor(i/2));const l=i-s;return"".concat(" ".repeat(s)).concat(e).concat(" ".repeat(l))}));return"| ".concat(n.join(" | ")," |")}}(e,t,n);case"tableCell":return Vx(e,t,n);case"break":return/\s/.test(t.originalText[r.position.start.offset])?ix([" ",cx(lx)]):ix(["\\",px]);case"liquidNode":return ix(Cx(r.value,px));case"importExport":return ix([r.value,px]);case"jsx":return r.value;case"math":return ix(["$$",px,r.value?ix([ix(Cx(r.value,px)),px]):"","$$"]);case"inlineMath":return t.originalText.slice(vx(r),Ax(r));case"tableRow":case"listItem":default:throw new Error("Unknown markdown type ".concat(JSON.stringify(r.type)))}},embed:RF,massageAstNode:ex,hasPrettierIgnore:function(e){const t=+e.getName();return 0!==t&&"next"===qx(e.getParentNode().children[t-1])},insertPragma:bx},Gx={proseWrap:kC.proseWrap,singleQuote:kC.singleQuote},Hx={name:"Markdown",type:"prose",color:"#083fa1",aliases:["pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".workbook"],filenames:["contents.lr"],tmScope:"source.gfm",languageId:222};var Xx={languages:[xs(Hx,(e=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:e.filenames.concat(["README"]),extensions:e.extensions.filter((e=>".mdx"!==e))}))),xs(Hx,(()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]})))],options:Gx,printers:{mdast:zx},parsers:{get remark(){return{}.parsers.remark},get markdown(){return{}.parsers.remark},get mdx(){return{}.parsers.mdx}}};const{isFrontMatterNode:Yx}=Nt,Kx=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan"]);function Qx(e,t){return"text"===e.type||"comment"===e.type||Yx(e)||"yaml"===e.type||"toml"===e.type?null:("attribute"===e.type&&delete t.value,void("docType"===e.type&&delete t.value))}Qx.ignoredProperties=Kx;var Zx=Qx,eS={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],abbr:["title"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],bdo:["dir"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dfn:["title"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["accesskey","for","form"],legend:["accesskey","align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],select:["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],slot:["name"],source:["media","sizes","src","srcset","type"],style:["media","nonce","title","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]};const{inferParserByLanguage:tS,isFrontMatterNode:nS}=Nt,{CSS_DISPLAY_TAGS:rS,CSS_DISPLAY_DEFAULT:oS,CSS_WHITE_SPACE_TAGS:uS,CSS_WHITE_SPACE_DEFAULT:iS}={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",details:"block",summary:"block",dialog:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},aS=dS(["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]),sS=function(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}(eS,dS),lS=new Set(["\t","\n","\f","\r"," "]),cS=e=>e.replace(/[\t\n\f\r ]+$/,""),pS=e=>e.match(/^[\t\n\f\r ]*/)[0];function dS(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function fS(e,t){return!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||(!(!xS(e)||!e.children.some((e=>"text"!==e.type&&"interpolation"!==e.type)))||!(!kS(e,t)||mS(e)||"interpolation"===e.type)))}function hS(e){if("attribute"===e.type)return!1;if(!e.parent)return!1;if("number"!=typeof e.index||0===e.index)return!1;return function(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}(e.parent.children[e.index-1])}function mS(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||SS(e)&&("script"===e.name||"style"===e.name))}function gS(e){return wS(e).startsWith("pre")}function DS(e){return"element"===e.type&&0!==e.children.length&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function yS(e){return vS(e)||"element"===e.type&&"br"===e.fullName||ES(e)}function ES(e){return CS(e)&&bS(e)}function CS(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function vS(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function AS(e){const{type:t,lang:n}=e.attrMap;return"module"===t||"text/javascript"===t||"text/babel"===t||"application/javascript"===t||"jsx"===n?"babel":"application/x-typescript"===t||"ts"===n||"tsx"===n?"typescript":"text/markdown"===t?"markdown":"text/html"===t?"html":t&&(t.endsWith("json")||t.endsWith("importmap"))?"json":"text/x-handlebars-template"===t?"glimmer":void 0}function FS(e){return"block"===e||"list-item"===e||e.startsWith("table")}function xS(e){return wS(e).startsWith("pre")}function SS(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function wS(e){return"element"===e.type&&(!e.namespace||SS(e))&&uS[e.name]||iS}const TS=new Set(["template","style","script"]);function BS(e,t){return NS(e,t)&&!TS.has(e.fullName)}function NS(e,t){return"vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&"html"!==e.fullName.toLowerCase()}function kS(e,t){return NS(e,t)&&(BS(e,t)||e.attrMap.lang&&"html"!==e.attrMap.lang)}var PS={HTML_ELEMENT_ATTRIBUTES:sS,HTML_TAGS:aS,htmlTrim:e=>(e=>e.replace(/^[\t\n\f\r ]+/,""))(cS(e)),htmlTrimPreserveIndentation:e=>(e=>e.replace(/^[\t\f\r ]*?\n/g,""))(cS(e)),splitByHtmlWhitespace:e=>e.split(/[\t\n\f\r ]+/),hasHtmlWhitespace:e=>/[\t\n\f\r ]/.test(e),getLeadingAndTrailingHtmlWhitespace:e=>{const[,t,n,r]=e.match(/^([\t\n\f\r ]*)([\S\s]*?)([\t\n\f\r ]*)$/);return{leadingWhitespace:t,trailingWhitespace:r,text:n}},canHaveInterpolation:function(e){return e.children&&!mS(e)},countChars:function(e,t){let n=0;for(let r=0;r=0;r--){const o=e.stack[r];o&&"object"==typeof o&&!Array.isArray(o)&&t(o)&&n++}return n},dedentString:function(e,t=function(e){let t=1/0;for(const n of e.split("\n")){if(0===n.length)continue;if(!lS.has(n[0]))return 0;const e=pS(n).length;n.length!==e&&ee.slice(t))).join("\n")},forceBreakChildren:DS,forceBreakContent:function(e){return DS(e)||"element"===e.type&&0!==e.children.length&&(["body","script","style"].includes(e.name)||e.children.some((e=>function(e){return e.children&&e.children.some((e=>"text"!==e.type))}(e))))||e.firstChild&&e.firstChild===e.lastChild&&"text"!==e.firstChild.type&&CS(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||bS(e.lastChild))},forceNextEmptyLine:function(e){return nS(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+1"svg:foreignObject"===e.fullName)))return"svg"===e.name?"inline-block":"block";n=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"vue"===t.parser&&e.parent&&"root"===e.parent.type?"block":"element"===e.type&&(!e.namespace||n||SS(e))&&rS[e.name]||oS}},getNodeCssStyleWhiteSpace:wS,getPrettierIgnoreAttributeCommentData:function(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\s+/))},hasPrettierIgnore:hS,inferScriptParser:function(e,t){return"script"!==e.name||e.attrMap.src?"style"===e.name?function(e){const{lang:t}=e.attrMap;return t&&"postcss"!==t&&"css"!==t?"scss"===t?"scss":"less"===t?"less":void 0:"css"}(e):t&&kS(e,t)?AS(e)||!("src"in e.attrMap)&&tS(e.attrMap.lang,t):void 0:e.attrMap.lang||e.attrMap.type?AS(e):"babel"},isVueCustomBlock:BS,isVueNonHtmlBlock:kS,isVueSlotAttribute:function(e){const t=e.fullName;return"#"===t.charAt(0)||"slot-scope"===t||"v-slot"===t||t.startsWith("v-slot:")},isVueSfcBindingsAttribute:function(e,t){const n=e.parent;if(!NS(n,t))return!1;const r=n.fullName,o=e.fullName;return"script"===r&&"setup"===o||"style"===r&&"vars"===o},isDanglingSpaceSensitiveNode:function(e){return!(t=e.cssDisplay,FS(t)||"inline-block"===t||mS(e));var t},isIndentationSensitiveNode:gS,isLeadingSpaceSensitiveNode:function(e,t){const n=function(){if(nS(e))return!1;if(("text"===e.type||"interpolation"===e.type)&&e.prev&&("text"===e.prev.type||"interpolation"===e.prev.type))return!0;if(!e.parent||"none"===e.parent.cssDisplay)return!1;if(xS(e.parent))return!0;if(!e.prev&&("root"===e.parent.type||xS(e)&&e.parent||mS(e.parent)||BS(e.parent,t)||(n=e.parent.cssDisplay,FS(n)||"inline-block"===n)))return!1;var n;if(e.prev&&!function(e){return!FS(e)}(e.prev.cssDisplay))return!1;return!0}();return n&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:n},isPreLikeNode:xS,isScriptLikeTag:mS,isTextLikeNode:function(e){return"text"===e.type||"comment"===e.type},isTrailingSpaceSensitiveNode:function(e,t){return!nS(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!xS(e.parent)||!(!e.next&&("root"===e.parent.type||xS(e)&&e.parent||mS(e.parent)||BS(e.parent,t)||(n=e.parent.cssDisplay,FS(n)||"inline-block"===n)))&&!(e.next&&!function(e){return!FS(e)}(e.next.cssDisplay))));var n},isWhitespaceSensitiveNode:function(e){return mS(e)||"interpolation"===e.type||gS(e)},isUnknownNamespace:SS,preferHardlineAsLeadingSpaces:function(e){return vS(e)||e.prev&&yS(e.prev)||ES(e)},preferHardlineAsTrailingSpaces:yS,shouldNotPrintClosingTag:function(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(hS(e)||fS(e.parent,t))},shouldPreserveContent:fS,unescapeQuoteEntities:function(e){return e.replace(/'/g,"'").replace(/"/g,'"')}},OS=je((function(e,t){function n(e){return t.$0<=e&&e<=t.$9} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0}),t.$EOF=0,t.$BSPACE=8,t.$TAB=9,t.$LF=10,t.$VTAB=11,t.$FF=12,t.$CR=13,t.$SPACE=32,t.$BANG=33,t.$DQ=34,t.$HASH=35,t.$$=36,t.$PERCENT=37,t.$AMPERSAND=38,t.$SQ=39,t.$LPAREN=40,t.$RPAREN=41,t.$STAR=42,t.$PLUS=43,t.$COMMA=44,t.$MINUS=45,t.$PERIOD=46,t.$SLASH=47,t.$COLON=58,t.$SEMICOLON=59,t.$LT=60,t.$EQ=61,t.$GT=62,t.$QUESTION=63,t.$0=48,t.$7=55,t.$9=57,t.$A=65,t.$E=69,t.$F=70,t.$X=88,t.$Z=90,t.$LBRACKET=91,t.$BACKSLASH=92,t.$RBRACKET=93,t.$CARET=94,t.$_=95,t.$a=97,t.$b=98,t.$e=101,t.$f=102,t.$n=110,t.$r=114,t.$t=116,t.$u=117,t.$v=118,t.$x=120,t.$z=122,t.$LBRACE=123,t.$BAR=124,t.$RBRACE=125,t.$NBSP=160,t.$PIPE=124,t.$TILDA=126,t.$AT=64,t.$BT=96,t.isWhitespace=function(e){return e>=t.$TAB&&e<=t.$SPACE||e==t.$NBSP},t.isDigit=n,t.isAsciiLetter=function(e){return e>=t.$a&&e<=t.$z||e>=t.$A&&e<=t.$Z},t.isAsciiHexDigit=function(e){return e>=t.$a&&e<=t.$f||e>=t.$A&&e<=t.$F||n(e)},t.isNewLine=function(e){return e===t.$LF||e===t.$CR},t.isOctalDigit=function(e){return t.$0<=e&&e<=t.$7}})),IS=je((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e,t,n){this.filePath=e,this.name=t,this.members=n}assertNoMembers(){if(this.members.length)throw new Error("Illegal state: symbol without members expected, but got ".concat(JSON.stringify(this),"."))}}t.StaticSymbol=n;t.StaticSymbolCache=class{constructor(){this.cache=new Map}get(e,t,r){const o=(r=r||[]).length?".".concat(r.join(".")):"",u='"'.concat(e,'".').concat(t).concat(o);let i=this.cache.get(u);return i||(i=new n(e,t,r),this.cache.set(u,i)),i}}})),LS=je((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});const n=/-+([a-z0-9])/g;function r(e,t,n){const r=e.indexOf(t);return-1==r?n:[e.slice(0,r).trim(),e.slice(r+1).trim()]}function o(e,t,n){return Array.isArray(e)?t.visitArray(e,n):"object"==typeof(r=e)&&null!==r&&Object.getPrototypeOf(r)===a?t.visitStringMap(e,n):null==e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e?t.visitPrimitive(e,n):t.visitOther(e,n);var r}t.dashCaseToCamelCase=function(e){return e.replace(n,((...e)=>e[1].toUpperCase()))},t.splitAtColon=function(e,t){return r(e,":",t)},t.splitAtPeriod=function(e,t){return r(e,".",t)},t.visitValue=o,t.isDefined=function(e){return null!=e},t.noUndefined=function(e){return void 0===e?null:e};t.ValueTransformer=class{visitArray(e,t){return e.map((e=>o(e,this,t)))}visitStringMap(e,t){const n={};return Object.keys(e).forEach((r=>{n[r]=o(e[r],this,t)})),n}visitPrimitive(e,t){return e}visitOther(e,t){return e}},t.SyncAsync={assertSync:e=>{if(s(e))throw new Error("Illegal state: value cannot be a promise");return e},then:(e,t)=>s(e)?e.then(t):t(e),all:e=>e.some(s)?Promise.all(e):e},t.error=function(e){throw new Error("Internal Error: ".concat(e))},t.syntaxError=function(e,t){const n=Error(e);return n[u]=!0,t&&(n[i]=t),n};const u="ngSyntaxError",i="ngParseErrors";t.isSyntaxError=function(e){return e[u]},t.getParseErrors=function(e){return e[i]||[]},t.escapeRegExp=function(e){return e.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")};const a=Object.getPrototypeOf({});function s(e){return!!e&&"function"==typeof e.then}t.utf8Encode=function(e){let t="";for(let n=0;n=55296&&r<=56319&&e.length>n+1){const t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(n++,r=(r-55296<<10)+t-56320+65536)}r<=127?t+=String.fromCharCode(r):r<=2047?t+=String.fromCharCode(r>>6&31|192,63&r|128):r<=65535?t+=String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128):r<=2097151&&(t+=String.fromCharCode(r>>18&7|240,r>>12&63|128,r>>6&63|128,63&r|128))}return t},t.stringify=function e(t){if("string"==typeof t)return t;if(t instanceof Array)return"["+t.map(e).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return"".concat(t.overriddenName);if(t.name)return"".concat(t.name);if(!t.toString)return"object";const n=t.toString();if(null==n)return""+n;const r=n.indexOf("\n");return-1===r?n:n.substring(0,r)},t.resolveForwardRef=function(e){return"function"==typeof e&&e.hasOwnProperty("__forward_ref__")?e():e},t.isPromise=s;t.Version=class{constructor(e){this.full=e;const t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};const l="undefined"!=typeof window&&window,c="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,p=void 0!==Me&&Me||l||c;t.global=p})),MS=je((function(e,t){ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Object.defineProperty(t,"__esModule",{value:!0});const n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function r(e){return e.replace(/\W/g,"_")}t.sanitizeIdentifier=r;let o=0;function u(e){if(!e||!e.reference)return null;const t=e.reference;if(t instanceof IS.StaticSymbol)return t.name;if(t.__anonymousType)return t.__anonymousType;let n=LS.stringify(t);return n.indexOf("(")>=0?(n="anonymous_".concat(o++),t.__anonymousType=n):n=r(n),n}var i;t.identifierName=u,t.identifierModuleUrl=function(e){const t=e.reference;return t instanceof IS.StaticSymbol?t.filePath:"./".concat(LS.stringify(t))},t.viewClassName=function(e,t){return"View_".concat(u({reference:e}),"_").concat(t)},t.rendererTypeName=function(e){return"RenderType_".concat(u({reference:e}))},t.hostViewClassName=function(e){return"HostView_".concat(u({reference:e}))},t.componentFactoryName=function(e){return"".concat(u({reference:e}),"NgFactory")},function(e){e[e.Pipe=0]="Pipe",e[e.Directive=1]="Directive",e[e.NgModule=2]="NgModule",e[e.Injectable=3]="Injectable"}(i=t.CompileSummaryKind||(t.CompileSummaryKind={})),t.tokenName=function(e){return null!=e.value?r(e.value):u(e.identifier)},t.tokenReference=function(e){return null!=e.identifier?e.identifier.reference:e.value};t.CompileStylesheetMetadata=class{constructor({moduleUrl:e,styles:t,styleUrls:n}={}){this.moduleUrl=e||null,this.styles=s(t),this.styleUrls=s(n)}};t.CompileTemplateMetadata=class{constructor({encapsulation:e,template:t,templateUrl:n,htmlAst:r,styles:o,styleUrls:u,externalStylesheets:i,animations:a,ngContentSelectors:c,interpolation:p,isInline:d,preserveWhitespaces:f}){if(this.encapsulation=e,this.template=t,this.templateUrl=n,this.htmlAst=r,this.styles=s(o),this.styleUrls=s(u),this.externalStylesheets=s(i),this.animations=a?l(a):[],this.ngContentSelectors=c||[],p&&2!=p.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=p,this.isInline=d,this.preserveWhitespaces=f}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};class a{static create({isHost:e,type:t,isComponent:r,selector:o,exportAs:u,changeDetection:i,inputs:s,outputs:l,host:c,providers:p,viewProviders:d,queries:f,guards:h,viewQueries:m,entryComponents:g,template:D,componentViewType:y,rendererType:E,componentFactory:C}){const b={},v={},A={};null!=c&&Object.keys(c).forEach((e=>{const t=c[e],r=e.match(n);null===r?A[e]=t:null!=r[1]?v[r[1]]=t:null!=r[2]&&(b[r[2]]=t)}));const F={};null!=s&&s.forEach((e=>{const t=LS.splitAtColon(e,[e,e]);F[t[0]]=t[1]}));const x={};return null!=l&&l.forEach((e=>{const t=LS.splitAtColon(e,[e,e]);x[t[0]]=t[1]})),new a({isHost:e,type:t,isComponent:!!r,selector:o,exportAs:u,changeDetection:i,inputs:F,outputs:x,hostListeners:b,hostProperties:v,hostAttributes:A,providers:p,viewProviders:d,queries:f,guards:h,viewQueries:m,entryComponents:g,template:D,componentViewType:y,rendererType:E,componentFactory:C})}constructor({isHost:e,type:t,isComponent:n,selector:r,exportAs:o,changeDetection:u,inputs:i,outputs:a,hostListeners:l,hostProperties:c,hostAttributes:p,providers:d,viewProviders:f,queries:h,guards:m,viewQueries:g,entryComponents:D,template:y,componentViewType:E,rendererType:C,componentFactory:b}){this.isHost=!!e,this.type=t,this.isComponent=n,this.selector=r,this.exportAs=o,this.changeDetection=u,this.inputs=i,this.outputs=a,this.hostListeners=l,this.hostProperties=c,this.hostAttributes=p,this.providers=s(d),this.viewProviders=s(f),this.queries=s(h),this.guards=m,this.viewQueries=s(g),this.entryComponents=s(D),this.template=y,this.componentViewType=E,this.rendererType=C,this.componentFactory=b}toSummary(){return{summaryKind:i.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}}t.CompileDirectiveMetadata=a;t.CompilePipeMetadata=class{constructor({type:e,name:t,pure:n}){this.type=e,this.name=t,this.pure=!!n}toSummary(){return{summaryKind:i.Pipe,type:this.type,name:this.name,pure:this.pure}}};t.CompileShallowModuleMetadata=class{};t.CompileNgModuleMetadata=class{constructor({type:e,providers:t,declaredDirectives:n,exportedDirectives:r,declaredPipes:o,exportedPipes:u,entryComponents:i,bootstrapComponents:a,importedModules:l,exportedModules:c,schemas:p,transitiveModule:d,id:f}){this.type=e||null,this.declaredDirectives=s(n),this.exportedDirectives=s(r),this.declaredPipes=s(o),this.exportedPipes=s(u),this.providers=s(t),this.entryComponents=s(i),this.bootstrapComponents=s(a),this.importedModules=s(l),this.exportedModules=s(c),this.schemas=s(p),this.id=f||null,this.transitiveModule=d||null}toSummary(){const e=this.transitiveModule;return{summaryKind:i.NgModule,type:this.type,entryComponents:e.entryComponents,providers:e.providers,modules:e.modules,exportedDirectives:e.exportedDirectives,exportedPipes:e.exportedPipes}}};function s(e){return e||[]}t.TransitiveCompileNgModuleMetadata=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(e,t){this.providers.push({provider:e,module:t})}addDirective(e){this.directivesSet.has(e.reference)||(this.directivesSet.add(e.reference),this.directives.push(e))}addExportedDirective(e){this.exportedDirectivesSet.has(e.reference)||(this.exportedDirectivesSet.add(e.reference),this.exportedDirectives.push(e))}addPipe(e){this.pipesSet.has(e.reference)||(this.pipesSet.add(e.reference),this.pipes.push(e))}addExportedPipe(e){this.exportedPipesSet.has(e.reference)||(this.exportedPipesSet.add(e.reference),this.exportedPipes.push(e))}addModule(e){this.modulesSet.has(e.reference)||(this.modulesSet.add(e.reference),this.modules.push(e))}addEntryComponent(e){this.entryComponentsSet.has(e.componentType)||(this.entryComponentsSet.add(e.componentType),this.entryComponents.push(e))}};function l(e){return e.reduce(((e,t)=>{const n=Array.isArray(t)?l(t):t;return e.concat(n)}),[])}function c(e){return e.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}t.ProviderMeta=class{constructor(e,{useClass:t,useValue:n,useExisting:r,useFactory:o,deps:u,multi:i}){this.token=e,this.useClass=t||null,this.useValue=n,this.useExisting=r,this.useFactory=o||null,this.dependencies=u||null,this.multi=!!i}},t.flatten=l,t.templateSourceUrl=function(e,t,n){let r;return r=n.isInline?t.type.reference instanceof IS.StaticSymbol?"".concat(t.type.reference.filePath,".").concat(t.type.reference.name,".html"):"".concat(u(e),"/").concat(u(t.type),".html"):n.templateUrl,t.type.reference instanceof IS.StaticSymbol?r:c(r)},t.sharedStylesheetJitUrl=function(e,t){const n=e.moduleUrl.split(/\/\\/g),r=n[n.length-1];return c("css/".concat(t).concat(r,".ngstyle.js"))},t.ngModuleJitUrl=function(e){return c("".concat(u(e.type),"/module.ngfactory.js"))},t.templateJitUrl=function(e,t){return c("".concat(u(e),"/").concat(u(t.type),".ngfactory.js"))}})),jS=je((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -class n{constructor(e,t,n,r){this.file=e,this.offset=t,this.line=n,this.col=r}toString(){return null!=this.offset?"".concat(this.file.url,"@").concat(this.line,":").concat(this.col):this.file.url}moveBy(e){const t=this.file.content,r=t.length;let o=this.offset,u=this.line,i=this.col;for(;o>0&&e<0;){o--,e++;if(t.charCodeAt(o)==OS.$LF){u--;const e=t.substr(0,o-1).lastIndexOf(String.fromCharCode(OS.$LF));i=e>0?o-e:o}else i--}for(;o0;){const n=t.charCodeAt(o);o++,e--,n==OS.$LF?(u++,i=0):i++}return new n(this.file,o,u,i)}getContext(e,t){const n=this.file.content;let r=this.offset;if(null!=r){r>n.length-1&&(r=n.length-1);let o=r,u=0,i=0;for(;u0&&(r--,u++,"\n"!=n[r]||++i!=t););for(u=0,i=0;u]").concat(e.after,'")'):this.msg}toString(){const e=this.span.details?", ".concat(this.span.details):"";return"".concat(this.contextualMessage(),": ").concat(this.span.start).concat(e)}},t.typeSourceSpan=function(e,t){const u=MS.identifierModuleUrl(t),i=null!=u?"in ".concat(e," ").concat(MS.identifierName(t)," in ").concat(u):"in ".concat(e," ").concat(MS.identifierName(t)),a=new r("",i);return new o(new n(a,-1,-1,-1),new n(a,-1,-1,-1))},t.r3JitTypeSourceSpan=function(e,t,u){const i="in ".concat(e," ").concat(t," in ").concat(u),a=new r("",i);return new o(new n(a,-1,-1,-1),new n(a,-1,-1,-1))}}));const{ParseSourceSpan:_S}=jS,{htmlTrim:RS,getLeadingAndTrailingHtmlWhitespace:VS,hasHtmlWhitespace:$S,canHaveInterpolation:qS,getNodeCssStyleDisplay:WS,isDanglingSpaceSensitiveNode:US,isIndentationSensitiveNode:JS,isLeadingSpaceSensitiveNode:zS,isTrailingSpaceSensitiveNode:GS,isWhitespaceSensitiveNode:HS}=PS,XS=[function(e){return e.map((e=>{if("element"===e.type&&e.tagDefinition.ignoreFirstLf&&0!==e.children.length&&"text"===e.children[0].type&&"\n"===e.children[0].value[0]){const[t,...n]=e.children;return e.clone({children:1===t.value.length?n:[t.clone({value:t.value.slice(1)}),...n]})}return e}))},function(e){const t=e=>"element"===e.type&&e.prev&&"ieConditionalStartComment"===e.prev.type&&e.prev.sourceSpan.end.offset===e.startSourceSpan.start.offset&&e.firstChild&&"ieConditionalEndComment"===e.firstChild.type&&e.firstChild.sourceSpan.start.offset===e.startSourceSpan.end.offset;return e.map((e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r{if(e.children){const r=e.children.map(t);if(r.some(Boolean)){const t=[];for(let o=0;o"cdata"===e.type),(e=>"")))},function(e,t){if("html"===t.parser)return e;const n=/{{([\S\s]+?)}}/g;return e.map((e=>{if(!qS(e))return e;const t=[];for(const r of e.children){if("text"!==r.type){t.push(r);continue}let e=r.sourceSpan.start,o=null;const u=r.value.split(n);for(let n=0;n{if(!e.children)return e;if(0===e.children.length||1===e.children.length&&"text"===e.children[0].type&&0===RS(e.children[0].value).length)return e.clone({children:[],hasDanglingSpaces:0!==e.children.length});const n=HS(e),r=JS(e);return e.clone({isWhitespaceSensitive:n,isIndentationSensitive:r,children:e.children.reduce(((e,r)=>{if("text"!==r.type||n)return e.concat(r);const o=[],{leadingWhitespace:u,text:i,trailingWhitespace:a}=VS(r.value);return u&&o.push({type:t}),i&&o.push({type:"text",value:i,sourceSpan:new _S(r.sourceSpan.start.moveBy(u.length),r.sourceSpan.end.moveBy(-a.length))}),a&&o.push({type:t}),e.concat(o)}),[]).reduce(((e,n,r,o)=>{if(n.type===t)return e;const u=0!==r&&o[r-1].type===t,i=r!==o.length-1&&o[r+1].type===t;return e.concat(Object.assign({},n,{hasLeadingSpaces:u,hasTrailingSpaces:i}))}),[])})}))},function(e,t){return e.map((e=>Object.assign(e,{cssDisplay:WS(e,t)})))},function(e){return e.map((e=>Object.assign(e,{isSelfClosing:!e.children||"element"===e.type&&(e.tagDefinition.isVoid||e.startSourceSpan===e.endSourceSpan)})))},function(e,t){return e.map((e=>"element"!==e.type?e:Object.assign(e,{hasHtmComponentClosingTag:e.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(t.originalText.slice(e.endSourceSpan.start.offset,e.endSourceSpan.end.offset))})))},function(e,t){return e.map((e=>e.children?0===e.children.length?e.clone({isDanglingSpaceSensitive:US(e)}):e.clone({children:e.children.map((e=>Object.assign({},e,{isLeadingSpaceSensitive:zS(e,t),isTrailingSpaceSensitive:GS(e,t)}))).map(((e,t,n)=>Object.assign({},e,{isLeadingSpaceSensitive:(0===t||n[t-1].isTrailingSpaceSensitive)&&e.isLeadingSpaceSensitive,isTrailingSpaceSensitive:(t===n.length-1||n[t+1].isLeadingSpaceSensitive)&&e.isTrailingSpaceSensitive})))}):e))},function(e){const t=e=>"element"===e.type&&0===e.attrs.length&&1===e.children.length&&"text"===e.firstChild.type&&!$S(e.children[0].value)&&!e.firstChild.hasLeadingSpaces&&!e.firstChild.hasTrailingSpaces&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces&&e.prev&&"text"===e.prev.type&&e.next&&"text"===e.next.type;return e.map((e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r")+o.firstChild.value+"")+u.value,sourceSpan:new _S(n.sourceSpan.start,u.sourceSpan.end),isTrailingSpaceSensitive:i,hasTrailingSpaces:a}))}else t.push(o)}return e.clone({children:t})}}return e}))}];var YS=function(e,t){for(const n of XS)e=n(e,t);return e};var KS={hasPragma:function(e){return/^\s*/.test(e)},insertPragma:function(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}};var QS={locStart:function(e){return e.sourceSpan.start.offset},locEnd:function(e){return e.sourceSpan.end.offset}};const{builders:{concat:ZS,group:ew}}=rn;var tw={isVueEventBindingExpression:function(e){const t=e.trim();return/^([\w$]+|\([^)]*?\))\s*=>|^function\s*\(/.test(t)||/^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/.test(t)},printVueFor:function(e,t){const{left:n,operator:r,right:o}=function(e){const t=/([^]*?)\s+(in|of)\s+([^]*)/,n=/,([^,\]}]*)(?:,([^,\]}]*))?$/,r=/^\(|\)$/g,o=e.match(t);if(!o)return;const u={};u.for=o[3].trim();const i=o[1].trim().replace(r,""),a=i.match(n);a?(u.alias=i.replace(n,""),u.iterator1=a[1].trim(),a[2]&&(u.iterator2=a[2].trim())):u.alias=i;return{left:"".concat([u.alias,u.iterator1,u.iterator2].filter(Boolean).join(",")),operator:o[2],right:u.for}}(e);return ZS([ew(t("function _(".concat(n,") {}"),{parser:"babel",__isVueForBindingLeft:!0}))," ",r," ",t(o,{parser:"__js_expression"},{stripTrailingHardline:!0})])},printVueBindings:function(e,t){return t("function _(".concat(e,") {}"),{parser:"babel",__isVueBindings:!0},{stripTrailingHardline:!0})}},nw=je((function(e){!function(t,n){e.exports?e.exports=n():t.parseSrcset=n()}(Me,(function(){return function(e,t){var n=t&&t.logger||console;function r(e){return" "===e||"\t"===e||"\n"===e||"\f"===e||"\r"===e}function o(t){var n,r=t.exec(e.substring(D));if(r)return n=r[0],D+=n.length,n}for(var u,i,a,s,l,c=e.length,p=/^[ \t\n\r\u000c]+/,d=/^[, \t\n\r\u000c]+/,f=/^[^ \t\n\r\u000c]+/,h=/[,]+$/,m=/^\d+$/,g=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,D=0,y=[];;){if(o(d),D>=c)return y;u=o(f),i=[],","===u.slice(-1)?(u=u.replace(h,""),C()):E()}function E(){for(o(p),a="",s="in descriptor";;){if(l=e.charAt(D),"in descriptor"===s)if(r(l))a&&(i.push(a),a="",s="after descriptor");else{if(","===l)return D+=1,a&&i.push(a),void C();if("("===l)a+=l,s="in parens";else{if(""===l)return a&&i.push(a),void C();a+=l}}else if("in parens"===s)if(")"===l)a+=l,s="in descriptor";else{if(""===l)return i.push(a),void C();a+=l}else if("after descriptor"===s)if(r(l));else{if(""===l)return void C();s="in descriptor",D-=1}D+=1}}function C(){var t,r,o,a,s,l,c,p,d,f=!1,h={};for(a=0;ae)),r=t.some((({h:e})=>e));if(n+r+t.some((({d:e})=>e))>1)throw new Error("Mixed descriptor in srcset is not supported");const o=n?"w":r?"h":"d",u=n?"w":r?"h":"x",i=e=>Math.max(...e),a=t.map((e=>e.url)),s=i(a.map((e=>e.length))),l=t.map((e=>e[o])).map((e=>e?e.toString():"")),c=l.map((e=>{const t=e.indexOf(".");return-1===t?e.length:t})),p=i(c);return uw(rw([",",iw]),a.map(((e,t)=>{const n=[e],r=l[t];if(r){const o=s-e.length+1,i=p-c[t],a=" ".repeat(o+i);n.push(ow(a," "),r+u)}return rw(n)})))},printClassNames:function(e){return e.trim().split(/\s+/).join(" ")}};const{builders:sw,utils:{mapDoc:lw,normalizeParts:cw}}=rn,{replaceEndOfLineWith:pw}=Nt,{print:dw}=XC,{breakParent:fw,dedentToRoot:hw,fill:mw,group:gw,hardline:Dw,ifBreak:yw,indent:Ew,join:Cw,line:bw,literalline:vw,softline:Aw}=sw,{htmlTrimPreserveIndentation:Fw,splitByHtmlWhitespace:xw,countChars:Sw,countParents:ww,dedentString:Tw,forceBreakChildren:Bw,forceBreakContent:Nw,forceNextEmptyLine:kw,getLastDescendant:Pw,getPrettierIgnoreAttributeCommentData:Ow,hasPrettierIgnore:Iw,inferScriptParser:Lw,isVueCustomBlock:Mw,isVueNonHtmlBlock:jw,isVueSlotAttribute:_w,isVueSfcBindingsAttribute:Rw,isScriptLikeTag:Vw,isTextLikeNode:$w,preferHardlineAsLeadingSpaces:qw,shouldNotPrintClosingTag:Ww,shouldPreserveContent:Uw,unescapeQuoteEntities:Jw,isPreLikeNode:zw}=PS,{insertPragma:Gw}=KS,{locStart:Hw,locEnd:Xw}=QS,{printVueFor:Yw,printVueBindings:Kw,isVueEventBindingExpression:Qw}=tw,{printImgSrcset:Zw,printClassNames:eT}=aw;function tT(e){const t=cw(e);return 0===t.length?"":1===t.length?t[0]:sw.concat(t)}function nT(e,t,n){const r=e.getValue();if(Bw(r))return tT([fw,tT(e.map((e=>{const t=e.getValue(),n=t.prev?i(t.prev,t):"";return tT([n?tT([n,kw(t.prev)?Dw:""]):"",u(e)])}),"children"))]);const o=r.children.map((()=>Symbol("")));return tT(e.map(((e,t)=>{const n=e.getValue();if($w(n)){if(n.prev&&$w(n.prev)){const t=i(n.prev,n);if(t)return kw(n.prev)?tT([Dw,Dw,u(e)]):tT([t,u(e)])}return u(e)}const r=[],a=[],s=[],l=[],c=n.prev?i(n.prev,n):"",p=n.next?i(n,n.next):"";return c&&(kw(n.prev)?r.push(Dw,Dw):c===Dw?r.push(Dw):$w(n.prev)?a.push(c):a.push(yw("",Aw,{groupId:o[t-1]}))),p&&(kw(n)?$w(n.next)&&l.push(Dw,Dw):p===Dw?$w(n.next)&&l.push(Dw):s.push(p)),tT([].concat(r,gw(tT([tT(a),gw(tT([u(e),tT(s)]),{id:o[t]})])),l))}),"children"));function u(e){const r=e.getValue();return Iw(r)?tT([].concat(gT(r,t),pw(t.originalText.slice(Hw(r)+(r.prev&&pT(r.prev)?ET(r).length:0),Xw(r)-(r.next&&fT(r.next)?vT(r,t).length:0)),vw),yT(r,t))):n(e)}function i(e,t){return $w(e)&&$w(t)?e.isTrailingSpaceSensitive?e.hasTrailingSpaces?qw(t)?Dw:bw:"":qw(t)?Dw:Aw:pT(e)&&(Iw(t)||t.firstChild||t.isSelfClosing||"element"===t.type&&0!==t.attrs.length)||"element"===e.type&&e.isSelfClosing&&fT(t)?"":!t.isLeadingSpaceSensitive||qw(t)||fT(t)&&e.lastChild&&mT(e.lastChild)&&e.lastChild.lastChild&&mT(e.lastChild.lastChild)?Dw:t.hasLeadingSpaces?bw:Aw}}function rT(e,t){let n=e.startSourceSpan.end.offset;e.firstChild&&dT(e.firstChild)&&(n-=CT(e).length);let r=e.endSourceSpan.start.offset;return e.lastChild&&mT(e.lastChild)?r+=bT(e,t).length:hT(e)&&(r-=vT(e.lastChild,t).length),t.originalText.slice(n,r)}function oT(e,t,n){const r=e.getValue();if(!r.attrs||0===r.attrs.length)return r.isSelfClosing?" ":"";const o=r.prev&&"comment"===r.prev.type&&Ow(r.prev.value),u="boolean"==typeof o?()=>o:Array.isArray(o)?e=>o.includes(e.rawName):()=>!1,i=e.map((e=>{const r=e.getValue();return u(r)?tT(pw(t.originalText.slice(Hw(r),Xw(r)),vw)):n(e)}),"attrs"),a="element"===r.type&&"script"===r.fullName&&1===r.attrs.length&&"src"===r.attrs[0].fullName&&0===r.children.length,s=[Ew(tT([a?" ":bw,Cw(bw,i)]))];return r.firstChild&&dT(r.firstChild)||r.isSelfClosing&&hT(r.parent)||a?s.push(r.isSelfClosing?" ":""):s.push(r.isSelfClosing?bw:Aw),tT(s)}function uT(e,t,n){const r=e.getValue();return tT([iT(r,t),oT(e,t,n),r.isSelfClosing?"":aT(r)])}function iT(e,t){return e.prev&&pT(e.prev)?"":tT([gT(e,t),ET(e)])}function aT(e){return e.firstChild&&dT(e.firstChild)?"":CT(e)}function sT(e,t){return tT([e.isSelfClosing?"":lT(e,t),cT(e,t)])}function lT(e,t){return e.lastChild&&mT(e.lastChild)?"":tT([DT(e,t),bT(e,t)])}function cT(e,t){return(e.next?fT(e.next):hT(e.parent))?"":tT([vT(e,t),yT(e,t)])}function pT(e){return e.next&&!$w(e.next)&&$w(e)&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces}function dT(e){return!e.prev&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function fT(e){return e.prev&&"docType"!==e.prev.type&&!$w(e.prev)&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function hT(e){return e.lastChild&&e.lastChild.isTrailingSpaceSensitive&&!e.lastChild.hasTrailingSpaces&&!$w(Pw(e.lastChild))&&!zw(e)}function mT(e){return!e.next&&!e.hasTrailingSpaces&&e.isTrailingSpaceSensitive&&$w(Pw(e))}function gT(e,t){return dT(e)?CT(e.parent):fT(e)?vT(e.prev,t):""}function DT(e,t){return hT(e)?vT(e.lastChild,t):""}function yT(e,t){return mT(e)?bT(e.parent,t):pT(e)?ET(e.next):""}function ET(e){switch(e.type){case"ieConditionalComment":case"ieConditionalStartComment":return"\x3c!--[if ".concat(e.condition);case"ieConditionalEndComment":return"\x3c!--\x3c!--\x3e<").concat(e.rawName);default:return"<".concat(e.rawName)}}function CT(e){switch(Xi(!e.isSelfClosing),e.type){case"ieConditionalComment":return"]>";case"element":if(e.condition)return">\x3c!--"}}function bT(e,t){if(Xi(!e.isSelfClosing),Ww(e,t))return"";switch(e.type){case"ieConditionalComment":return"\x3c!--\x3e";case"interpolation":return"}}";case"element":if(e.isSelfClosing)return"/>";default:return">"}}function AT(e,t=e.value){return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?pw(t,vw):pw(Tw(Fw(t)),Dw):Cw(bw,xw(t)).parts}var FT={preprocess:YS,print:function(e,t,n){const r=e.getValue();switch(r.type){case"front-matter":return tT(pw(r.raw,vw));case"root":return t.__onHtmlRoot&&t.__onHtmlRoot(r),sw.concat([gw(nT(e,t,n)),Dw]);case"element":case"ieConditionalComment":{if(Uw(r,t))return tT([].concat(gT(r,t),gw(uT(e,t,n)),pw(rT(r,t),vw),sT(r,t),yT(r,t)));const u=1===r.children.length&&"interpolation"===r.firstChild.type&&r.firstChild.isLeadingSpaceSensitive&&!r.firstChild.hasLeadingSpaces&&r.lastChild.isTrailingSpaceSensitive&&!r.lastChild.hasTrailingSpaces,i=Symbol("element-attr-group-id");return tT([gw(tT([gw(uT(e,t,n),{id:i}),0===r.children.length?r.hasDanglingSpaces&&r.isDanglingSpaceSensitive?bw:"":tT([Nw(r)?fw:"",(o=tT([u?yw(Aw,"",{groupId:i}):r.firstChild.hasLeadingSpaces&&r.firstChild.isLeadingSpaceSensitive?bw:"text"===r.firstChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive?hw(Aw):Aw,nT(e,t,n)]),u?yw(Ew(o),o,{groupId:i}):!Vw(r)&&!Mw(r,t)||"root"!==r.parent.type||"vue"!==t.parser||t.vueIndentScriptAndStyle?Ew(o):o),(r.next?fT(r.next):hT(r.parent))?r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?" ":"":u?yw(Aw,"",{groupId:i}):r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?bw:("comment"===r.lastChild.type||"text"===r.lastChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive)&&new RegExp("\\n[\\t ]{".concat(t.tabWidth*ww(e,(e=>e.parent&&"root"!==e.parent.type)),"}$")).test(r.lastChild.value)?"":Aw])])),sT(r,t)])}case"ieConditionalStartComment":case"ieConditionalEndComment":return tT([iT(r),cT(r)]);case"interpolation":return tT([iT(r,t),tT(e.map(n,"children")),cT(r,t)]);case"text":if("interpolation"===r.parent.type){const e=/\n[^\S\n]*?$/,t=e.test(r.value),n=t?r.value.replace(e,""):r.value;return tT([tT(pw(n,vw)),t?Dw:""])}return mw(cw([].concat(gT(r,t),AT(r),yT(r,t))));case"docType":return tT([gw(tT([iT(r,t)," ",r.value.replace(/^html\b/i,"html").replace(/\s+/g," ")])),cT(r,t)]);case"comment":return tT([gT(r,t),tT(pw(t.originalText.slice(Hw(r),Xw(r)),vw)),yT(r,t)]);case"attribute":{if(null===r.value)return r.rawName;const e=Jw(r.value),t=Sw(e,"'")Jw(e.value);let u=!1;const i=(e,t)=>{const n="NGRoot"===e.type?"NGMicrosyntax"===e.node.type&&1===e.node.body.length&&"NGMicrosyntaxExpression"===e.node.body[0].type?e.node.body[0].expression:e.node:"JsExpressionRoot"===e.type?e.node:e;!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&("__vue_expression"!==t.parser||"TemplateLiteral"!==n.type&&"StringLiteral"!==n.type)||(u=!0)},a=e=>gw(e),s=(e,t=!0)=>gw(tT([Ew(tT([Aw,e])),t?Aw:""])),l=e=>u?a(e):s(e),c=(e,n)=>t(e,Object.assign({__onHtmlBindingRoot:i},n),{stripTrailingHardline:!0});if("srcset"===e.fullName&&("img"===e.parent.fullName||"source"===e.parent.fullName))return s(Zw(o()));if("class"===e.fullName&&!n.parentParser){const e=o();if(!e.includes("{{"))return eT(e)}if("style"===e.fullName&&!n.parentParser){const e=o();if(!e.includes("{{"))return s(c(e,{parser:"css",__isHTMLStyleAttribute:!0}))}if("vue"===n.parser){if("v-for"===e.fullName)return Yw(o(),c);if(_w(e)||Rw(e,n))return Kw(o(),c);const t=["^:","^v-bind:"],u=["^v-"];if(r(["^@","^v-on:"])){const e=o();return l(c(e,{parser:Qw(e)?"__js_expression":"__vue_event_binding"}))}if(r(t))return l(c(o(),{parser:"__vue_expression"}));if(r(u))return l(c(o(),{parser:"__js_expression"}))}if("angular"===n.parser){const t=(e,t)=>c(e,Object.assign({},t,{trailingComma:"none"})),n=["^\\*"],u=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],i=["^i18n(-.+)?$"];if(r(["^\\(.+\\)$","^on-"]))return l(t(o(),{parser:"__ng_action"}));if(r(u))return l(t(o(),{parser:"__ng_binding"}));if(r(i)){const t=o().trim();return s(mw(AT(e,t)),!t.includes("@@"))}if(r(n))return l(t(o(),{parser:"__ng_directive"}));const a=/{{([\S\s]+?)}}/g,p=o();if(a.test(p)){const e=[];return p.split(a).forEach(((n,r)=>{if(r%2==0)e.push(tT(pw(n,vw)));else try{e.push(gw(tT(["{{",Ew(tT([bw,t(n,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})])),bw,"}}"])))}catch(t){e.push("{{",tT(pw(n,vw)),"}}")}})),gw(tT(e))}}return null}(o,((e,t)=>n(e,Object.assign({__isInHtmlAttribute:!0},t),{stripTrailingHardline:!0})),r);if(e)return tT([o.rawName,'="',gw(lw(e,(e=>"string"==typeof e?e.replace(/"/g,"""):e))),'"']);break}case"front-matter":return dw(o,n)}}};var xT={htmlWhitespaceSensitivity:{since:"1.15.0",category:"HTML",type:"choice",default:"css",description:"How to handle whitespaces in HTML.",choices:[{value:"css",description:"Respect the default value of CSS display property."},{value:"strict",description:"Whitespaces are considered sensitive."},{value:"ignore",description:"Whitespaces are considered insensitive."}]},vueIndentScriptAndStyle:{since:"1.19.0",category:"HTML",type:"boolean",default:!1,description:"Indent script and style tags in Vue files."}},ST={name:"HTML",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".html",".htm",".html.hl",".inc",".st",".xht",".xhtml"],languageId:146},wT={name:"Vue",type:"markup",color:"#2c3e50",extensions:[".vue"],tmScope:"text.html.vue",aceMode:"html",languageId:391};var TT={languages:[xs(ST,(()=>({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]}))),xs(ST,(e=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:e.extensions.concat([".mjml"])}))),xs(ST,(()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]}))),xs(wT,(()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]})))],printers:{html:FT},options:xT,parsers:{get html(){return{}.parsers.html},get vue(){return{}.parsers.vue},get angular(){return{}.parsers.angular},get lwc(){return{}.parsers.lwc}}};var BT={isPragma:function(e){return/^\s*@(prettier|format)\s*$/.test(e)},hasPragma:function(e){return/^\s*#[^\S\n]*@(prettier|format)\s*?(\n|$)/.test(e)},insertPragma:function(e){return"# @format\n\n".concat(e)}};var NT={locStart:function(e){return e.position.start.offset},locEnd:function(e){return e.position.end.offset}};const{getLast:kT}=Nt;function PT(e,t){return e&&"string"==typeof e.type&&(!t||t.includes(e.type))}function OT(e){return"prettier-ignore"===e.value.trim()}function IT(e){return e&&e.leadingComments&&0!==e.leadingComments.length}function LT(e){return e&&e.middleComments&&0!==e.middleComments.length}function MT(e){return e&&e.indicatorComment}function jT(e){return e&&e.trailingComment}function _T(e){return e&&e.endComments&&0!==e.endComments.length}function RT(e){const t=[];let n;for(const r of e.split(/( +)/g))" "!==r?" "===n?t.push(r):t.push((t.pop()||"")+r):void 0===n&&t.unshift(""),n=r;return" "===n&&t.push((t.pop()||"")+" "),""===t[0]&&(t.shift(),t.unshift(" "+(t.shift()||""))),t}var VT={getLast:kT,getAncestorCount:function(e,t){let n=0;const r=e.stack.length-1;for(let o=0;oe(r,n,t)))}):t,r)},defineShortcut:function(e,t,n){Object.defineProperty(e,t,{get:n,enumerable:!1})},isNextLineEmpty:function(e,t){let n=0;const r=t.length;for(let o=e.position.end.offset-1;oe.slice(u)));return"preserve"===r.proseWrap||"blockLiteral"===e.type?s(a.map((e=>0===e.length?[]:[e]))):s(a.map((e=>0===e.length?[]:RT(e))).reduce(((e,t,n)=>0===n||0===a[n-1].length||0===t.length||/^\s/.test(t[0])||/^\s|\s$/.test(kT(e))?e.concat([t]):e.concat([e.pop().concat(t)])),[]).map((e=>e.reduce(((e,t)=>0!==e.length&&/\s$/.test(kT(e))?e.concat(e.pop()+" "+t):e.concat(t)),[]))).map((e=>"never"===r.proseWrap?[e.join(" ")]:e)));function s(t){if("keep"===e.chomping)return 0===kT(t).length?t.slice(0,-1):t;let r=0;for(let e=t.length-1;e>=0&&0===t[e].length;e--)r++;return 0===r?t:r>=2&&!n?t.slice(0,-(r-1)):t.slice(0,-r)}},getFlowScalarLineContents:function(e,t,n){const r=t.split("\n").map(((e,t,n)=>0===t&&t===n.length-1?e:0!==t&&t!==n.length-1?e.trim():0===t?e.trimEnd():e.trimStart()));return"preserve"===n.proseWrap?r.map((e=>0===e.length?[]:[e])):r.map((e=>0===e.length?[]:RT(e))).reduce(((t,n,o)=>0===o||0===r[o-1].length||0===n.length||"quoteDouble"===e&&kT(kT(t)).endsWith("\\")?t.concat([n]):t.concat([t.pop().concat(n)])),[]).map((e=>"never"===n.proseWrap?[e.join(" ")]:e))},getLastDescendantNode:function e(t){return"children"in t&&0!==t.children.length?e(kT(t.children)):t},hasPrettierIgnore:function(e){const t=e.getValue();if("documentBody"===t.type){const t=e.getParentNode();return _T(t.head)&&OT(kT(t.head.endComments))}return IT(t)&&OT(kT(t.leadingComments))},hasLeadingComments:IT,hasMiddleComments:LT,hasIndicatorComment:MT,hasTrailingComment:jT,hasEndComments:_T};const $T=rn.builders,{conditionalGroup:qT,breakParent:WT,concat:UT,dedent:JT,dedentToRoot:zT,fill:GT,group:HT,hardline:XT,ifBreak:YT,join:KT,line:QT,lineSuffix:ZT,literalline:eB,markAsRoot:tB,softline:nB}=$T,{replaceEndOfLineWith:rB,isPreviousLineEmpty:oB}=Nt,{insertPragma:uB,isPragma:iB}=BT,{locStart:aB}=NT,{getAncestorCount:sB,getBlockValueLineContents:lB,getFlowScalarLineContents:cB,getLast:pB,getLastDescendantNode:dB,hasLeadingComments:fB,hasMiddleComments:hB,hasIndicatorComment:mB,hasTrailingComment:gB,hasEndComments:DB,hasPrettierIgnore:yB,isLastDescendantNode:EB,isNextLineEmpty:CB,isNode:bB,isEmptyNode:vB,defineShortcut:AB,mapNode:FB}=VT;function xB(e){switch(e.type){case"document":AB(e,"head",(()=>e.children[0])),AB(e,"body",(()=>e.children[1]));break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":AB(e,"content",(()=>e.children[0]));break;case"mappingItem":case"flowMappingItem":AB(e,"key",(()=>e.children[0])),AB(e,"value",(()=>e.children[1]))}return e}function SB(e,t,n,r,o){switch(e.type){case"root":return UT([KT(XT,n.map(((t,r)=>{const u=e.children[r],i=e.children[r+1];return UT([o(t),NB(u,i)?UT([XT,"...",gB(u)?UT([" ",n.call(o,"trailingComment")]):""]):!i||gB(i.head)?"":UT([XT,"---"])])}),"children")),0===e.children.length||(i=dB(e),bB(i,["blockLiteral","blockFolded"])&&"keep"===i.chomping)?"":XT]);case"document":{const u=t.children[n.getName()+1];return KT(XT,["head"===kB(e,u,t,r)?KT(XT,[0===e.head.children.length&&0===e.head.endComments.length?"":n.call(o,"head"),UT(["---",gB(e.head)?UT([" ",n.call(o,"head","trailingComment")]):""])].filter(Boolean)):"",BB(e)?n.call(o,"body"):""].filter(Boolean))}case"documentHead":return KT(XT,[].concat(n.map(o,"children"),n.map(o,"endComments")));case"documentBody":{const t=KT(XT,n.map(o,"children")).parts,r=KT(XT,n.map(o,"endComments")).parts,u=0===t.length||0===r.length?"":(e=>bB(e,["blockFolded","blockLiteral"])?"keep"===e.chomping?"":UT([XT,XT]):XT)(dB(e));return UT([].concat(t,u,r))}case"directive":return UT(["%",KT(" ",[e.name].concat(e.parameters))]);case"comment":return UT(["#",e.value]);case"alias":return UT(["*",e.value]);case"tag":return r.originalText.slice(e.position.start.offset,e.position.end.offset);case"anchor":return UT(["&",e.value]);case"plain":return jB(e.type,r.originalText.slice(e.position.start.offset,e.position.end.offset),r);case"quoteDouble":case"quoteSingle":{const t="'",n='"',o=r.originalText.slice(e.position.start.offset+1,e.position.end.offset-1);if("quoteSingle"===e.type&&o.includes("\\")||"quoteDouble"===e.type&&/\\[^"]/.test(o)){const u="quoteDouble"===e.type?n:t;return UT([u,jB(e.type,o,r),u])}if(o.includes(n))return UT([t,jB(e.type,"quoteDouble"===e.type?o.replace(/\\"/g,n).replace(/'/g,t.repeat(2)):o,r),t]);if(o.includes(t))return UT([n,jB(e.type,"quoteSingle"===e.type?o.replace(/''/g,t):o,r),n]);const u=r.singleQuote?t:n;return UT([u,jB(e.type,o,r),u])}case"blockFolded":case"blockLiteral":{const t=sB(n,(e=>bB(e,["sequence","mapping"]))),u=EB(n);return UT(["blockFolded"===e.type?">":"|",null===e.indent?"":e.indent.toString(),"clip"===e.chomping?"":"keep"===e.chomping?"+":"-",mB(e)?UT([" ",n.call(o,"indicatorComment")]):"",(null===e.indent?JT:zT)(wB(null===e.indent?r.tabWidth:e.indent-1+t,UT(lB(e,{parentIndent:t,isLastDescendant:u,options:r}).reduce(((t,n,r,o)=>t.concat(0===r?XT:"",GT(KT(QT,n).parts),r!==o.length-1?0===n.length?XT:tB(eB):"keep"===e.chomping&&u?0===n.length?zT(XT):zT(eB):"")),[]))))])}case"sequence":return KT(XT,n.map(o,"children"));case"sequenceItem":return UT(["- ",wB(2,e.content?n.call(o,"content"):"")]);case"mappingKey":case"mappingValue":return e.content?n.call(o,"content"):"";case"mapping":return KT(XT,n.map(o,"children"));case"mappingItem":case"flowMappingItem":{const u=vB(e.key),i=vB(e.value);if(u&&i)return UT([": "]);const s=n.call(o,"key"),l=n.call(o,"value");if(i)return"flowMappingItem"===e.type&&"flowMapping"===t.type?s:"mappingItem"!==e.type||!PB(e.key.content,r)||gB(e.key.content)||t.tag&&"tag:yaml.org,2002:set"===t.tag.value?UT(["? ",wB(2,s)]):UT([s,OB(e)?" ":"",":"]);if(u)return UT([": ",wB(2,l)]);const c=Symbol("mappingKey");return fB(e.value)||!TB(e.key.content)?UT(["? ",wB(2,s),XT,KT("",n.map(o,"value","leadingComments").map((e=>UT([e,XT])))),": ",wB(2,l)]):!function(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":return e.position.start.line===e.position.end.line;case"alias":return!0;default:return!1}}(e.key.content)||fB(e.key.content)||hB(e.key.content)||gB(e.key.content)||DB(e.key)||fB(e.value.content)||hB(e.value.content)||DB(e.value)||!PB(e.value.content,r)?qT([UT([HT(UT([YT("? "),HT(wB(2,s),{id:c})])),YT(UT([XT,": ",wB(2,l)]),a(UT([OB(e)?" ":"",":",fB(e.value.content)||DB(e.value)&&e.value.content&&!bB(e.value.content,["mapping","sequence"])||"mapping"===t.type&&gB(e.key.content)&&TB(e.value.content)||bB(e.value.content,["mapping","sequence"])&&null===e.value.content.tag&&null===e.value.content.anchor?XT:e.value.content?QT:"",l])),{groupId:c})])]):UT([s,OB(e)?" ":"",": ",l])}case"flowMapping":case"flowSequence":{const t="flowMapping"===e.type?"{":"[",i="flowMapping"===e.type?"}":"]",s="flowMapping"===e.type&&0!==e.children.length&&r.bracketSpacing?QT:nB,l=0!==e.children.length&&("flowMappingItem"===(u=pB(e.children)).type&&vB(u.key)&&vB(u.value)),c="none"===r.trailingComma?"":YT(",","");return UT([t,a(UT([s,UT(n.map(((t,n)=>UT([o(t),n===e.children.length-1?"":UT([",",QT,e.children[n].position.start.line!==e.children[n+1].position.start.line?MB(t,r.originalText):""])])),"children")),c,DB(e)?UT([XT,KT(XT,n.map(o,"endComments"))]):""])),l?"":s,i])}case"flowSequenceItem":return n.call(o,"content");default:throw new Error("Unexpected node type ".concat(e.type))}var u,i;function a(e){return $T.align(" ".repeat(r.tabWidth),e)}}function wB(e,t){return"number"==typeof e&&e>0?$T.align(" ".repeat(e),t):$T.align(e,t)}function TB(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}function BB(e){return 0!==e.body.children.length||DB(e.body)}function NB(e,t){return gB(e)||t&&(0!==t.head.children.length||DB(t.head))}function kB(e,t,n,r){return n.children[0]===e&&/---(\s|$)/.test(r.originalText.slice(aB(e),aB(e)+4))||0!==e.head.children.length||DB(e.head)||gB(e.head)?"head":!NB(e,t)&&(!!t&&"root")}function PB(e,t){if(!e)return!0;switch(e.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if("preserve"===t.proseWrap)return e.position.start.line===e.position.end.line;if(/\\$/m.test(t.originalText.slice(e.position.start.offset,e.position.end.offset)))return!1;switch(t.proseWrap){case"never":return!e.value.includes("\n");case"always":return!/[\n ]/.test(e.value);default:return!1}}function OB(e){return e.key.content&&"alias"===e.key.content.type}function IB(e){return DB(e)&&!bB(e,["documentHead","documentBody","flowMapping","flowSequence"])}const LB=new WeakMap;function MB(e,t){const n=e.getValue(),r=e.stack[0];let o;return LB.has(r)?o=LB.get(r):(o=new Set,LB.set(r,o)),o.has(n.position.end.line)||(o.add(n.position.end.line),!CB(n,t)||IB(e.getParentNode()))?"":nB}function jB(e,t,n){const r=cB(e,t,n);return KT(XT,r.map((e=>GT(KT(QT,e).parts))))}var _B={preprocess:function(e){return FB(e,xB)},print:function(e,t,n){const r=e.getValue(),o=e.getParentNode(),u=r.tag?e.call(n,"tag"):"",i=r.anchor?e.call(n,"anchor"):"",a=bB(r,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!EB(e)?MB(e,t.originalText):"";return UT(["mappingValue"!==r.type&&fB(r)?UT([KT(XT,e.map(n,"leadingComments")),XT]):"",u,u&&i?" ":"",i,u||i?bB(r,["sequence","mapping"])&&!hB(r)?XT:" ":"",hB(r)?UT([1===r.middleComments.length?"":XT,KT(XT,e.map(n,"middleComments")),XT]):"",yB(e)?UT(rB(t.originalText.slice(r.position.start.offset,r.position.end.offset).trimEnd(),eB)):HT(SB(r,o,e,t,n)),gB(r)&&!bB(r,["document","documentHead"])?ZT(UT(["mappingValue"!==r.type||r.content?" ":"","mappingKey"===o.type&&"mapping"===e.getParentNode(2).type&&TB(r)?"":WT,e.call(n,"trailingComment")])):"",IB(r)?wB("sequenceItem"===r.type?2:0,UT([XT,KT(XT,e.map((e=>UT([oB(t.originalText,e.getValue(),aB)?XT:"",n(e)])),"endComments"))])):"",a])},massageAstNode:function(e,t){if(bB(t))switch(delete t.position,t.type){case"comment":if(iB(t.value))return null;break;case"quoteDouble":case"quoteSingle":t.type="quote"}},insertPragma:uB},RB={bracketSpacing:kC.bracketSpacing,singleQuote:kC.singleQuote,proseWrap:kC.proseWrap};var VB=[VC,Uv,YA,DF,Xx,TT,{languages:[xs({name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","glide.lock","yarn.lock"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",languageId:407},(e=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"],filenames:e.filenames.filter((e=>"yarn.lock"!==e))})))],printers:{yaml:_B},options:RB,parsers:{get yaml(){return{}.parsers.yaml}}}];const{version:$B}=n,{getSupportInfo:qB}=pt,WB=VB.map((t=>e(t,["parsers"])));function UB(e,t=1){return(...n)=>{const r=n[t]||{},o=r.plugins||[];return n[t]=Object.assign({},r,{plugins:[...WB,...Array.isArray(o)?o:Object.values(o)]}),e(...n)}}const JB=UB(es.formatWithCursor);var zB={formatWithCursor:JB,format:(e,t)=>JB(e,t).formatted,check(e,t){const{formatted:n}=JB(e,t);return n===e},doc:rn,getSupportInfo:UB(qB,0),version:$B,util:Fs,__debug:{parse:UB(es.parse),formatAST:UB(es.formatAST),formatDoc:UB(es.formatDoc),printToDoc:UB(es.printToDoc),printDocToString:UB(es.printDocToString)}};export default zB; diff --git a/node_modules/prettier/index.cjs b/node_modules/prettier/index.cjs new file mode 100644 index 00000000..13cbf209 --- /dev/null +++ b/node_modules/prettier/index.cjs @@ -0,0 +1,648 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/utils/skip.js +function skip(characters) { + return (text, startIndex, options) => { + const backwards = Boolean(options == null ? void 0 : options.backwards); + if (startIndex === false) { + return false; + } + const { length } = text; + let cursor = startIndex; + while (cursor >= 0 && cursor < length) { + const character = text.charAt(cursor); + if (characters instanceof RegExp) { + if (!characters.test(character)) { + return cursor; + } + } else if (!characters.includes(character)) { + return cursor; + } + backwards ? cursor-- : cursor++; + } + if (cursor === -1 || cursor === length) { + return cursor; + } + return false; + }; +} +var skipWhitespace, skipSpaces, skipToLineEnd, skipEverythingButNewLine; +var init_skip = __esm({ + "src/utils/skip.js"() { + skipWhitespace = skip(/\s/); + skipSpaces = skip(" "); + skipToLineEnd = skip(",; "); + skipEverythingButNewLine = skip(/[^\n\r]/); + } +}); + +// src/utils/skip-inline-comment.js +function skipInlineComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "*") { + for (let i = startIndex + 2; i < text.length; ++i) { + if (text.charAt(i) === "*" && text.charAt(i + 1) === "/") { + return i + 2; + } + } + } + return startIndex; +} +var skip_inline_comment_default; +var init_skip_inline_comment = __esm({ + "src/utils/skip-inline-comment.js"() { + skip_inline_comment_default = skipInlineComment; + } +}); + +// src/utils/skip-newline.js +function skipNewline(text, startIndex, options) { + const backwards = Boolean(options == null ? void 0 : options.backwards); + if (startIndex === false) { + return false; + } + const character = text.charAt(startIndex); + if (backwards) { + if (text.charAt(startIndex - 1) === "\r" && character === "\n") { + return startIndex - 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex - 1; + } + } else { + if (character === "\r" && text.charAt(startIndex + 1) === "\n") { + return startIndex + 2; + } + if (character === "\n" || character === "\r" || character === "\u2028" || character === "\u2029") { + return startIndex + 1; + } + } + return startIndex; +} +var skip_newline_default; +var init_skip_newline = __esm({ + "src/utils/skip-newline.js"() { + skip_newline_default = skipNewline; + } +}); + +// src/utils/skip-trailing-comment.js +function skipTrailingComment(text, startIndex) { + if (startIndex === false) { + return false; + } + if (text.charAt(startIndex) === "/" && text.charAt(startIndex + 1) === "/") { + return skipEverythingButNewLine(text, startIndex); + } + return startIndex; +} +var skip_trailing_comment_default; +var init_skip_trailing_comment = __esm({ + "src/utils/skip-trailing-comment.js"() { + init_skip(); + skip_trailing_comment_default = skipTrailingComment; + } +}); + +// src/utils/get-next-non-space-non-comment-character-index.js +function getNextNonSpaceNonCommentCharacterIndex(text, startIndex) { + let oldIdx = null; + let nextIdx = startIndex; + while (nextIdx !== oldIdx) { + oldIdx = nextIdx; + nextIdx = skipSpaces(text, nextIdx); + nextIdx = skip_inline_comment_default(text, nextIdx); + nextIdx = skip_trailing_comment_default(text, nextIdx); + nextIdx = skip_newline_default(text, nextIdx); + } + return nextIdx; +} +var get_next_non_space_non_comment_character_index_default; +var init_get_next_non_space_non_comment_character_index = __esm({ + "src/utils/get-next-non-space-non-comment-character-index.js"() { + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + get_next_non_space_non_comment_character_index_default = getNextNonSpaceNonCommentCharacterIndex; + } +}); + +// src/utils/has-newline.js +function hasNewline(text, startIndex, options = {}) { + const idx = skipSpaces( + text, + options.backwards ? startIndex - 1 : startIndex, + options + ); + const idx2 = skip_newline_default(text, idx, options); + return idx !== idx2; +} +var has_newline_default; +var init_has_newline = __esm({ + "src/utils/has-newline.js"() { + init_skip(); + init_skip_newline(); + has_newline_default = hasNewline; + } +}); + +// src/utils/is-next-line-empty.js +function isNextLineEmpty(text, startIndex) { + let oldIdx = null; + let idx = startIndex; + while (idx !== oldIdx) { + oldIdx = idx; + idx = skipToLineEnd(text, idx); + idx = skip_inline_comment_default(text, idx); + idx = skipSpaces(text, idx); + } + idx = skip_trailing_comment_default(text, idx); + idx = skip_newline_default(text, idx); + return idx !== false && has_newline_default(text, idx); +} +var is_next_line_empty_default; +var init_is_next_line_empty = __esm({ + "src/utils/is-next-line-empty.js"() { + init_has_newline(); + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + is_next_line_empty_default = isNextLineEmpty; + } +}); + +// src/utils/is-previous-line-empty.js +function isPreviousLineEmpty(text, startIndex) { + let idx = startIndex - 1; + idx = skipSpaces(text, idx, { backwards: true }); + idx = skip_newline_default(text, idx, { backwards: true }); + idx = skipSpaces(text, idx, { backwards: true }); + const idx2 = skip_newline_default(text, idx, { backwards: true }); + return idx !== idx2; +} +var is_previous_line_empty_default; +var init_is_previous_line_empty = __esm({ + "src/utils/is-previous-line-empty.js"() { + init_skip(); + init_skip_newline(); + is_previous_line_empty_default = isPreviousLineEmpty; + } +}); + +// src/main/comments/utils.js +function describeNodeForDebugging(node) { + const nodeType = node.type || node.kind || "(unknown type)"; + let nodeName = String( + node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || "" + ); + if (nodeName.length > 20) { + nodeName = nodeName.slice(0, 19) + "\u2026"; + } + return nodeType + (nodeName ? " " + nodeName : ""); +} +function addCommentHelper(node, comment) { + const comments = node.comments ?? (node.comments = []); + comments.push(comment); + comment.printed = false; + comment.nodeDescription = describeNodeForDebugging(node); +} +function addLeadingComment(node, comment) { + comment.leading = true; + comment.trailing = false; + addCommentHelper(node, comment); +} +function addDanglingComment(node, comment, marker) { + comment.leading = false; + comment.trailing = false; + if (marker) { + comment.marker = marker; + } + addCommentHelper(node, comment); +} +function addTrailingComment(node, comment) { + comment.leading = false; + comment.trailing = true; + addCommentHelper(node, comment); +} +var init_utils = __esm({ + "src/main/comments/utils.js"() { + } +}); + +// src/utils/get-alignment-size.js +function getAlignmentSize(text, tabWidth, startIndex = 0) { + let size = 0; + for (let i = startIndex; i < text.length; ++i) { + if (text[i] === " ") { + size = size + tabWidth - size % tabWidth; + } else { + size++; + } + } + return size; +} +var get_alignment_size_default; +var init_get_alignment_size = __esm({ + "src/utils/get-alignment-size.js"() { + get_alignment_size_default = getAlignmentSize; + } +}); + +// src/utils/get-indent-size.js +function getIndentSize(value, tabWidth) { + const lastNewlineIndex = value.lastIndexOf("\n"); + if (lastNewlineIndex === -1) { + return 0; + } + return get_alignment_size_default( + // All the leading whitespaces + value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], + tabWidth + ); +} +var get_indent_size_default; +var init_get_indent_size = __esm({ + "src/utils/get-indent-size.js"() { + init_get_alignment_size(); + get_indent_size_default = getIndentSize; + } +}); + +// node_modules/escape-string-regexp/index.js +function escapeStringRegexp(string) { + if (typeof string !== "string") { + throw new TypeError("Expected a string"); + } + return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d"); +} +var init_escape_string_regexp = __esm({ + "node_modules/escape-string-regexp/index.js"() { + } +}); + +// src/utils/get-max-continuous-count.js +function getMaxContinuousCount(text, searchString) { + const results = text.match( + new RegExp(`(${escapeStringRegexp(searchString)})+`, "g") + ); + if (results === null) { + return 0; + } + return results.reduce( + (maxCount, result) => Math.max(maxCount, result.length / searchString.length), + 0 + ); +} +var get_max_continuous_count_default; +var init_get_max_continuous_count = __esm({ + "src/utils/get-max-continuous-count.js"() { + init_escape_string_regexp(); + get_max_continuous_count_default = getMaxContinuousCount; + } +}); + +// src/utils/get-next-non-space-non-comment-character.js +function getNextNonSpaceNonCommentCharacter(text, startIndex) { + const index = get_next_non_space_non_comment_character_index_default(text, startIndex); + return index === false ? "" : text.charAt(index); +} +var get_next_non_space_non_comment_character_default; +var init_get_next_non_space_non_comment_character = __esm({ + "src/utils/get-next-non-space-non-comment-character.js"() { + init_get_next_non_space_non_comment_character_index(); + get_next_non_space_non_comment_character_default = getNextNonSpaceNonCommentCharacter; + } +}); + +// node_modules/emoji-regex/index.mjs +var emoji_regex_default; +var init_emoji_regex = __esm({ + "node_modules/emoji-regex/index.mjs"() { + emoji_regex_default = () => { + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; + }; + } +}); + +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} +var init_lookup = __esm({ + "node_modules/get-east-asian-width/lookup.js"() { + } +}); + +// node_modules/get-east-asian-width/index.js +var _isNarrowWidth; +var init_get_east_asian_width = __esm({ + "node_modules/get-east-asian-width/index.js"() { + init_lookup(); + _isNarrowWidth = (codePoint) => !(isFullWidth(codePoint) || isWide(codePoint)); + } +}); + +// src/utils/get-string-width.js +function getStringWidth(text) { + if (!text) { + return 0; + } + if (!notAsciiRegex.test(text)) { + return text.length; + } + text = text.replace(emoji_regex_default(), " "); + let width = 0; + for (const character of text) { + const codePoint = character.codePointAt(0); + if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) { + continue; + } + if (codePoint >= 768 && codePoint <= 879) { + continue; + } + width += _isNarrowWidth(codePoint) ? 1 : 2; + } + return width; +} +var notAsciiRegex, get_string_width_default; +var init_get_string_width = __esm({ + "src/utils/get-string-width.js"() { + init_emoji_regex(); + init_get_east_asian_width(); + notAsciiRegex = /[^\x20-\x7F]/; + get_string_width_default = getStringWidth; + } +}); + +// src/utils/has-newline-in-range.js +function hasNewlineInRange(text, startIndex, endIndex) { + for (let i = startIndex; i < endIndex; ++i) { + if (text.charAt(i) === "\n") { + return true; + } + } + return false; +} +var has_newline_in_range_default; +var init_has_newline_in_range = __esm({ + "src/utils/has-newline-in-range.js"() { + has_newline_in_range_default = hasNewlineInRange; + } +}); + +// src/utils/has-spaces.js +function hasSpaces(text, startIndex, options = {}) { + const idx = skipSpaces( + text, + options.backwards ? startIndex - 1 : startIndex, + options + ); + return idx !== startIndex; +} +var has_spaces_default; +var init_has_spaces = __esm({ + "src/utils/has-spaces.js"() { + init_skip(); + has_spaces_default = hasSpaces; + } +}); + +// scripts/build/shims/string-replace-all.js +var stringReplaceAll, string_replace_all_default; +var init_string_replace_all = __esm({ + "scripts/build/shims/string-replace-all.js"() { + stringReplaceAll = (isOptionalObject, original, pattern, replacement) => { + if (isOptionalObject && (original === void 0 || original === null)) { + return; + } + if (original.replaceAll) { + return original.replaceAll(pattern, replacement); + } + if (pattern.global) { + return original.replace(pattern, replacement); + } + return original.split(pattern).join(replacement); + }; + string_replace_all_default = stringReplaceAll; + } +}); + +// src/utils/make-string.js +function makeString(rawText, enclosingQuote, unescapeUnnecessaryEscapes) { + const otherQuote = enclosingQuote === '"' ? "'" : '"'; + const regex = /\\(.)|(["'])/gs; + const raw = string_replace_all_default( + /* isOptionalObject*/ + false, + rawText, + regex, + (match, escaped, quote) => { + if (escaped === otherQuote) { + return escaped; + } + if (quote === enclosingQuote) { + return "\\" + quote; + } + if (quote) { + return quote; + } + return unescapeUnnecessaryEscapes && /^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(escaped) ? escaped : "\\" + escaped; + } + ); + return enclosingQuote + raw + enclosingQuote; +} +var make_string_default; +var init_make_string = __esm({ + "src/utils/make-string.js"() { + init_string_replace_all(); + make_string_default = makeString; + } +}); + +// src/utils/public.js +var public_exports = {}; +__export(public_exports, { + addDanglingComment: () => addDanglingComment, + addLeadingComment: () => addLeadingComment, + addTrailingComment: () => addTrailingComment, + getAlignmentSize: () => get_alignment_size_default, + getIndentSize: () => get_indent_size_default, + getMaxContinuousCount: () => get_max_continuous_count_default, + getNextNonSpaceNonCommentCharacter: () => get_next_non_space_non_comment_character_default, + getNextNonSpaceNonCommentCharacterIndex: () => getNextNonSpaceNonCommentCharacterIndex2, + getStringWidth: () => get_string_width_default, + hasNewline: () => has_newline_default, + hasNewlineInRange: () => has_newline_in_range_default, + hasSpaces: () => has_spaces_default, + isNextLineEmpty: () => isNextLineEmpty2, + isNextLineEmptyAfterIndex: () => is_next_line_empty_default, + isPreviousLineEmpty: () => isPreviousLineEmpty2, + makeString: () => make_string_default, + skip: () => skip, + skipEverythingButNewLine: () => skipEverythingButNewLine, + skipInlineComment: () => skip_inline_comment_default, + skipNewline: () => skip_newline_default, + skipSpaces: () => skipSpaces, + skipToLineEnd: () => skipToLineEnd, + skipTrailingComment: () => skip_trailing_comment_default, + skipWhitespace: () => skipWhitespace +}); +function legacyGetNextNonSpaceNonCommentCharacterIndex(text, node, locEnd) { + return get_next_non_space_non_comment_character_index_default( + text, + locEnd(node) + ); +} +function getNextNonSpaceNonCommentCharacterIndex2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? get_next_non_space_non_comment_character_index_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyGetNextNonSpaceNonCommentCharacterIndex(...arguments) + ); +} +function legacyIsPreviousLineEmpty(text, node, locStart) { + return is_previous_line_empty_default(text, locStart(node)); +} +function isPreviousLineEmpty2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? is_previous_line_empty_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyIsPreviousLineEmpty(...arguments) + ); +} +function legacyIsNextLineEmpty(text, node, locEnd) { + return is_next_line_empty_default(text, locEnd(node)); +} +function isNextLineEmpty2(text, startIndex) { + return arguments.length === 2 || typeof startIndex === "number" ? is_next_line_empty_default(text, startIndex) : ( + // @ts-expect-error -- expected + // eslint-disable-next-line prefer-rest-params + legacyIsNextLineEmpty(...arguments) + ); +} +var init_public = __esm({ + "src/utils/public.js"() { + init_get_next_non_space_non_comment_character_index(); + init_is_next_line_empty(); + init_is_previous_line_empty(); + init_utils(); + init_get_alignment_size(); + init_get_indent_size(); + init_get_max_continuous_count(); + init_get_next_non_space_non_comment_character(); + init_get_string_width(); + init_has_newline(); + init_has_newline_in_range(); + init_has_spaces(); + init_make_string(); + init_skip(); + init_skip_inline_comment(); + init_skip_newline(); + init_skip_trailing_comment(); + } +}); + +// src/main/version.evaluate.cjs +var require_version_evaluate = __commonJS({ + "src/main/version.evaluate.cjs"(exports2, module2) { + module2.exports = "3.2.5"; + } +}); + +// src/index.cjs +var prettierPromise = import("./index.mjs"); +var functionNames = [ + "formatWithCursor", + "format", + "check", + "resolveConfig", + "resolveConfigFile", + "clearConfigCache", + "getFileInfo", + "getSupportInfo" +]; +var prettier = /* @__PURE__ */ Object.create(null); +for (const name of functionNames) { + prettier[name] = async (...args) => { + const prettier2 = await prettierPromise; + return prettier2[name](...args); + }; +} +var debugApiFunctionNames = [ + "parse", + "formatAST", + "formatDoc", + "printToDoc", + "printDocToString" +]; +var debugApis = /* @__PURE__ */ Object.create(null); +for (const name of debugApiFunctionNames) { + debugApis[name] = async (...args) => { + const prettier2 = await prettierPromise; + return prettier2.__debug[name](...args); + }; +} +prettier.__debug = debugApis; +if (true) { + prettier.util = (init_public(), __toCommonJS(public_exports)); + prettier.doc = require("./doc.js"); +} else { + Object.defineProperties(prettier, { + util: { + get() { + throw new Error( + "prettier.util is not available in development CommonJS version" + ); + } + }, + doc: { + get() { + throw new Error( + "prettier.doc is not available in development CommonJS version" + ); + } + } + }); +} +prettier.version = require_version_evaluate(); +module.exports = prettier; diff --git a/node_modules/prettier/index.d.ts b/node_modules/prettier/index.d.ts new file mode 100644 index 00000000..1966d71a --- /dev/null +++ b/node_modules/prettier/index.d.ts @@ -0,0 +1,940 @@ +// Copied from `@types/prettier` +// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/5bb07fc4b087cb7ee91084afa6fe750551a7bbb1/types/prettier/index.d.ts + +// Minimum TypeScript Version: 4.2 + +// Add `export {}` here to shut off automatic exporting from index.d.ts. There +// are quite a few utility types here that don't need to be shipped with the +// exported module. +export {}; + +import { builders, printer, utils } from "./doc.js"; + +export namespace doc { + export { builders, printer, utils }; +} + +// This utility is here to handle the case where you have an explicit union +// between string literals and the generic string type. It would normally +// resolve out to just the string type, but this generic LiteralUnion maintains +// the intellisense of the original union. +// +// It comes from this issue: microsoft/TypeScript#29729: +// https://github.com/microsoft/TypeScript/issues/29729#issuecomment-700527227 +export type LiteralUnion = + | T + | (Pick & { _?: never | undefined }); + +export type AST = any; +export type Doc = doc.builders.Doc; + +// The type of elements that make up the given array T. +type ArrayElement = T extends Array ? E : never; + +// A union of the properties of the given object that are arrays. +type ArrayProperties = { + [K in keyof T]: NonNullable extends readonly any[] ? K : never; +}[keyof T]; + +// A union of the properties of the given array T that can be used to index it. +// If the array is a tuple, then that's going to be the explicit indices of the +// array, otherwise it's going to just be number. +type IndexProperties = + IsTuple extends true ? Exclude["length"], T["length"]> : number; + +// Effectively performing T[P], except that it's telling TypeScript that it's +// safe to do this for tuples, arrays, or objects. +type IndexValue = T extends any[] + ? P extends number + ? T[P] + : never + : P extends keyof T + ? T[P] + : never; + +// Determines if an object T is an array like string[] (in which case this +// evaluates to false) or a tuple like [string] (in which case this evaluates to +// true). +// eslint-disable-next-line @typescript-eslint/no-unused-vars +type IsTuple = T extends [] + ? true + : T extends [infer First, ...infer Remain] + ? IsTuple + : false; + +type CallProperties = T extends any[] ? IndexProperties : keyof T; +type IterProperties = T extends any[] + ? IndexProperties + : ArrayProperties; + +type CallCallback = (path: AstPath, index: number, value: any) => U; +type EachCallback = ( + path: AstPath>, + index: number, + value: any, +) => void; +type MapCallback = ( + path: AstPath>, + index: number, + value: any, +) => U; + +// https://github.com/prettier/prettier/blob/next/src/common/ast-path.js +export class AstPath { + constructor(value: T); + + get key(): string | null; + get index(): number | null; + get node(): T; + get parent(): T | null; + get grandparent(): T | null; + get isInArray(): boolean; + get siblings(): T[] | null; + get next(): T | null; + get previous(): T | null; + get isFirst(): boolean; + get isLast(): boolean; + get isRoot(): boolean; + get root(): T; + get ancestors(): T[]; + + stack: T[]; + + callParent(callback: (path: this) => U, count?: number): U; + + /** + * @deprecated Please use `AstPath#key` or `AstPath#index` + */ + getName(): PropertyKey | null; + + /** + * @deprecated Please use `AstPath#node` or `AstPath#siblings` + */ + getValue(): T; + + getNode(count?: number): T | null; + + getParentNode(count?: number): T | null; + + match( + ...predicates: Array< + (node: any, name: string | null, number: number | null) => boolean + > + ): boolean; + + // For each of the tree walk functions (call, each, and map) this provides 5 + // strict type signatures, along with a fallback at the end if you end up + // calling more than 5 properties deep. This helps a lot with typing because + // for the majority of cases you're calling fewer than 5 properties, so the + // tree walk functions have a clearer understanding of what you're doing. + // + // Note that resolving these types is somewhat complicated, and it wasn't + // even supported until TypeScript 4.2 (before it would just say that the + // type instantiation was excessively deep and possibly infinite). + + call(callback: CallCallback): U; + call>( + callback: CallCallback, U>, + prop1: P1, + ): U; + call>( + callback: CallCallback, P2>, U>, + prop1: P1, + prop2: P2, + ): U; + call< + U, + P1 extends keyof T, + P2 extends CallProperties, + P3 extends CallProperties>, + >( + callback: CallCallback< + IndexValue, P2>, P3>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + ): U; + call< + U, + P1 extends keyof T, + P2 extends CallProperties, + P3 extends CallProperties>, + P4 extends CallProperties, P3>>, + >( + callback: CallCallback< + IndexValue, P2>, P3>, P4>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): U; + call( + callback: CallCallback, + prop1: P, + prop2: P, + prop3: P, + prop4: P, + ...props: P[] + ): U; + + each(callback: EachCallback): void; + each>( + callback: EachCallback>, + prop1: P1, + ): void; + each>( + callback: EachCallback, P2>>, + prop1: P1, + prop2: P2, + ): void; + each< + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + >( + callback: EachCallback, P2>, P3>>, + prop1: P1, + prop2: P2, + prop3: P3, + ): void; + each< + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + P4 extends IterProperties, P3>>, + >( + callback: EachCallback< + IndexValue, P2>, P3>, P4> + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): void; + each( + callback: EachCallback, + prop1: PropertyKey, + prop2: PropertyKey, + prop3: PropertyKey, + prop4: PropertyKey, + ...props: PropertyKey[] + ): void; + + map(callback: MapCallback): U[]; + map>( + callback: MapCallback, U>, + prop1: P1, + ): U[]; + map>( + callback: MapCallback, P2>, U>, + prop1: P1, + prop2: P2, + ): U[]; + map< + U, + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + >( + callback: MapCallback, P2>, P3>, U>, + prop1: P1, + prop2: P2, + prop3: P3, + ): U[]; + map< + U, + P1 extends keyof T, + P2 extends IterProperties, + P3 extends IterProperties>, + P4 extends IterProperties, P3>>, + >( + callback: MapCallback< + IndexValue, P2>, P3>, P4>, + U + >, + prop1: P1, + prop2: P2, + prop3: P3, + prop4: P4, + ): U[]; + map( + callback: MapCallback, + prop1: PropertyKey, + prop2: PropertyKey, + prop3: PropertyKey, + prop4: PropertyKey, + ...props: PropertyKey[] + ): U[]; +} + +/** @deprecated `FastPath` was renamed to `AstPath` */ +export type FastPath = AstPath; + +export type BuiltInParser = (text: string, options?: any) => AST; +export type BuiltInParserName = + | "acorn" + | "angular" + | "babel-flow" + | "babel-ts" + | "babel" + | "css" + | "espree" + | "flow" + | "glimmer" + | "graphql" + | "html" + | "json-stringify" + | "json" + | "json5" + | "jsonc" + | "less" + | "lwc" + | "markdown" + | "mdx" + | "meriyah" + | "scss" + | "typescript" + | "vue" + | "yaml"; +export type BuiltInParsers = Record; + +/** + * For use in `.prettierrc.js`, `.prettierrc.cjs`, `prettierrc.mjs`, `prettier.config.js`, `prettier.config.cjs`, `prettier.config.mjs` + */ +export interface Config extends Options { + overrides?: Array<{ + files: string | string[]; + excludeFiles?: string | string[]; + options?: Options; + }>; +} + +export interface Options extends Partial {} + +export interface RequiredOptions extends doc.printer.Options { + /** + * Print semicolons at the ends of statements. + * @default true + */ + semi: boolean; + /** + * Use single quotes instead of double quotes. + * @default false + */ + singleQuote: boolean; + /** + * Use single quotes in JSX. + * @default false + */ + jsxSingleQuote: boolean; + /** + * Print trailing commas wherever possible. + * @default "all" + */ + trailingComma: "none" | "es5" | "all"; + /** + * Print spaces between brackets in object literals. + * @default true + */ + bracketSpacing: boolean; + /** + * Put the `>` of a multi-line HTML (HTML, JSX, Vue, Angular) element at the end of the last line instead of being + * alone on the next line (does not apply to self closing elements). + * @default false + */ + bracketSameLine: boolean; + /** + * Format only a segment of a file. + * @default 0 + */ + rangeStart: number; + /** + * Format only a segment of a file. + * @default Number.POSITIVE_INFINITY + */ + rangeEnd: number; + /** + * Specify which parser to use. + */ + parser: LiteralUnion; + /** + * Specify the input filepath. This will be used to do parser inference. + */ + filepath: string; + /** + * Prettier can restrict itself to only format files that contain a special comment, called a pragma, at the top of the file. + * This is very useful when gradually transitioning large, unformatted codebases to prettier. + * @default false + */ + requirePragma: boolean; + /** + * Prettier can insert a special @format marker at the top of files specifying that + * the file has been formatted with prettier. This works well when used in tandem with + * the --require-pragma option. If there is already a docblock at the top of + * the file then this option will add a newline to it with the @format marker. + * @default false + */ + insertPragma: boolean; + /** + * By default, Prettier will wrap markdown text as-is since some services use a linebreak-sensitive renderer. + * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out. + * @default "preserve" + */ + proseWrap: "always" | "never" | "preserve"; + /** + * Include parentheses around a sole arrow function parameter. + * @default "always" + */ + arrowParens: "avoid" | "always"; + /** + * Provide ability to support new languages to prettier. + */ + plugins: Array; + /** + * How to handle whitespaces in HTML. + * @default "css" + */ + htmlWhitespaceSensitivity: "css" | "strict" | "ignore"; + /** + * Which end of line characters to apply. + * @default "lf" + */ + endOfLine: "auto" | "lf" | "crlf" | "cr"; + /** + * Change when properties in objects are quoted. + * @default "as-needed" + */ + quoteProps: "as-needed" | "consistent" | "preserve"; + /** + * Whether or not to indent the code inside `; - // If the inner JS formatter removes the parens, the expression might change its meaning: - // f((a + b) / 2) vs f(a + b / 2) - if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(node.name)) { - return true; - } - - return false; - } - - switch (parent.type) { - case "ParenthesizedExpression": - return false; - - case "ClassDeclaration": - case "ClassExpression": - { - // Add parens around the extends clause of a class. It is needed for almost - // all expressions. - if (name === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression")) { - return true; - } - - break; - } - - case "ExportDefaultDeclaration": - { - return (// `export default function` or `export default class` can't be followed by - // anything after. So an expression like `export default (function(){}).toString()` - // needs to be followed by a parentheses - shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses - node.type === "SequenceExpression" - ); - } - - case "Decorator": - { - if (name === "expression") { - let hasCallExpression = false; - let hasMemberExpression = false; - let current = node; - - while (current) { - switch (current.type) { - case "MemberExpression": - hasMemberExpression = true; - current = current.object; - break; - - case "CallExpression": - if ( - /** @(x().y) */ - hasMemberExpression || - /** @(x().y()) */ - hasCallExpression) { - return true; - } - - hasCallExpression = true; - current = current.callee; - break; - - case "Identifier": - return false; - - default: - return true; - } - } - - return true; - } - - break; - } - - case "ExpressionStatement": - { - if (startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - true)) { - return true; - } - - break; - } - - case "ArrowFunctionExpression": - { - if (name === "body" && node.type !== "SequenceExpression" && // these have parens added anyway - startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - false)) { - return true; - } - - break; - } - } - - switch (node.type) { - case "SpreadElement": - case "SpreadProperty": - return name === "object" && parent.type === "MemberExpression"; - - case "UpdateExpression": - if (parent.type === "UnaryExpression") { - return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); - } - - // else fallthrough - - case "UnaryExpression": - switch (parent.type) { - case "UnaryExpression": - return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); - - case "BindExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "TaggedTemplateExpression": - return true; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "BinaryExpression": - return name === "left" && parent.operator === "**"; - - case "TSNonNullExpression": - return true; - - default: - return false; - } - - case "BinaryExpression": - { - if (parent.type === "UpdateExpression" || parent.type === "PipelineTopicExpression" && node.operator === "|>") { - return true; - } // We add parentheses to any `a in b` inside `ForStatement` initializer - // https://github.com/prettier/prettier/issues/907#issuecomment-284304321 - - - if (node.operator === "in" && isPathInForStatementInitializer(path)) { - return true; - } - - if (node.operator === "|>" && node.extra && node.extra.parenthesized) { - const grandParent = path.getParentNode(1); - - if (grandParent.type === "BinaryExpression" && grandParent.operator === "|>") { - return true; - } - } - } - // fallthrough - - case "TSTypeAssertion": - case "TSAsExpression": - case "LogicalExpression": - switch (parent.type) { - case "ConditionalExpression": - return node.type === "TSAsExpression"; - - case "CallExpression": - case "NewExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ClassExpression": - case "ClassDeclaration": - return name === "superClass"; - - case "TSTypeAssertion": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "JSXSpreadAttribute": - case "SpreadElement": - case "SpreadProperty": - case "BindExpression": - case "AwaitExpression": - case "TSAsExpression": - case "TSNonNullExpression": - case "UpdateExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "AssignmentExpression": - return name === "left" && (node.type === "TSTypeAssertion" || node.type === "TSAsExpression"); - - case "LogicalExpression": - if (node.type === "LogicalExpression") { - return parent.operator !== node.operator; - } - - // else fallthrough - - case "BinaryExpression": - { - const { - operator, - type - } = node; - - if (!operator && type !== "TSTypeAssertion") { - return true; - } - - const precedence = getPrecedence$1(operator); - const parentOperator = parent.operator; - const parentPrecedence = getPrecedence$1(parentOperator); - - if (parentPrecedence > precedence) { - return true; - } - - if (name === "right" && parentPrecedence === precedence) { - return true; - } - - if (parentPrecedence === precedence && !shouldFlatten$1(parentOperator, operator)) { - return true; - } - - if (parentPrecedence < precedence && operator === "%") { - return parentOperator === "+" || parentOperator === "-"; - } // Add parenthesis when working with bitwise operators - // It's not strictly needed but helps with code understanding - - - if (isBitwiseOperator$1(parentOperator)) { - return true; - } - - return false; - } - - default: - return false; - } - - case "SequenceExpression": - switch (parent.type) { - case "ReturnStatement": - return false; - - case "ForStatement": - // Although parentheses wouldn't hurt around sequence - // expressions in the head of for loops, traditional style - // dictates that e.g. i++, j++ should not be wrapped with - // parentheses. - return false; - - case "ExpressionStatement": - return name !== "expression"; - - case "ArrowFunctionExpression": - // We do need parentheses, but SequenceExpressions are handled - // specially when printing bodies of arrow functions. - return name !== "body"; - - default: - // Otherwise err on the side of overparenthesization, adding - // explicit exceptions above if this proves overzealous. - return true; - } - - case "YieldExpression": - if (parent.type === "UnaryExpression" || parent.type === "AwaitExpression" || parent.type === "TSAsExpression" || parent.type === "TSNonNullExpression") { - return true; - } - - // else fallthrough - - case "AwaitExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "SpreadElement": - case "SpreadProperty": - case "TSAsExpression": - case "TSNonNullExpression": - case "BindExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ConditionalExpression": - return name === "test"; - - case "BinaryExpression": - { - if (!node.argument && parent.operator === "|>") { - return false; - } - - return true; - } - - default: - return false; - } - - case "TSJSDocFunctionType": - case "TSConditionalType": - if (name === "extendsType" && parent.type === "TSConditionalType") { - return true; - } - - // fallthrough - - case "TSFunctionType": - case "TSConstructorType": - if (name === "checkType" && parent.type === "TSConditionalType") { - return true; - } - - // fallthrough - - case "TSUnionType": - case "TSIntersectionType": - if (parent.type === "TSUnionType" || parent.type === "TSIntersectionType") { - return true; - } - - // fallthrough - - case "TSInferType": - if (node.type === "TSInferType" && parent.type === "TSRestType") { - return false; - } - - // fallthrough - - case "TSTypeOperator": - return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || name === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && /^TSJSDoc/.test(path.getParentNode(1).type); - - case "ArrayTypeAnnotation": - return parent.type === "NullableTypeAnnotation"; - - case "IntersectionTypeAnnotation": - case "UnionTypeAnnotation": - return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation"; - - case "NullableTypeAnnotation": - return parent.type === "ArrayTypeAnnotation"; - - case "FunctionTypeAnnotation": - { - const ancestor = parent.type === "NullableTypeAnnotation" ? path.getParentNode(1) : parent; - return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || // We should check ancestor's parent to know whether the parentheses - // are really needed, but since ??T doesn't make sense this check - // will almost never be true. - ancestor.type === "NullableTypeAnnotation" || // See #5283 - parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters$2(node).some(param => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); - } - - case "StringLiteral": - case "NumericLiteral": - case "Literal": - if (typeof node.value === "string" && parent.type === "ExpressionStatement" && !parent.directive) { - // To avoid becoming a directive - const grandParent = path.getParentNode(1); - return grandParent.type === "Program" || grandParent.type === "BlockStatement"; - } - - return name === "object" && parent.type === "MemberExpression" && typeof node.value === "number"; - - case "AssignmentExpression": - { - const grandParent = path.getParentNode(1); - - if (name === "body" && parent.type === "ArrowFunctionExpression") { - return true; - } else if (name === "key" && (parent.type === "ClassProperty" || parent.type === "FieldDefinition") && parent.computed) { - return false; - } else if ((name === "init" || name === "update") && parent.type === "ForStatement") { - return false; - } else if (parent.type === "ExpressionStatement") { - return node.left.type === "ObjectPattern"; - } else if (name === "key" && parent.type === "TSPropertySignature") { - return false; - } else if (parent.type === "AssignmentExpression") { - return false; - } else if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { - return false; - } else if (name === "value" && parent.type === "Property" && grandParent && grandParent.type === "ObjectPattern" && grandParent.properties.includes(parent)) { - return false; - } else if (parent.type === "NGChainedExpression") { - return false; - } - - return true; - } - - case "ConditionalExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - case "ExportDefaultDeclaration": - case "AwaitExpression": - case "JSXSpreadAttribute": - case "TSTypeAssertion": - case "TypeCastExpression": - case "TSAsExpression": - case "TSNonNullExpression": - return true; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ConditionalExpression": - return name === "test"; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - default: - return false; - } - - case "FunctionExpression": - switch (parent.type) { - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - // Not always necessary, but it's clearer to the reader if IIFEs are wrapped in parentheses. - // Is necessary if it is `expression` of `ExpressionStatement`. - return name === "callee"; - - case "TaggedTemplateExpression": - return true; - // This is basically a kind of IIFE. - - default: - return false; - } - - case "ArrowFunctionExpression": - switch (parent.type) { - case "PipelineTopicExpression": - return !!(node.extra && node.extra.parenthesized); - - case "BinaryExpression": - return parent.operator !== "|>" || node.extra && node.extra.parenthesized; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "TSAsExpression": - case "BindExpression": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "AwaitExpression": - case "TSTypeAssertion": - return true; - - case "ConditionalExpression": - return name === "test"; - - default: - return false; - } - - case "ClassExpression": - switch (parent.type) { - case "NewExpression": - return name === "callee"; - - default: - return false; - } - - case "OptionalMemberExpression": - case "OptionalCallExpression": - { - const parentParent = path.getParentNode(1); - - if (name === "object" && parent.type === "MemberExpression" || name === "callee" && (parent.type === "CallExpression" || parent.type === "NewExpression") || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { - return true; - } - } - // fallthrough - - case "CallExpression": - case "MemberExpression": - case "TaggedTemplateExpression": - case "TSNonNullExpression": - if (name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { - let object = node; - - while (object) { - switch (object.type) { - case "CallExpression": - case "OptionalCallExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - case "BindExpression": - object = object.object; - break; - // tagged templates are basically member expressions from a grammar perspective - // see https://tc39.github.io/ecma262/#prod-MemberExpression - - case "TaggedTemplateExpression": - object = object.tag; - break; - - case "TSNonNullExpression": - object = object.expression; - break; - - default: - return false; - } - } - } - - return false; - - case "BindExpression": - return name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || name === "object" && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression"); - - case "NGPipeExpression": - if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && // Preserve parens for compatibility with AngularJS expressions - !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || (parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.arguments[name] === node || name === "right" && parent.type === "NGPipeExpression" || name === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { - return false; - } - - return true; - - case "JSXFragment": - case "JSXElement": - return name === "callee" || name === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && parent.type !== "ObjectProperty" && parent.type !== "OptionalCallExpression" && parent.type !== "Property" && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression"; - - case "TypeAnnotation": - return name === "returnType" && parent.type === "ArrowFunctionExpression" && includesFunctionTypeInObjectType(node); - } - - return false; -} - -function isStatement(node) { - return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "FieldDefinition" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; -} - -function isPathInForStatementInitializer(path) { - let i = 0; - let node = path.getValue(); - - while (node) { - const parent = path.getParentNode(i++); - - if (parent && parent.type === "ForStatement" && parent.init === node) { - return true; - } - - node = parent; - } - - return false; -} - -function includesFunctionTypeInObjectType(node) { - return hasNode$1(node, n1 => n1.type === "ObjectTypeAnnotation" && hasNode$1(n1, n2 => n2.type === "FunctionTypeAnnotation" || undefined) || undefined); -} - -function endsWithRightBracket(node) { - switch (node.type) { - case "ObjectExpression": - return true; - - default: - return false; - } -} - -function isFollowedByRightBracket(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const name = path.getName(); - - switch (parent.type) { - case "NGPipeExpression": - if (typeof name === "number" && parent.arguments[name] === node && parent.arguments.length - 1 === name) { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "ObjectProperty": - if (name === "value") { - const parentParent = path.getParentNode(1); - return parentParent.properties[parentParent.properties.length - 1] === parent; - } - - break; - - case "BinaryExpression": - case "LogicalExpression": - if (name === "right") { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "ConditionalExpression": - if (name === "alternate") { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "UnaryExpression": - if (parent.prefix) { - return path.callParent(isFollowedByRightBracket); - } - - break; - } - - return false; -} - -function shouldWrapFunctionForExportDefault(path, options) { - const node = path.getValue(); - const parent = path.getParentNode(); - - if (node.type === "FunctionExpression" || node.type === "ClassExpression") { - return parent.type === "ExportDefaultDeclaration" || // in some cases the function is already wrapped - // (e.g. `export default (function() {})();`) - // in this case we don't need to add extra parens - !needsParens(path, options); - } - - if (!hasNakedLeftSide$1(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { - return false; - } - - return path.call(childPath => shouldWrapFunctionForExportDefault(childPath, options), ...getLeftSidePathName$1(path, node)); -} - -var needsParens_1 = needsParens; - -const { - builders: { - concat: concat$a, - join: join$4, - line: line$4, - group: group$3, - softline: softline$4, - indent: indent$7 - } -} = document; - -function printHtmlBinding(path, options, print) { - const node = path.getValue(); - - if (options.__onHtmlBindingRoot && path.getName() === null) { - options.__onHtmlBindingRoot(node, options); - } - - if (node.type !== "File") { - return; - } - - if (options.__isVueForBindingLeft) { - return path.call(functionDeclarationPath => { - const printed = join$4(concat$a([",", line$4]), functionDeclarationPath.map(print, "params")); - const { - params - } = functionDeclarationPath.getValue(); - - if (params.length === 1) { - return printed; - } - - return concat$a(["(", indent$7(concat$a([softline$4, group$3(printed)])), softline$4, ")"]); - }, "program", "body", 0); - } - - if (options.__isVueBindings) { - return path.call(functionDeclarationPath => join$4(concat$a([",", line$4]), functionDeclarationPath.map(print, "params")), "program", "body", 0); - } -} // based on https://github.com/prettier/prettier/blob/master/src/language-html/syntax-vue.js isVueEventBindingExpression() - - -function isVueEventBindingExpression(node) { - switch (node.type) { - case "MemberExpression": - switch (node.property.type) { - case "Identifier": - case "NumericLiteral": - case "StringLiteral": - return isVueEventBindingExpression(node.object); - } - - return false; - - case "Identifier": - return true; - - default: - return false; - } -} - -var htmlBinding = { - isVueEventBindingExpression, - printHtmlBinding -}; - -function preprocess(ast, options) { - switch (options.parser) { - case "json": - case "json5": - case "json-stringify": - case "__js_expression": - case "__vue_expression": - return Object.assign({}, ast, { - type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", - node: ast, - comments: [], - rootMarker: options.rootMarker - }); - - default: - return ast; - } -} - -var printPreprocess = preprocess; - -/** @type {import("assert")} */ - - -const { - builders: { - concat: concat$b, - group: group$4, - indent: indent$8, - join: join$5, - line: line$5, - hardline: hardline$7 - } -} = document; -const { - hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$1, - getParentExportDeclaration: getParentExportDeclaration$1 -} = utils$6; - -function printOptionalToken(path) { - const node = path.getValue(); - - if (!node.optional || // It's an optional computed method parsed by typescript-estree. - // "?" is printed in `printMethod`. - node.type === "Identifier" && node === path.getParentNode().key) { - return ""; - } - - if (node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression" && node.computed) { - return "?."; - } - - return "?"; -} - -function printFunctionTypeParameters(path, options, print) { - const fun = path.getValue(); - - if (fun.typeArguments) { - return path.call(print, "typeArguments"); - } - - if (fun.typeParameters) { - return path.call(print, "typeParameters"); - } - - return ""; -} - -function printBindExpressionCallee(path, options, print) { - return concat$b(["::", path.call(print, "callee")]); -} - -function printTypeScriptModifiers(path, options, print) { - const n = path.getValue(); - - if (!n.modifiers || !n.modifiers.length) { - return ""; - } - - return concat$b([join$5(" ", path.map(print, "modifiers")), " "]); -} - -function printDecorators(path, options, print) { - const node = path.getValue(); - return group$4(concat$b([join$5(line$5, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators$1(node, options) ? hardline$7 : line$5])); -} - -function printFlowDeclaration(path, printed) { - const parentExportDecl = getParentExportDeclaration$1(path); - - if (parentExportDecl) { - assert__default['default'].strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); - return printed; - } // If the parent node has type DeclareExportDeclaration, then it - // will be responsible for printing the "declare" token. Otherwise - // it needs to be printed with this non-exported declaration node. - - - return concat$b(["declare ", printed]); -} - -function adjustClause(node, clause, forceSpace) { - if (node.type === "EmptyStatement") { - return ";"; - } - - if (node.type === "BlockStatement" || forceSpace) { - return concat$b([" ", clause]); - } - - return indent$8(concat$b([line$5, clause])); -} - -var misc = { - printOptionalToken, - printFunctionTypeParameters, - printBindExpressionCallee, - printTypeScriptModifiers, - printDecorators, - printFlowDeclaration, - adjustClause -}; - -const { - builders: { - concat: concat$c, - softline: softline$5, - group: group$5, - indent: indent$9, - join: join$6, - line: line$6, - ifBreak: ifBreak$1, - hardline: hardline$8 - } -} = document; -const { - printDanglingComments: printDanglingComments$1 -} = comments; -const { - hasDanglingComments: hasDanglingComments$1, - shouldPrintComma: shouldPrintComma$1, - needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1 -} = utils$6; -const { - locStart: locStart$4, - hasSameLoc: hasSameLoc$1 -} = loc; -/** - * @typedef {import("../../document").Doc} Doc - */ - -function printImportDeclaration(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - /** @type{Doc[]} */ - - const parts = []; - const { - importKind - } = node; - parts.push("import"); - - if (importKind && importKind !== "value") { - parts.push(" ", importKind); - } - - parts.push(printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); - parts.push(semi); - return concat$c(parts); -} - -function printExportDeclaration(path, options, print) { - const node = path.getValue(); - /** @type{Doc[]} */ - - const parts = []; - const { - type, - exportKind, - declaration - } = node; - - if (type === "DeclareExportDeclaration") { - parts.push("declare "); - } - - parts.push("export"); - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - - if (isDefaultExport) { - parts.push(" default"); - } - - if (hasDanglingComments$1(node)) { - parts.push(" ", printDanglingComments$1(path, options, - /* sameIndent */ - true)); - - if (needsHardlineAfterDanglingComment$1(node)) { - parts.push(hardline$8); - } - } - - if (declaration) { - parts.push(" ", path.call(print, "declaration")); - } else { - parts.push(exportKind === "type" ? " type" : "", printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); - } - - if (shouldExportDeclarationPrintSemi(node, options)) { - parts.push(";"); - } - - return concat$c(parts); -} - -function printExportAllDeclaration(path, options, print) { - const node = path.getValue(); - let semi = options.semi ? ";" : ""; - /** @type{Doc[]} */ - - const parts = []; - const { - type, - exportKind, - exported - } = node; - - if (type === "DeclareExportAllDeclaration") { - parts.push("declare "); - semi = ""; - } - - parts.push("export"); - - if (exportKind === "type") { - parts.push(" type"); - } - - parts.push(" *"); - - if (exported) { - parts.push(" as ", path.call(print, "exported")); - } - - parts.push(printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); - return concat$c(parts); -} - -function shouldExportDeclarationPrintSemi(node, options) { - if (!options.semi) { - return false; - } - - const { - type, - declaration - } = node; - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - - if (!declaration) { - return true; - } - - const { - type: declarationType - } = declaration; - - if (isDefaultExport && declarationType !== "ClassDeclaration" && declarationType !== "FunctionDeclaration" && declarationType !== "TSInterfaceDeclaration" && declarationType !== "DeclareClass" && declarationType !== "DeclareFunction" && declarationType !== "TSDeclareFunction" && declarationType !== "EnumDeclaration") { - return true; - } - - return false; -} - -function printModuleSource(path, options, print) { - const node = path.getValue(); - - if (!node.source) { - return ""; - } - /** @type{Doc[]} */ - - - const parts = []; - - if (!shouldNotPrintSpecifiers(node, options)) { - parts.push(" from"); - } - - parts.push(" ", path.call(print, "source")); - return concat$c(parts); -} - -function printModuleSpecifiers(path, options, print) { - const node = path.getValue(); - - if (shouldNotPrintSpecifiers(node, options)) { - return ""; - } - /** @type{Doc[]} */ - - - const parts = [" "]; - - if (node.specifiers && node.specifiers.length > 0) { - const standaloneSpecifiers = []; - const groupedSpecifiers = []; - path.each(specifierPath => { - const specifierType = path.getValue().type; - - if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { - standaloneSpecifiers.push(print(specifierPath)); - } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { - groupedSpecifiers.push(print(specifierPath)); - } else { - /* istanbul ignore next */ - throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`); - } - }, "specifiers"); - parts.push(join$6(", ", standaloneSpecifiers)); - - if (groupedSpecifiers.length !== 0) { - if (standaloneSpecifiers.length !== 0) { - parts.push(", "); - } - - const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some(node => node.comments); - - if (canBreak) { - parts.push(group$5(concat$c(["{", indent$9(concat$c([options.bracketSpacing ? line$6 : softline$5, join$6(concat$c([",", line$6]), groupedSpecifiers)])), ifBreak$1(shouldPrintComma$1(options) ? "," : ""), options.bracketSpacing ? line$6 : softline$5, "}"]))); - } else { - parts.push(concat$c(["{", options.bracketSpacing ? " " : "", concat$c(groupedSpecifiers), options.bracketSpacing ? " " : "", "}"])); - } - } - } else { - parts.push("{}"); - } - - return concat$c(parts); -} - -function shouldNotPrintSpecifiers(node, options) { - const { - type, - importKind, - source, - specifiers - } = node; - - if (type !== "ImportDeclaration" || Array.isArray(specifiers) && specifiers.length > 0 || importKind === "type") { - return false; - } // TODO: check tokens - - - return !/{\s*}/.test(options.originalText.slice(locStart$4(node), locStart$4(source))); -} - -function printImportAssertions(path, options, print) { - const node = path.getNode(); - - if (Array.isArray(node.assertions) && node.assertions.length !== 0) { - return concat$c([" assert {", options.bracketSpacing ? " " : "", join$6(", ", path.map(print, "assertions")), options.bracketSpacing ? " " : "", "}"]); - } - - return ""; -} - -function printModuleSpecifier(path, options, print) { - const node = path.getNode(); - const { - type, - importKind - } = node; - /** @type{Doc[]} */ - - const parts = []; - - if (type === "ImportSpecifier" && importKind) { - parts.push(importKind, " "); - } - - const isImport = type.startsWith("Import"); - const leftSideProperty = isImport ? "imported" : "local"; - const rightSideProperty = isImport ? "local" : "exported"; - let left = ""; - let right = ""; - - if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { - left = "*"; - } else if (node[leftSideProperty]) { - left = path.call(print, leftSideProperty); - } - - if (node[rightSideProperty] && (!node[leftSideProperty] || // import {a as a} from '.' - !hasSameLoc$1(node[leftSideProperty], node[rightSideProperty]))) { - right = path.call(print, rightSideProperty); - } - - parts.push(left, left && right ? " as " : "", right); - return concat$c(parts); -} - -var module$3 = { - printImportDeclaration, - printExportDeclaration, - printExportAllDeclaration, - printModuleSpecifier -}; - -const { - hasNewlineInRange: hasNewlineInRange$4 -} = util; -const { - isJSXNode: isJSXNode$2, - isBlockComment: isBlockComment$4 -} = utils$6; -const { - locStart: locStart$5, - locEnd: locEnd$4 -} = loc; -const { - builders: { - concat: concat$d, - line: line$7, - softline: softline$6, - group: group$6, - indent: indent$a, - align: align$2, - ifBreak: ifBreak$2, - dedent: dedent$1, - breakParent: breakParent$2 - } -} = document; -/** - * @typedef {import("../../document").Doc} Doc - * @typedef {import("../../common/fast-path")} FastPath - * - * @typedef {any} Options - Prettier options (TBD ...) - * - * @typedef {Object} OperatorOptions - * @property {() => Array} beforeParts - Parts to print before the `?`. - * @property {(breakClosingParen: boolean) => Array} afterParts - Parts to print after the conditional expression. - * @property {boolean} shouldCheckJsx - Whether to check for and print in JSX mode. - * @property {string} conditionalNodeType - The type of the conditional expression node, ie "ConditionalExpression" or "TSConditionalType". - * @property {string} consequentNodePropertyName - The property at which the consequent node can be found on the main node, eg "consequent". - * @property {string} alternateNodePropertyName - The property at which the alternate node can be found on the main node, eg "alternate". - * @property {string[]} testNodePropertyNames - The properties at which the test nodes can be found on the main node, eg "test". - */ -// If we have nested conditional expressions, we want to print them in JSX mode -// if there's at least one JSXElement somewhere in the tree. -// -// A conditional expression chain like this should be printed in normal mode, -// because there aren't JSXElements anywhere in it: -// -// isA ? "A" : isB ? "B" : isC ? "C" : "Unknown"; -// -// But a conditional expression chain like this should be printed in JSX mode, -// because there is a JSXElement in the last ConditionalExpression: -// -// isA ? "A" : isB ? "B" : isC ? "C" : Unknown; -// -// This type of ConditionalExpression chain is structured like this in the AST: -// -// ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ..., -// } -// } -// } -// -// We want to traverse over that shape and convert it into a flat structure so -// that we can find if there's a JSXElement somewhere inside. - -function getConditionalChainContents(node) { - // Given this code: - // - // // Using a ConditionalExpression as the consequent is uncommon, but should - // // be handled. - // A ? B : C ? D : E ? F ? G : H : I - // - // which has this AST: - // - // ConditionalExpression { - // test: Identifier(A), - // consequent: Identifier(B), - // alternate: ConditionalExpression { - // test: Identifier(C), - // consequent: Identifier(D), - // alternate: ConditionalExpression { - // test: Identifier(E), - // consequent: ConditionalExpression { - // test: Identifier(F), - // consequent: Identifier(G), - // alternate: Identifier(H), - // }, - // alternate: Identifier(I), - // } - // } - // } - // - // we should return this Array: - // - // [ - // Identifier(A), - // Identifier(B), - // Identifier(C), - // Identifier(D), - // Identifier(E), - // Identifier(F), - // Identifier(G), - // Identifier(H), - // Identifier(I) - // ]; - // - // This loses the information about whether each node was the test, - // consequent, or alternate, but we don't care about that here- we are only - // flattening this structure to find if there's any JSXElements inside. - const nonConditionalExpressions = []; - - function recurse(node) { - if (node.type === "ConditionalExpression") { - recurse(node.test); - recurse(node.consequent); - recurse(node.alternate); - } else { - nonConditionalExpressions.push(node); - } - } - - recurse(node); - return nonConditionalExpressions; -} - -function conditionalExpressionChainContainsJSX(node) { - return getConditionalChainContents(node).some(isJSXNode$2); -} -/** - * The following is the shared logic for - * ternary operators, namely ConditionalExpression - * and TSConditionalType - * @param {FastPath} path - The path to the ConditionalExpression/TSConditionalType node. - * @param {Options} options - Prettier options - * @param {Function} print - Print function to call recursively - * @param {OperatorOptions} operatorOptions - * @returns {Doc} - */ - - -function printTernaryOperator(path, options, print, operatorOptions) { - const node = path.getValue(); - const consequentNode = node[operatorOptions.consequentNodePropertyName]; - const alternateNode = node[operatorOptions.alternateNodePropertyName]; - const parts = []; // We print a ConditionalExpression in either "JSX mode" or "normal mode". - // See tests/jsx/conditional-expression.js for more info. - - let jsxMode = false; - const parent = path.getParentNode(); - const isParentTest = parent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.some(prop => parent[prop] === node); - let forceNoIndent = parent.type === operatorOptions.conditionalNodeType && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost - // ConditionalExpression parent. We'll use these to determine if we should - // print in JSX mode. - - let currentParent; - let previousParent; - let i = 0; - - do { - previousParent = currentParent || node; - currentParent = path.getParentNode(i); - i++; - } while (currentParent && currentParent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.every(prop => currentParent[prop] !== previousParent)); - - const firstNonConditionalParent = currentParent || parent; - const lastConditionalParent = previousParent; - - if (operatorOptions.shouldCheckJsx && (isJSXNode$2(node[operatorOptions.testNodePropertyNames[0]]) || isJSXNode$2(consequentNode) || isJSXNode$2(alternateNode) || conditionalExpressionChainContainsJSX(lastConditionalParent))) { - jsxMode = true; - forceNoIndent = true; // Even though they don't need parens, we wrap (almost) everything in - // parens when using ?: within JSX, because the parens are analogous to - // curly braces in an if statement. - - const wrap = doc => concat$d([ifBreak$2("(", ""), indent$a(concat$d([softline$6, doc])), softline$6, ifBreak$2(")", "")]); // The only things we don't wrap are: - // * Nested conditional expressions in alternates - // * null - // * undefined - - - const isNil = node => node.type === "NullLiteral" || node.type === "Literal" && node.value === null || node.type === "Identifier" && node.name === "undefined"; - - parts.push(" ? ", isNil(consequentNode) ? path.call(print, operatorOptions.consequentNodePropertyName) : wrap(path.call(print, operatorOptions.consequentNodePropertyName)), " : ", alternateNode.type === operatorOptions.conditionalNodeType || isNil(alternateNode) ? path.call(print, operatorOptions.alternateNodePropertyName) : wrap(path.call(print, operatorOptions.alternateNodePropertyName))); - } else { - // normal mode - const part = concat$d([line$7, "? ", consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$2("", "(") : "", align$2(2, path.call(print, operatorOptions.consequentNodePropertyName)), consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$2("", ")") : "", line$7, ": ", alternateNode.type === operatorOptions.conditionalNodeType ? path.call(print, operatorOptions.alternateNodePropertyName) : align$2(2, path.call(print, operatorOptions.alternateNodePropertyName))]); - parts.push(parent.type !== operatorOptions.conditionalNodeType || parent[operatorOptions.alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$1(indent$a(part)) : align$2(Math.max(0, options.tabWidth - 2), part)); - } // We want a whole chain of ConditionalExpressions to all - // break if any of them break. That means we should only group around the - // outer-most ConditionalExpression. - - - const comments = flatten_1([...operatorOptions.testNodePropertyNames.map(propertyName => node[propertyName].comments), consequentNode.comments, alternateNode.comments]).filter(Boolean); - const shouldBreak = comments.some(comment => isBlockComment$4(comment) && hasNewlineInRange$4(options.originalText, locStart$5(comment), locEnd$4(comment))); - - const maybeGroup = doc => parent === firstNonConditionalParent ? group$6(doc, { - shouldBreak - }) : shouldBreak ? concat$d([doc, breakParent$2]) : doc; // Break the closing paren to keep the chain right after it: - // (a - // ? b - // : c - // ).call() - - - const breakClosingParen = !jsxMode && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression" || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; - const result = maybeGroup(concat$d([].concat((testDoc => - /** - * a - * ? b - * : multiline - * test - * node - * ^^ align(2) - * ? d - * : e - */ - parent.type === operatorOptions.conditionalNodeType && parent[operatorOptions.alternateNodePropertyName] === node ? align$2(2, testDoc) : testDoc)(concat$d(operatorOptions.beforeParts())), forceNoIndent ? concat$d(parts) : indent$a(concat$d(parts)), operatorOptions.afterParts(breakClosingParen)))); - return isParentTest ? group$6(concat$d([indent$a(concat$d([softline$6, result])), softline$6])) : result; -} - -var ternary = printTernaryOperator; - -const { - getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$2, - isNextLineEmpty: isNextLineEmpty$2 -} = util; -const { - printDanglingComments: printDanglingComments$2 -} = comments; -const { - builders: { - concat: concat$e, - line: line$8, - hardline: hardline$9, - softline: softline$7, - group: group$7, - indent: indent$b, - ifBreak: ifBreak$3 - }, - utils: { - removeLines: removeLines$1 - } -} = document; -const { - getFunctionParameters: getFunctionParameters$3, - iterateFunctionParametersPath: iterateFunctionParametersPath$1, - isSimpleType: isSimpleType$1, - isTestCall: isTestCall$1, - isTypeAnnotationAFunction: isTypeAnnotationAFunction$1, - isObjectType: isObjectType$1, - isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1, - hasRestParameter: hasRestParameter$1, - shouldPrintComma: shouldPrintComma$2 -} = utils$6; -const { - locEnd: locEnd$5 -} = loc; -const { - printFunctionTypeParameters: printFunctionTypeParameters$1 -} = misc; - -function printFunctionParameters(path, print, options, expandArg, printTypeParams) { - const functionNode = path.getValue(); - const parameters = getFunctionParameters$3(functionNode); - const typeParams = printTypeParams ? printFunctionTypeParameters$1(path, options, print) : ""; - - if (parameters.length === 0) { - return concat$e([typeParams, "(", printDanglingComments$2(path, options, - /* sameIndent */ - true, comment => getNextNonSpaceNonCommentCharacter$2(options.originalText, comment, locEnd$5) === ")"), ")"]); - } - - const parent = path.getParentNode(); - const isParametersInTestCall = isTestCall$1(parent); - const shouldHugParameters = shouldHugFunctionParameters(functionNode); - const shouldExpandParameters = expandArg && !parameters.some(node => node.comments); - const printed = []; - iterateFunctionParametersPath$1(path, (parameterPath, index) => { - const isLastParameter = index === parameters.length - 1; - - if (isLastParameter && functionNode.rest) { - printed.push("..."); - } - - printed.push(parameterPath.call(print)); - - if (isLastParameter) { - return; - } - - printed.push(","); - - if (isParametersInTestCall || shouldHugParameters || shouldExpandParameters) { - printed.push(" "); - } else if (isNextLineEmpty$2(options.originalText, parameters[index], locEnd$5)) { - printed.push(hardline$9, hardline$9); - } else { - printed.push(line$8); - } - }); // If the parent is a call with the first/last argument expansion and this is the - // params of the first/last argument, we don't want the arguments to break and instead - // want the whole expression to be on a new line. - // - // Good: Bad: - // verylongcall( verylongcall(( - // (a, b) => { a, - // } b, - // }) ) => { - // }) - - if (shouldExpandParameters) { - return group$7(concat$e([removeLines$1(typeParams), "(", concat$e(printed.map(removeLines$1)), ")"])); - } // Single object destructuring should hug - // - // function({ - // a, - // b, - // c - // }) {} - - - const hasNotParameterDecorator = parameters.every(node => !node.decorators); - - if (shouldHugParameters && hasNotParameterDecorator) { - return concat$e([typeParams, "(", concat$e(printed), ")"]); - } // don't break in specs, eg; `it("should maintain parens around done even when long", (done) => {})` - - - if (isParametersInTestCall) { - return concat$e([typeParams, "(", concat$e(printed), ")"]); - } - - const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent) || isTypeAnnotationAFunction$1(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && // `type q = (this: string) => void;` - functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType$1(parameters[0].typeAnnotation) && !functionNode.rest; - - if (isFlowShorthandWithOneArg) { - if (options.arrowParens === "always") { - return concat$e(["(", concat$e(printed), ")"]); - } - - return concat$e(printed); - } - - return concat$e([typeParams, "(", indent$b(concat$e([softline$7, concat$e(printed)])), ifBreak$3(!hasRestParameter$1(functionNode) && shouldPrintComma$2(options, "all") ? "," : ""), softline$7, ")"]); -} - -function shouldHugFunctionParameters(node) { - if (!node) { - return false; - } - - const parameters = getFunctionParameters$3(node); - - if (parameters.length !== 1) { - return false; - } - - const [parameter] = parameters; - return !parameter.comments && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType$1(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType$1(parameter.typeAnnotation) || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || parameter.right.type === "ObjectExpression" && parameter.right.properties.length === 0 || parameter.right.type === "ArrayExpression" && parameter.right.elements.length === 0)); -} - -var functionParameters = { - printFunctionParameters, - shouldHugFunctionParameters -}; - -const { - builders: { - concat: concat$f - } -} = document; -const { - isFlowAnnotationComment: isFlowAnnotationComment$1, - isSimpleType: isSimpleType$2, - isObjectType: isObjectType$2 -} = utils$6; - -function printTypeAnnotation(path, options, print) { - const node = path.getValue(); - - if (!node.typeAnnotation) { - return ""; - } - - const parentNode = path.getParentNode(); - const isDefinite = node.definite || parentNode && parentNode.type === "VariableDeclarator" && parentNode.definite; - const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; - - if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation)) { - return concat$f([" /*: ", path.call(print, "typeAnnotation"), " */"]); - } - - return concat$f([isFunctionDeclarationIdentifier ? "" : isDefinite ? "!: " : ": ", path.call(print, "typeAnnotation")]); -} - -function shouldHugType(node) { - if (isSimpleType$2(node) || isObjectType$2(node)) { - return true; - } - - if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { - const voidCount = node.types.filter(n => n.type === "VoidTypeAnnotation" || n.type === "TSVoidKeyword" || n.type === "NullLiteralTypeAnnotation" || n.type === "TSNullKeyword").length; - const hasObject = node.types.some(n => n.type === "ObjectTypeAnnotation" || n.type === "TSTypeLiteral" || // This is a bit aggressive but captures Array<{x}> - n.type === "GenericTypeAnnotation" || n.type === "TSTypeReference"); - - if (node.types.length - 1 === voidCount && hasObject) { - return true; - } - } - - return false; -} - -var typeAnnotation = { - printTypeAnnotation, - shouldHugType -}; - -const { - printDanglingComments: printDanglingComments$3 -} = comments; -const { - builders: { - concat: concat$g, - line: line$9, - softline: softline$8, - group: group$8, - indent: indent$c, - ifBreak: ifBreak$4 - } -} = document; -const { - getLast: getLast$3, - isNextLineEmpty: isNextLineEmpty$3 -} = util; -const { - hasDanglingComments: hasDanglingComments$2, - shouldPrintComma: shouldPrintComma$3 -} = utils$6; -const { - locEnd: locEnd$6 -} = loc; -const { - printOptionalToken: printOptionalToken$1 -} = misc; -const { - printTypeAnnotation: printTypeAnnotation$1 -} = typeAnnotation; -/** @typedef {import("../../document").Doc} Doc */ - -function printArray(path, options, print) { - const n = path.getValue(); - /** @type{Doc[]} */ - - const parts = []; - const openBracket = n.type === "TupleExpression" ? "#[" : "["; - const closeBracket = "]"; - - if (n.elements.length === 0) { - if (!hasDanglingComments$2(n)) { - parts.push(openBracket, closeBracket); - } else { - parts.push(group$8(concat$g([openBracket, printDanglingComments$3(path, options), softline$8, closeBracket]))); - } - } else { - const lastElem = getLast$3(n.elements); - const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which - // changes its length based on the number of commas. The algorithm - // is that if the last argument is null, we need to force insert - // a comma to ensure JavaScript recognizes it. - // [,].length === 1 - // [1,].length === 1 - // [1,,].length === 2 - // - // Note that getLast returns null if the array is empty, but - // we already check for an empty array just above so we are safe - - const needsForcedTrailingComma = canHaveTrailingComma && lastElem === null; - const shouldBreak = !options.__inJestEach && n.elements.length > 1 && n.elements.every((element, i, elements) => { - const elementType = element && element.type; - - if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { - return false; - } - - const nextElement = elements[i + 1]; - - if (nextElement && elementType !== nextElement.type) { - return false; - } - - const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; - return element[itemsKey] && element[itemsKey].length > 1; - }); - parts.push(group$8(concat$g([openBracket, indent$c(concat$g([softline$8, printArrayItems(path, options, "elements", print)])), needsForcedTrailingComma ? "," : "", ifBreak$4(canHaveTrailingComma && !needsForcedTrailingComma && shouldPrintComma$3(options) ? "," : ""), printDanglingComments$3(path, options, - /* sameIndent */ - true), softline$8, closeBracket]), { - shouldBreak - })); - } - - parts.push(printOptionalToken$1(path), printTypeAnnotation$1(path, options, print)); - return concat$g(parts); -} - -function printArrayItems(path, options, printPath, print) { - const printedElements = []; - let separatorParts = []; - path.each(childPath => { - printedElements.push(concat$g(separatorParts)); - printedElements.push(group$8(print(childPath))); - separatorParts = [",", line$9]; - - if (childPath.getValue() && isNextLineEmpty$3(options.originalText, childPath.getValue(), locEnd$6)) { - separatorParts.push(softline$8); - } - }, printPath); - return concat$g(printedElements); -} - -var array$3 = { - printArray, - printArrayItems -}; - -const { - printDanglingComments: printDanglingComments$4 -} = comments; -const { - builders: { - concat: concat$h, - line: line$a, - softline: softline$9, - group: group$9, - indent: indent$d, - ifBreak: ifBreak$5, - hardline: hardline$a - } -} = document; -const { - getLast: getLast$4, - isNextLineEmpty: isNextLineEmpty$4, - hasNewlineInRange: hasNewlineInRange$5, - hasNewline: hasNewline$5 -} = util; -const { - hasDanglingComments: hasDanglingComments$3, - shouldPrintComma: shouldPrintComma$4, - hasNodeIgnoreComment: hasNodeIgnoreComment$1, - isBlockComment: isBlockComment$5 -} = utils$6; -const { - locStart: locStart$6, - locEnd: locEnd$7 -} = loc; -const { - printOptionalToken: printOptionalToken$2 -} = misc; -const { - shouldHugFunctionParameters: shouldHugFunctionParameters$1 -} = functionParameters; -const { - printTypeAnnotation: printTypeAnnotation$2, - shouldHugType: shouldHugType$1 -} = typeAnnotation; -/** @typedef {import("../../document").Doc} Doc */ - -function printObject(path, options, print) { - const semi = options.semi ? ";" : ""; - const n = path.getValue(); - let propertiesField; - - if (n.type === "TSTypeLiteral") { - propertiesField = "members"; - } else if (n.type === "TSInterfaceBody") { - propertiesField = "body"; - } else { - propertiesField = "properties"; - } - - const isTypeAnnotation = n.type === "ObjectTypeAnnotation"; - const fields = []; - - if (isTypeAnnotation) { - fields.push("indexers", "callProperties", "internalSlots"); - } - - fields.push(propertiesField); - const firstProperty = fields.map(field => n[field][0]).sort((a, b) => locStart$6(a) - locStart$6(b))[0]; - const parent = path.getParentNode(0); - const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; - const shouldBreak = n.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || n.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && n.properties.some(property => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || n.type !== "ObjectPattern" && firstProperty && hasNewlineInRange$5(options.originalText, locStart$6(n), locStart$6(firstProperty)); - const separator = isFlowInterfaceLikeBody ? ";" : n.type === "TSInterfaceBody" || n.type === "TSTypeLiteral" ? ifBreak$5(semi, ";") : ","; - const leftBrace = n.type === "RecordExpression" ? "#{" : n.exact ? "{|" : "{"; - const rightBrace = n.exact ? "|}" : "}"; // Unfortunately, things are grouped together in the ast can be - // interleaved in the source code. So we need to reorder them before - // printing them. - - const propsAndLoc = []; - fields.forEach(field => { - path.each(childPath => { - const node = childPath.getValue(); - propsAndLoc.push({ - node, - printed: print(childPath), - loc: locStart$6(node) - }); - }, field); - }); - let separatorParts = []; - const props = propsAndLoc.sort((a, b) => a.loc - b.loc).map(prop => { - const result = concat$h(separatorParts.concat(group$9(prop.printed))); - separatorParts = [separator, line$a]; - - if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasNodeIgnoreComment$1(prop.node)) { - separatorParts.shift(); - } - - if (isNextLineEmpty$4(options.originalText, prop.node, locEnd$7)) { - separatorParts.push(hardline$a); - } - - return result; - }); - - if (n.inexact) { - let printed; - - if (hasDanglingComments$3(n)) { - const hasLineComments = !n.comments.every(comment => isBlockComment$5(comment)); - const printedDanglingComments = printDanglingComments$4(path, options, - /* sameIndent */ - true); - printed = concat$h([printedDanglingComments, hasLineComments || hasNewline$5(options.originalText, locEnd$7(n.comments[n.comments.length - 1])) ? hardline$a : line$a, "..."]); - } else { - printed = "..."; - } - - props.push(concat$h(separatorParts.concat(printed))); - } - - const lastElem = getLast$4(n[propertiesField]); - const canHaveTrailingSeparator = !(n.inexact || lastElem && lastElem.type === "RestElement" || lastElem && (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration") && hasNodeIgnoreComment$1(lastElem)); - let content; - - if (props.length === 0) { - if (!hasDanglingComments$3(n)) { - return concat$h([leftBrace, rightBrace, printTypeAnnotation$2(path, options, print)]); - } - - content = group$9(concat$h([leftBrace, printDanglingComments$4(path, options), softline$9, rightBrace, printOptionalToken$2(path), printTypeAnnotation$2(path, options, print)])); - } else { - content = concat$h([leftBrace, indent$d(concat$h([options.bracketSpacing ? line$a : softline$9, concat$h(props)])), ifBreak$5(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma$4(options)) ? separator : ""), concat$h([options.bracketSpacing ? line$a : softline$9, rightBrace]), printOptionalToken$2(path), printTypeAnnotation$2(path, options, print)]); - } // If we inline the object as first argument of the parent, we don't want - // to create another group so that the object breaks before the return - // type - - - if (path.match(node => node.type === "ObjectPattern" && !node.decorators, (node, name, number) => shouldHugFunctionParameters$1(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || path.match(shouldHugType$1, (node, name) => name === "typeAnnotation", (node, name) => name === "typeAnnotation", (node, name, number) => shouldHugFunctionParameters$1(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0)) { - return content; - } - - return group$9(content, { - shouldBreak - }); -} - -var object = { - printObject -}; - -const { - printComments: printComments$1, - printDanglingComments: printDanglingComments$5 -} = comments; -const { - builders: { - concat: concat$i, - line: line$b, - hardline: hardline$b, - softline: softline$a, - group: group$a, - indent: indent$e, - conditionalGroup: conditionalGroup$1, - fill: fill$3, - ifBreak: ifBreak$6, - lineSuffixBoundary: lineSuffixBoundary$2 - }, - utils: { - willBreak: willBreak$1, - isLineNext: isLineNext$1, - isEmpty: isEmpty$1 - } -} = document; -const { - getLast: getLast$5, - getPreferredQuote: getPreferredQuote$1 -} = util; -const { - hasTrailingComment: hasTrailingComment$1, - isEmptyJSXElement: isEmptyJSXElement$1, - isJSXWhitespaceExpression: isJSXWhitespaceExpression$1, - isJSXNode: isJSXNode$3, - isMeaningfulJSXText: isMeaningfulJSXText$1, - matchJsxWhitespaceRegex: matchJsxWhitespaceRegex$1, - rawText: rawText$1, - isLiteral: isLiteral$1, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$1, - isStringLiteral: isStringLiteral$1, - isBinaryish: isBinaryish$2, - isBlockComment: isBlockComment$6 -} = utils$6; -const { - willPrintOwnComments: willPrintOwnComments$1 -} = comments$1; // JSX expands children from the inside-out, instead of the outside-in. -// This is both to break children before attributes, -// and to ensure that when children break, their parents do as well. -// -// Any element that is written without any newlines and fits on a single line -// is left that way. -// Not only that, any user-written-line containing multiple JSX siblings -// should also be kept on one line if possible, -// so each user-written-line is wrapped in its own group. -// -// Elements that contain newlines or don't fit on a single line (recursively) -// are fully-split, using hardline and shouldBreak: true. -// -// To support that case properly, all leading and trailing spaces -// are stripped from the list of children, and replaced with a single hardline. - -function printJsxElementInternal(path, options, print) { - const n = path.getValue(); - - if (n.type === "JSXElement" && isEmptyJSXElement$1(n)) { - return concat$i([path.call(print, "openingElement"), path.call(print, "closingElement")]); - } - - const openingLines = n.type === "JSXElement" ? path.call(print, "openingElement") : path.call(print, "openingFragment"); - const closingLines = n.type === "JSXElement" ? path.call(print, "closingElement") : path.call(print, "closingFragment"); - - if (n.children.length === 1 && n.children[0].type === "JSXExpressionContainer" && (n.children[0].expression.type === "TemplateLiteral" || n.children[0].expression.type === "TaggedTemplateExpression")) { - return concat$i([openingLines, concat$i(path.map(print, "children")), closingLines]); - } // Convert `{" "}` to text nodes containing a space. - // This makes it easy to turn them into `jsxWhitespace` which - // can then print as either a space or `{" "}` when breaking. - - - n.children = n.children.map(child => { - if (isJSXWhitespaceExpression$1(child)) { - return { - type: "JSXText", - value: " ", - raw: " " - }; - } - - return child; - }); - const containsTag = n.children.filter(isJSXNode$3).length > 0; - const containsMultipleExpressions = n.children.filter(child => child.type === "JSXExpressionContainer").length > 1; - const containsMultipleAttributes = n.type === "JSXElement" && n.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true. - - let forcedBreak = willBreak$1(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; - const isMdxBlock = path.getParentNode().rootMarker === "mdx"; - const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; - const jsxWhitespace = isMdxBlock ? concat$i([" "]) : ifBreak$6(concat$i([rawJsxWhitespace, softline$a]), " "); - const isFacebookTranslationTag = n.openingElement && n.openingElement.name && n.openingElement.name.name === "fbt"; - const children = printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); - const containsText = n.children.some(child => isMeaningfulJSXText$1(child)); // We can end up we multiple whitespace elements with empty string - // content between them. - // We need to remove empty whitespace and softlines before JSX whitespace - // to get the correct output. - - for (let i = children.length - 2; i >= 0; i--) { - const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; - const isPairOfHardlines = children[i] === hardline$b && children[i + 1] === "" && children[i + 2] === hardline$b; - const isLineFollowedByJSXWhitespace = (children[i] === softline$a || children[i] === hardline$b) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isJSXWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline$a || children[i + 2] === hardline$b); - const isDoubleJSXWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isPairOfHardOrSoftLines = children[i] === softline$a && children[i + 1] === "" && children[i + 2] === hardline$b || children[i] === hardline$b && children[i + 1] === "" && children[i + 2] === softline$a; - - if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJSXWhitespace || isDoubleJSXWhitespace || isPairOfHardOrSoftLines) { - children.splice(i, 2); - } else if (isJSXWhitespaceFollowedByLine) { - children.splice(i + 1, 2); - } - } // Trim trailing lines (or empty strings) - - - while (children.length && (isLineNext$1(getLast$5(children)) || isEmpty$1(getLast$5(children)))) { - children.pop(); - } // Trim leading lines (or empty strings) - - - while (children.length && (isLineNext$1(children[0]) || isEmpty$1(children[0])) && (isLineNext$1(children[1]) || isEmpty$1(children[1]))) { - children.shift(); - children.shift(); - } // Tweak how we format children if outputting this element over multiple lines. - // Also detect whether we will force this element to output over multiple lines. - - - const multilineChildren = []; - children.forEach((child, i) => { - // There are a number of situations where we need to ensure we display - // whitespace as `{" "}` when outputting this element over multiple lines. - if (child === jsxWhitespace) { - if (i === 1 && children[i - 1] === "") { - if (children.length === 2) { - // Solitary whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } // Leading whitespace - - - multilineChildren.push(concat$i([rawJsxWhitespace, hardline$b])); - return; - } else if (i === children.length - 1) { - // Trailing whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } else if (children[i - 1] === "" && children[i - 2] === hardline$b) { - // Whitespace after line break - multilineChildren.push(rawJsxWhitespace); - return; - } - } - - multilineChildren.push(child); - - if (willBreak$1(child)) { - forcedBreak = true; - } - }); // If there is text we use `fill` to fit as much onto each line as possible. - // When there is no text (just tags and expressions) we use `group` - // to output each on a separate line. - - const content = containsText ? fill$3(multilineChildren) : group$a(concat$i(multilineChildren), { - shouldBreak: true - }); - - if (isMdxBlock) { - return content; - } - - const multiLineElem = group$a(concat$i([openingLines, indent$e(concat$i([hardline$b, content])), hardline$b, closingLines])); - - if (forcedBreak) { - return multiLineElem; - } - - return conditionalGroup$1([group$a(concat$i([openingLines, concat$i(children), closingLines])), multiLineElem]); -} // JSX Children are strange, mostly for two reasons: -// 1. JSX reads newlines into string values, instead of skipping them like JS -// 2. up to one whitespace between elements within a line is significant, -// but not between lines. -// -// Leading, trailing, and lone whitespace all need to -// turn themselves into the rather ugly `{' '}` when breaking. -// -// We print JSX using the `fill` doc primitive. -// This requires that we give it an array of alternating -// content and whitespace elements. -// To ensure this we add dummy `""` content elements as needed. - - -function printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { - const n = path.getValue(); - const children = []; - path.each((childPath, i) => { - const child = childPath.getValue(); - - if (isLiteral$1(child)) { - const text = rawText$1(child); // Contains a non-whitespace character - - if (isMeaningfulJSXText$1(child)) { - const words = text.split(matchJsxWhitespaceRegex$1); // Starts with whitespace - - if (words[0] === "") { - children.push(""); - words.shift(); - - if (/\n/.test(words[0])) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); - } else { - children.push(jsxWhitespace); - } - - words.shift(); - } - - let endWhitespace; // Ends with whitespace - - if (getLast$5(words) === "") { - words.pop(); - endWhitespace = words.pop(); - } // This was whitespace only without a new line. - - - if (words.length === 0) { - return; - } - - words.forEach((word, i) => { - if (i % 2 === 1) { - children.push(line$b); - } else { - children.push(word); - } - }); - - if (endWhitespace !== undefined) { - if (/\n/.test(endWhitespace)) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } else { - children.push(jsxWhitespace); - } - } else { - const next = n.children[i + 1]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } - } else if (/\n/.test(text)) { - // Keep (up to one) blank line between tags/expressions/text. - // Note: We don't keep blank lines between text elements. - if (text.match(/\n/g).length > 1) { - children.push(""); - children.push(hardline$b); - } - } else { - children.push(""); - children.push(jsxWhitespace); - } - } else { - const printedChild = print(childPath); - children.push(printedChild); - const next = n.children[i + 1]; - const directlyFollowedByMeaningfulText = next && isMeaningfulJSXText$1(next); - - if (directlyFollowedByMeaningfulText) { - const firstWord = rawText$1(next).trim().split(matchJsxWhitespaceRegex$1)[0]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); - } else { - children.push(hardline$b); - } - } - }, "children"); - return children; -} - -function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return ""; - } - - if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { - return child.length === 1 ? softline$a : hardline$b; - } - - return softline$a; -} - -function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return hardline$b; - } - - if (child.length === 1) { - return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline$b : softline$a; - } - - return hardline$b; -} - -function maybeWrapJSXElementInParens(path, elem, options) { - const parent = path.getParentNode(); - /* istanbul ignore next */ - - if (!parent) { - return elem; - } - - const NO_WRAP_PARENTS = { - ArrayExpression: true, - JSXAttribute: true, - JSXElement: true, - JSXExpressionContainer: true, - JSXFragment: true, - ExpressionStatement: true, - CallExpression: true, - OptionalCallExpression: true, - ConditionalExpression: true, - JsExpressionRoot: true - }; - - if (NO_WRAP_PARENTS[parent.type]) { - return elem; - } - - const shouldBreak = path.match(undefined, node => node.type === "ArrowFunctionExpression", isCallOrOptionalCallExpression$1, node => node.type === "JSXExpressionContainer"); - const needsParens = needsParens_1(path, options); - return group$a(concat$i([needsParens ? "" : ifBreak$6("("), indent$e(concat$i([softline$a, elem])), softline$a, needsParens ? "" : ifBreak$6(")")]), { - shouldBreak - }); -} - -function printJsxAttribute(path, options, print) { - const n = path.getValue(); - const parts = []; - parts.push(path.call(print, "name")); - - if (n.value) { - let res; - - if (isStringLiteral$1(n.value)) { - const raw = rawText$1(n.value); // Unescape all quotes so we get an accurate preferred quote - - let final = raw.replace(/'/g, "'").replace(/"/g, '"'); - const quote = getPreferredQuote$1(final, options.jsxSingleQuote ? "'" : '"'); - const escape = quote === "'" ? "'" : """; - final = final.slice(1, -1).replace(new RegExp(quote, "g"), escape); - res = concat$i([quote, final, quote]); - } else { - res = path.call(print, "value"); - } - - parts.push("=", res); - } - - return concat$i(parts); -} - -function printJsxExpressionContainer(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(0); - const hasComments = n.expression.comments && n.expression.comments.length > 0; - const shouldInline = n.expression.type === "JSXEmptyExpression" || !hasComments && (n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression" || n.expression.type === "ArrowFunctionExpression" || n.expression.type === "CallExpression" || n.expression.type === "OptionalCallExpression" || n.expression.type === "FunctionExpression" || n.expression.type === "TemplateLiteral" || n.expression.type === "TaggedTemplateExpression" || n.expression.type === "DoExpression" || isJSXNode$3(parent) && (n.expression.type === "ConditionalExpression" || isBinaryish$2(n.expression))); - - if (shouldInline) { - return group$a(concat$i(["{", path.call(print, "expression"), lineSuffixBoundary$2, "}"])); - } - - return group$a(concat$i(["{", indent$e(concat$i([softline$a, path.call(print, "expression")])), softline$a, lineSuffixBoundary$2, "}"])); -} - -function printJsxOpeningElement(path, options, print) { - const n = path.getValue(); - const nameHasComments = n.name && n.name.comments && n.name.comments.length > 0 || n.typeParameters && n.typeParameters.comments && n.typeParameters.comments.length > 0; // Don't break self-closing elements with no attributes and no comments - - if (n.selfClosing && !n.attributes.length && !nameHasComments) { - return concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), " />"]); - } // don't break up opening elements with a single long text attribute - - - if (n.attributes && n.attributes.length === 1 && n.attributes[0].value && isStringLiteral$1(n.attributes[0].value) && !n.attributes[0].value.value.includes("\n") && // We should break for the following cases: - //

- //
- !nameHasComments && (!n.attributes[0].comments || !n.attributes[0].comments.length)) { - return group$a(concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), " ", concat$i(path.map(print, "attributes")), n.selfClosing ? " />" : ">"])); - } - - const lastAttrHasTrailingComments = n.attributes.length && hasTrailingComment$1(getLast$5(n.attributes)); - const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be - // kept unbroken regardless of `jsxBracketSameLine` - !n.attributes.length && !nameHasComments || options.jsxBracketSameLine && ( // We should print the bracket in a new line for the following cases: - //
- //
- !nameHasComments || n.attributes.length) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a - // string literal with newlines - - const shouldBreak = n.attributes && n.attributes.some(attr => attr.value && isStringLiteral$1(attr.value) && attr.value.value.includes("\n")); - return group$a(concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), concat$i([indent$e(concat$i(path.map(attr => concat$i([line$b, print(attr)]), "attributes"))), n.selfClosing ? line$b : bracketSameLine ? ">" : softline$a]), n.selfClosing ? "/>" : bracketSameLine ? "" : ">"]), { - shouldBreak - }); -} - -function printJsxClosingElement(path, options, print) { - return concat$i([""]); -} - -function printJsxOpeningClosingFragment(path, options -/*, print*/ -) { - const n = path.getValue(); - const hasComment = n.comments && n.comments.length; - const hasOwnLineComment = hasComment && !n.comments.every(comment => isBlockComment$6(comment)); - const isOpeningFragment = n.type === "JSXOpeningFragment"; - return concat$i([isOpeningFragment ? "<" : ""]); -} - -function printJsxElement(path, options, print) { - const elem = printComments$1(path, () => printJsxElementInternal(path, options, print), options); - return maybeWrapJSXElementInParens(path, elem, options); -} - -function printJsxEmptyExpression(path, options -/*, print*/ -) { - const n = path.getValue(); - const requiresHardline = n.comments && !n.comments.every(comment => isBlockComment$6(comment)); - return concat$i([printDanglingComments$5(path, options, - /* sameIndent */ - !requiresHardline), requiresHardline ? hardline$b : ""]); -} // `JSXSpreadAttribute` and `JSXSpreadChild` - - -function printJsxSpreadAttribute(path, options, print) { - const n = path.getValue(); - return concat$i(["{", path.call(p => { - const printed = concat$i(["...", print(p)]); - const n = p.getValue(); - - if (!n.comments || !n.comments.length || !willPrintOwnComments$1(p)) { - return printed; - } - - return concat$i([indent$e(concat$i([softline$a, printComments$1(p, () => printed, options)])), softline$a]); - }, n.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]); -} - -var jsx = { - printJsxElement, - printJsxAttribute, - printJsxOpeningElement, - printJsxClosingElement, - printJsxOpeningClosingFragment, - printJsxExpressionContainer, - printJsxEmptyExpression, - printJsxSpreadAttribute, - // Alias - printJsxSpreadChild: printJsxSpreadAttribute -}; - -const { - printDanglingComments: printDanglingComments$6 -} = comments; -const { - builders: { - concat: concat$j, - join: join$7, - line: line$c, - hardline: hardline$c, - softline: softline$b, - group: group$b, - indent: indent$f, - ifBreak: ifBreak$7 - } -} = document; -const { - hasDanglingComments: hasDanglingComments$4, - isTestCall: isTestCall$2, - isBlockComment: isBlockComment$7, - shouldPrintComma: shouldPrintComma$5 -} = utils$6; -const { - shouldHugType: shouldHugType$2 -} = typeAnnotation; -const typeParametersGroupIds = new WeakMap(); - -function getTypeParametersGroupId(node) { - if (!typeParametersGroupIds.has(node)) { - typeParametersGroupIds.set(node, Symbol("typeParameters")); - } - - return typeParametersGroupIds.get(node); -} - -function printTypeParameters(path, options, print, paramsKey) { - const n = path.getValue(); - - if (!n[paramsKey]) { - return ""; - } // for TypeParameterDeclaration typeParameters is a single node - - - if (!Array.isArray(n[paramsKey])) { - return path.call(print, paramsKey); - } - - const grandparent = path.getNode(2); - const isParameterInTestCall = grandparent != null && isTestCall$2(grandparent); - const shouldInline = isParameterInTestCall || n[paramsKey].length === 0 || n[paramsKey].length === 1 && (shouldHugType$2(n[paramsKey][0]) || n[paramsKey][0].type === "GenericTypeAnnotation" && shouldHugType$2(n[paramsKey][0].id) || n[paramsKey][0].type === "TSTypeReference" && shouldHugType$2(n[paramsKey][0].typeName) || n[paramsKey][0].type === "NullableTypeAnnotation"); - - if (shouldInline) { - return concat$j(["<", join$7(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(path, options), ">"]); - } - - return group$b(concat$j(["<", indent$f(concat$j([softline$b, join$7(concat$j([",", line$c]), path.map(print, paramsKey))])), ifBreak$7(options.parser !== "typescript" && options.parser !== "babel-ts" && shouldPrintComma$5(options, "all") ? "," : ""), softline$b, ">"]), { - id: getTypeParametersGroupId(n) - }); -} - -function printDanglingCommentsForInline(path, options) { - const n = path.getValue(); - - if (!hasDanglingComments$4(n)) { - return ""; - } - - const hasOnlyBlockComments = n.comments.every(comment => isBlockComment$7(comment)); - const printed = printDanglingComments$6(path, options, - /* sameIndent */ - hasOnlyBlockComments); - - if (hasOnlyBlockComments) { - return printed; - } - - return concat$j([printed, hardline$c]); -} - -var typeParameters = { - printTypeParameters, - getTypeParametersGroupId -}; - -const { - printComments: printComments$2 -} = comments; -const { - printString: printString$1, - printNumber: printNumber$1 -} = util; -const { - builders: { - concat: concat$k - } -} = document; -const { - isNumericLiteral: isNumericLiteral$1, - isSimpleNumber: isSimpleNumber$1, - isStringLiteral: isStringLiteral$2, - isStringPropSafeToUnquote: isStringPropSafeToUnquote$1, - rawText: rawText$2 -} = utils$6; -const needsQuoteProps = new WeakMap(); - -function printPropertyKey(path, options, print) { - const node = path.getNode(); - - if (node.computed) { - return concat$k(["[", path.call(print, "key"), "]"]); - } - - const parent = path.getParentNode(); - const { - key - } = node; - - if (node.type === "ClassPrivateProperty" && // flow has `Identifier` key, and babel has `PrivateName` key - key.type === "Identifier") { - return concat$k(["#", path.call(print, "key")]); - } - - if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { - const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral$2(prop.key) && !isStringPropSafeToUnquote$1(prop, options)); - needsQuoteProps.set(parent, objectHasStringProp); - } - - if ((key.type === "Identifier" || isNumericLiteral$1(key) && isSimpleNumber$1(printNumber$1(rawText$2(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. - String(key.value) === printNumber$1(rawText$2(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as - // mentioned in `isStringPropSafeToUnquote`). - !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { - // a -> "a" - // 1 -> "1" - // 1.5 -> "1.5" - const prop = printString$1(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); - return path.call(keyPath => printComments$2(keyPath, () => prop, options), "key"); - } - - if (isStringPropSafeToUnquote$1(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { - // 'a' -> a - // '1' -> 1 - // '1.5' -> 1.5 - return path.call(keyPath => printComments$2(keyPath, () => /^\d/.test(key.value) ? printNumber$1(key.value) : key.value, options), "key"); - } - - return path.call(print, "key"); -} - -var property$1 = { - printPropertyKey -}; - -/** @type {import("assert")} */ - - -const { - printDanglingComments: printDanglingComments$7 -} = comments; -const { - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3 -} = util; -const { - builders: { - concat: concat$l, - line: line$d, - softline: softline$c, - group: group$c, - indent: indent$g, - ifBreak: ifBreak$8, - hardline: hardline$d - } -} = document; -const { - getFunctionParameters: getFunctionParameters$4, - hasDanglingComments: hasDanglingComments$5, - hasLeadingOwnLineComment: hasLeadingOwnLineComment$1, - isFlowAnnotationComment: isFlowAnnotationComment$2, - isJSXNode: isJSXNode$4, - isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1, - shouldPrintComma: shouldPrintComma$6, - startsWithNoLookaheadToken: startsWithNoLookaheadToken$2, - returnArgumentHasLeadingComment: returnArgumentHasLeadingComment$1, - isBinaryish: isBinaryish$3, - isLineComment: isLineComment$1 -} = utils$6; -const { - locEnd: locEnd$8 -} = loc; -const { - printFunctionParameters: printFunctionParameters$1 -} = functionParameters; -const { - printPropertyKey: printPropertyKey$1 -} = property$1; -const { - printFunctionTypeParameters: printFunctionTypeParameters$2 -} = misc; - -function printFunctionDeclaration(path, print, options, expandArg) { - const n = path.getValue(); - const parts = []; - - if (n.async) { - parts.push("async "); - } - - if (n.generator) { - parts.push("function* "); - } else { - parts.push("function "); - } - - if (n.id) { - parts.push(path.call(print, "id")); - } - - parts.push(printFunctionTypeParameters$2(path, options, print), group$c(concat$l([printFunctionParameters$1(path, print, options, expandArg), printReturnType(path, print, options)])), n.body ? " " : "", path.call(print, "body")); - return concat$l(parts); -} - -function printMethod(path, options, print) { - const node = path.getNode(); - const { - kind - } = node; - const value = node.value || node; - const parts = []; - - if (!kind || kind === "init" || kind === "method" || kind === "constructor") { - if (value.async) { - parts.push("async "); - } - } else { - assert__default['default'].ok(kind === "get" || kind === "set"); - parts.push(kind, " "); - } // A `getter`/`setter` can't be a generator, but it's recoverable - - - if (value.generator) { - parts.push("*"); - } - - parts.push(printPropertyKey$1(path, options, print), node.optional || node.key.optional ? "?" : "", node === value ? printMethodInternal(path, options, print) : path.call(path => printMethodInternal(path, options, print), "value")); - return concat$l(parts); -} - -function printMethodInternal(path, options, print) { - const parts = [printFunctionTypeParameters$2(path, options, print), group$c(concat$l([printFunctionParameters$1(path, print, options), printReturnType(path, print, options)]))]; - - if (path.getNode().body) { - parts.push(" ", path.call(print, "body")); - } else { - parts.push(options.semi ? ";" : ""); - } - - return concat$l(parts); -} - -function printArrowFunctionExpression(path, options, print, args) { - const n = path.getValue(); - const parts = []; - - if (n.async) { - parts.push("async "); - } - - if (shouldPrintParamsWithoutParens(path, options)) { - parts.push(path.call(print, "params", 0)); - } else { - parts.push(group$c(concat$l([printFunctionParameters$1(path, print, options, - /* expandLast */ - args && (args.expandLastArg || args.expandFirstArg), - /* printTypeParams */ - true), printReturnType(path, print, options)]))); - } - - const dangling = printDanglingComments$7(path, options, - /* sameIndent */ - true, comment => { - const nextCharacter = getNextNonSpaceNonCommentCharacterIndex$3(options.originalText, comment, locEnd$8); - return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; - }); - - if (dangling) { - parts.push(" ", dangling); - } - - parts.push(" =>"); - const body = path.call(bodyPath => print(bodyPath, args), "body"); // We want to always keep these types of nodes on the same line - // as the arrow. - - if (!hasLeadingOwnLineComment$1(options.originalText, n.body) && (n.body.type === "ArrayExpression" || n.body.type === "ObjectExpression" || n.body.type === "BlockStatement" || isJSXNode$4(n.body) || isTemplateOnItsOwnLine$1(n.body, options.originalText) || n.body.type === "ArrowFunctionExpression" || n.body.type === "DoExpression")) { - return group$c(concat$l([concat$l(parts), " ", body])); - } // We handle sequence expressions as the body of arrows specially, - // so that the required parentheses end up on their own lines. - - - if (n.body.type === "SequenceExpression") { - return group$c(concat$l([concat$l(parts), group$c(concat$l([" (", indent$g(concat$l([softline$c, body])), softline$c, ")"]))])); - } // if the arrow function is expanded as last argument, we are adding a - // level of indentation and need to add a softline to align the closing ) - // with the opening (, or if it's inside a JSXExpression (e.g. an attribute) - // we should align the expression's closing } with the line with the opening {. - - - const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !(n.comments && n.comments.length); - const printTrailingComma = args && args.expandLastArg && shouldPrintComma$6(options, "all"); // In order to avoid confusion between - // a => a ? a : a - // a <= a ? a : a - - const shouldAddParens = n.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken$2(n.body, - /* forbidFunctionAndClass */ - false); - return group$c(concat$l([concat$l(parts), group$c(concat$l([indent$g(concat$l([line$d, shouldAddParens ? ifBreak$8("", "(") : "", body, shouldAddParens ? ifBreak$8("", ")") : ""])), shouldAddSoftLine ? concat$l([ifBreak$8(printTrailingComma ? "," : ""), softline$c]) : ""]))])); -} - -function canPrintParamsWithoutParens(node) { - const parameters = getFunctionParameters$4(node); - return parameters.length === 1 && !node.typeParameters && !hasDanglingComments$5(node) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !parameters[0].comments && !parameters[0].optional && !node.predicate && !node.returnType; -} - -function shouldPrintParamsWithoutParens(path, options) { - if (options.arrowParens === "always") { - return false; - } - - if (options.arrowParens === "avoid") { - const node = path.getValue(); - return canPrintParamsWithoutParens(node); - } // Fallback default; should be unreachable - - /* istanbul ignore next */ - - - return false; -} - -function printReturnType(path, print, options) { - const n = path.getValue(); - const returnType = path.call(print, "returnType"); - - if (n.returnType && isFlowAnnotationComment$2(options.originalText, n.returnType)) { - return concat$l([" /*: ", returnType, " */"]); - } - - const parts = [returnType]; // prepend colon to TypeScript type annotation - - if (n.returnType && n.returnType.typeAnnotation) { - parts.unshift(": "); - } - - if (n.predicate) { - // The return type will already add the colon, but otherwise we - // need to do it ourselves - parts.push(n.returnType ? " " : ": ", path.call(print, "predicate")); - } - - return concat$l(parts); -} // `ReturnStatement` and `ThrowStatement` - - -function printReturnAndThrowArgument(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - - if (node.argument) { - if (returnArgumentHasLeadingComment$1(options, node.argument)) { - parts.push(concat$l([" (", indent$g(concat$l([hardline$d, path.call(print, "argument")])), hardline$d, ")"])); - } else if (isBinaryish$3(node.argument) || node.argument.type === "SequenceExpression") { - parts.push(group$c(concat$l([ifBreak$8(" (", " "), indent$g(concat$l([softline$c, path.call(print, "argument")])), softline$c, ifBreak$8(")")]))); - } else { - parts.push(" ", path.call(print, "argument")); - } - } - - const lastComment = Array.isArray(node.comments) && node.comments[node.comments.length - 1]; - const isLastCommentLine = lastComment && isLineComment$1(lastComment); - - if (isLastCommentLine) { - parts.push(semi); - } - - if (hasDanglingComments$5(node)) { - parts.push(" ", printDanglingComments$7(path, options, - /* sameIndent */ - true)); - } - - if (!isLastCommentLine) { - parts.push(semi); - } - - return concat$l(parts); -} - -var _function = { - printFunctionDeclaration, - printArrowFunctionExpression, - printMethod, - printReturnAndThrowArgument, - shouldPrintParamsWithoutParens -}; - -const { - printComments: printComments$3, - printDanglingComments: printDanglingComments$8 -} = comments; -const { - builders: { - concat: concat$m, - join: join$8, - line: line$e, - hardline: hardline$e, - softline: softline$d, - group: group$d, - indent: indent$h, - ifBreak: ifBreak$9 - } -} = document; -const { - hasTrailingComment: hasTrailingComment$2, - hasTrailingLineComment: hasTrailingLineComment$1 -} = utils$6; -const { - getTypeParametersGroupId: getTypeParametersGroupId$1 -} = typeParameters; -const { - printMethod: printMethod$1 -} = _function; -const { - printDecorators: printDecorators$1 -} = misc; - -function printClass(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.abstract) { - parts.push("abstract "); - } - - parts.push("class"); // Keep old behaviour of extends in same line - // If there is only on extends and there are not comments - - const groupMode = n.id && hasTrailingComment$2(n.id) || n.superClass && n.superClass.comments && n.superClass.comments.length !== 0 || n.extends && n.extends.length !== 0 || // DeclareClass - n.mixins && n.mixins.length !== 0 || n.implements && n.implements.length !== 0; - const partsGroup = []; - const extendsParts = []; - - if (n.id) { - partsGroup.push(" ", path.call(print, "id")); - } - - partsGroup.push(path.call(print, "typeParameters")); - - if (n.superClass) { - const printed = concat$m(["extends ", printSuperClass(path, options, print), path.call(print, "superTypeParameters")]); - const printedWithComments = path.call(superClass => printComments$3(superClass, () => printed, options), "superClass"); - - if (groupMode) { - extendsParts.push(line$e, group$d(printedWithComments)); - } else { - extendsParts.push(" ", printedWithComments); - } - } else { - extendsParts.push(printList(path, options, print, "extends")); - } - - extendsParts.push(printList(path, options, print, "mixins")); - extendsParts.push(printList(path, options, print, "implements")); - - if (groupMode) { - const printedExtends = concat$m(extendsParts); - - if (shouldIndentOnlyHeritageClauses(n)) { - parts.push(group$d(concat$m(partsGroup.concat(ifBreak$9(indent$h(printedExtends), printedExtends))))); - } else { - parts.push(group$d(indent$h(concat$m(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return concat$m(parts); -} - -function hasMultipleHeritage(node) { - return ["superClass", "extends", "mixins", "implements"].filter(key => !!node[key]).length > 1; -} - -function shouldIndentOnlyHeritageClauses(node) { - return node.typeParameters && !hasTrailingLineComment$1(node.typeParameters) && !hasMultipleHeritage(node); -} - -function printList(path, options, print, listName) { - const n = path.getValue(); - - if (!n[listName] || n[listName].length === 0) { - return ""; - } - - const printedLeadingComments = printDanglingComments$8(path, options, - /* sameIndent */ - true, ({ - marker - }) => marker === listName); - return concat$m([shouldIndentOnlyHeritageClauses(n) ? ifBreak$9(" ", line$e, { - groupId: getTypeParametersGroupId$1(n.typeParameters) - }) : line$e, printedLeadingComments, printedLeadingComments && hardline$e, listName, group$d(indent$h(concat$m([line$e, join$8(concat$m([",", line$e]), path.map(print, listName))])))]); -} - -function printSuperClass(path, options, print) { - const printed = path.call(print, "superClass"); - const parent = path.getParentNode(); - - if (parent.type === "AssignmentExpression") { - return group$d(ifBreak$9(concat$m(["(", indent$h(concat$m([softline$d, printed])), softline$d, ")"]), printed)); - } - - return printed; -} - -function printClassMethod(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators$1(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractMethodDefinition" || n.abstract) { - parts.push("abstract "); - } - - parts.push(printMethod$1(path, options, print)); - return concat$m(parts); -} - -var _class = { - printClass, - printClassMethod -}; - -const { - getLast: getLast$6, - getPenultimate: getPenultimate$1, - isNextLineEmpty: isNextLineEmpty$5 -} = util; -const { - getFunctionParameters: getFunctionParameters$5, - iterateFunctionParametersPath: iterateFunctionParametersPath$2, - hasLeadingComment: hasLeadingComment$3, - hasTrailingComment: hasTrailingComment$3, - isFunctionCompositionArgs: isFunctionCompositionArgs$1, - isJSXNode: isJSXNode$5, - isLongCurriedCallExpression: isLongCurriedCallExpression$1, - shouldPrintComma: shouldPrintComma$7, - getCallArguments: getCallArguments$1, - iterateCallArgumentsPath: iterateCallArgumentsPath$1 -} = utils$6; -const { - locEnd: locEnd$9 -} = loc; -const { - builders: { - concat: concat$n, - line: line$f, - hardline: hardline$f, - softline: softline$e, - group: group$e, - indent: indent$i, - conditionalGroup: conditionalGroup$2, - ifBreak: ifBreak$a, - breakParent: breakParent$3 - }, - utils: { - willBreak: willBreak$2 - } -} = document; - -function printCallArguments(path, options, print) { - const node = path.getValue(); - const isDynamicImport = node.type === "ImportExpression"; - const args = getCallArguments$1(node); - - if (args.length === 0) { - return concat$n(["(", comments.printDanglingComments(path, options, - /* sameIndent */ - true), ")"]); - } // useEffect(() => { ... }, [foo, bar, baz]) - - - if (args.length === 2 && args[0].type === "ArrowFunctionExpression" && getFunctionParameters$5(args[0]).length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some(arg => arg.comments)) { - return concat$n(["(", path.call(print, "arguments", 0), ", ", path.call(print, "arguments", 1), ")"]); - } // func( - // ({ - // a, - // - // b - // }) => {} - // ); - - - function shouldBreakForArrowFunctionInArguments(arg, argPath) { - if (!arg || arg.type !== "ArrowFunctionExpression" || !arg.body || arg.body.type !== "BlockStatement" || getFunctionParameters$5(arg).length === 0) { - return false; - } - - let shouldBreak = false; - iterateFunctionParametersPath$2(argPath, parameterPath => { - shouldBreak = shouldBreak || willBreak$2(concat$n([print(parameterPath)])); - }); - return shouldBreak; - } - - let anyArgEmptyLine = false; - let shouldBreakForArrowFunction = false; - let hasEmptyLineFollowingFirstArg = false; - const lastArgIndex = args.length - 1; - const printedArguments = []; - iterateCallArgumentsPath$1(path, (argPath, index) => { - const arg = argPath.getNode(); - const parts = [print(argPath)]; - - if (index === lastArgIndex) ; else if (isNextLineEmpty$5(options.originalText, arg, locEnd$9)) { - if (index === 0) { - hasEmptyLineFollowingFirstArg = true; - } - - anyArgEmptyLine = true; - parts.push(",", hardline$f, hardline$f); - } else { - parts.push(",", line$f); - } - - shouldBreakForArrowFunction = shouldBreakForArrowFunctionInArguments(arg, argPath); - printedArguments.push(concat$n(parts)); - }); - const maybeTrailingComma = // Dynamic imports cannot have trailing commas - !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma$7(options, "all") ? "," : ""; - - function allArgsBrokenOut() { - return group$e(concat$n(["(", indent$i(concat$n([line$f, concat$n(printedArguments)])), maybeTrailingComma, line$f, ")"]), { - shouldBreak: true - }); - } - - if (path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs$1(args)) { - return allArgsBrokenOut(); - } - - const shouldGroupFirst = shouldGroupFirstArg(args); - const shouldGroupLast = shouldGroupLastArg(args); - - if (shouldGroupFirst || shouldGroupLast) { - const shouldBreak = (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$2) : printedArguments.slice(0, -1).some(willBreak$2)) || anyArgEmptyLine || shouldBreakForArrowFunction; // We want to print the last argument with a special flag - - let printedExpanded = []; - iterateCallArgumentsPath$1(path, (argPath, i) => { - if (shouldGroupFirst && i === 0) { - printedExpanded = [concat$n([argPath.call(p => print(p, { - expandFirstArg: true - })), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline$f : line$f, hasEmptyLineFollowingFirstArg ? hardline$f : ""])].concat(printedArguments.slice(1)); - } - - if (shouldGroupLast && i === args.length - 1) { - printedExpanded = printedArguments.slice(0, -1).concat(argPath.call(p => print(p, { - expandLastArg: true - }))); - } - }); - const somePrintedArgumentsWillBreak = printedArguments.some(willBreak$2); - const simpleConcat = concat$n(["(", concat$n(printedExpanded), ")"]); - return concat$n([somePrintedArgumentsWillBreak ? breakParent$3 : "", conditionalGroup$2([!somePrintedArgumentsWillBreak && !node.typeArguments && !node.typeParameters ? simpleConcat : ifBreak$a(allArgsBrokenOut(), simpleConcat), shouldGroupFirst ? concat$n(["(", group$e(printedExpanded[0], { - shouldBreak: true - }), concat$n(printedExpanded.slice(1)), ")"]) : concat$n(["(", concat$n(printedArguments.slice(0, -1)), group$e(getLast$6(printedExpanded), { - shouldBreak: true - }), ")"]), allArgsBrokenOut()], { - shouldBreak - })]); - } - - const contents = concat$n(["(", indent$i(concat$n([softline$e, concat$n(printedArguments)])), ifBreak$a(maybeTrailingComma), softline$e, ")"]); - - if (isLongCurriedCallExpression$1(path)) { - // By not wrapping the arguments in a group, the printer prioritizes - // breaking up these arguments rather than the args of the parent call. - return contents; - } - - return group$e(contents, { - shouldBreak: printedArguments.some(willBreak$2) || anyArgEmptyLine - }); -} - -function couldGroupArg(arg) { - return arg.type === "ObjectExpression" && (arg.properties.length > 0 || arg.comments) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || arg.comments) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || arg.type === "TSAsExpression" && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && ( // we want to avoid breaking inside composite return types but not simple keywords - // https://github.com/prettier/prettier/issues/4070 - // export class Thing implements OtherThing { - // do: (type: Type) => Provider = memoize( - // (type: ObjectType): Provider => {} - // ); - // } - // https://github.com/prettier/prettier/issues/6099 - // app.get("/", (req, res): void => { - // res.send("Hello World!"); - // }); - !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference") && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || arg.body.type === "CallExpression" || arg.body.type === "OptionalCallExpression" || arg.body.type === "ConditionalExpression" || isJSXNode$5(arg.body)); -} - -function shouldGroupLastArg(args) { - const lastArg = getLast$6(args); - const penultimateArg = getPenultimate$1(args); - return !hasLeadingComment$3(lastArg) && !hasTrailingComment$3(lastArg) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type, - // disable last element expansion. - !penultimateArg || penultimateArg.type !== lastArg.type); -} - -function shouldGroupFirstArg(args) { - if (args.length !== 2) { - return false; - } - - const [firstArg, secondArg] = args; - return (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); -} - -var callArguments = printCallArguments; - -const { - builders: { - concat: concat$o, - softline: softline$f, - group: group$f, - indent: indent$j - } -} = document; -const { - isNumericLiteral: isNumericLiteral$2 -} = utils$6; -const { - printOptionalToken: printOptionalToken$3 -} = misc; - -function printMemberExpression(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(); - let firstNonMemberParent; - let i = 0; - - do { - firstNonMemberParent = path.getParentNode(i); - i++; - } while (firstNonMemberParent && (firstNonMemberParent.type === "MemberExpression" || firstNonMemberParent.type === "OptionalMemberExpression" || firstNonMemberParent.type === "TSNonNullExpression")); - - const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "VariableDeclarator" && firstNonMemberParent.id.type !== "Identifier" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || n.computed || n.object.type === "Identifier" && n.property.type === "Identifier" && parent.type !== "MemberExpression" && parent.type !== "OptionalMemberExpression"; - return concat$o([path.call(print, "object"), shouldInline ? printMemberLookup(path, options, print) : group$f(indent$j(concat$o([softline$f, printMemberLookup(path, options, print)])))]); -} - -function printMemberLookup(path, options, print) { - const property = path.call(print, "property"); - const n = path.getValue(); - const optional = printOptionalToken$3(path); - - if (!n.computed) { - return concat$o([optional, ".", property]); - } - - if (!n.property || isNumericLiteral$2(n.property)) { - return concat$o([optional, "[", property, "]"]); - } - - return group$f(concat$o([optional, "[", indent$j(concat$o([softline$f, property])), softline$f, "]"])); -} - -var member = { - printMemberExpression, - printMemberLookup -}; - -const { - getLast: getLast$7, - isNextLineEmpty: isNextLineEmpty$6, - isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$4 -} = util; -const { - hasLeadingComment: hasLeadingComment$4, - hasTrailingComment: hasTrailingComment$4, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$2, - isFunctionOrArrowExpression: isFunctionOrArrowExpression$1, - isLongCurriedCallExpression: isLongCurriedCallExpression$2, - isMemberish: isMemberish$1, - isNumericLiteral: isNumericLiteral$3, - isSimpleCallArgument: isSimpleCallArgument$1 -} = utils$6; -const { - locEnd: locEnd$a -} = loc; -const { - builders: { - concat: concat$p, - join: join$9, - hardline: hardline$g, - group: group$g, - indent: indent$k, - conditionalGroup: conditionalGroup$3, - breakParent: breakParent$4 - }, - utils: { - willBreak: willBreak$3 - } -} = document; -const { - printMemberLookup: printMemberLookup$1 -} = member; -const { - printOptionalToken: printOptionalToken$4, - printFunctionTypeParameters: printFunctionTypeParameters$3, - printBindExpressionCallee: printBindExpressionCallee$1 -} = misc; // We detect calls on member expressions specially to format a -// common pattern better. The pattern we are looking for is this: -// -// arr -// .map(x => x + 1) -// .filter(x => x > 10) -// .some(x => x % 2) -// -// The way it is structured in the AST is via a nested sequence of -// MemberExpression and CallExpression. We need to traverse the AST -// and make groups out of it to print it in the desired way. - -function printMemberChain(path, options, print) { - const parent = path.getParentNode(); - const isExpressionStatement = !parent || parent.type === "ExpressionStatement"; // The first phase is to linearize the AST by traversing it down. - // - // a().b() - // has the following AST structure: - // CallExpression(MemberExpression(CallExpression(Identifier))) - // and we transform it into - // [Identifier, CallExpression, MemberExpression, CallExpression] - - const printedNodes = []; // Here we try to retain one typed empty line after each call expression or - // the first group whether it is in parentheses or not - - function shouldInsertEmptyLineAfter(node) { - const { - originalText - } = options; - const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$4(originalText, node, locEnd$a); - const nextChar = originalText.charAt(nextCharIndex); // if it is cut off by a parenthesis, we only account for one typed empty - // line after that parenthesis - - if (nextChar === ")") { - return nextCharIndex !== false && isNextLineEmptyAfterIndex$2(originalText, nextCharIndex + 1); - } - - return isNextLineEmpty$6(originalText, node, locEnd$a); - } - - function rec(path) { - const node = path.getValue(); - - if (isCallOrOptionalCallExpression$2(node) && (isMemberish$1(node.callee) || isCallOrOptionalCallExpression$2(node.callee))) { - printedNodes.unshift({ - node, - printed: concat$p([comments.printComments(path, () => concat$p([printOptionalToken$4(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)]), options), shouldInsertEmptyLineAfter(node) ? hardline$g : ""]) - }); - path.call(callee => rec(callee), "callee"); - } else if (isMemberish$1(node)) { - printedNodes.unshift({ - node, - needsParens: needsParens_1(path, options), - printed: comments.printComments(path, () => node.type === "OptionalMemberExpression" || node.type === "MemberExpression" ? printMemberLookup$1(path, options, print) : printBindExpressionCallee$1(path, options, print), options) - }); - path.call(object => rec(object), "object"); - } else if (node.type === "TSNonNullExpression") { - printedNodes.unshift({ - node, - printed: comments.printComments(path, () => "!", options) - }); - path.call(expression => rec(expression), "expression"); - } else { - printedNodes.unshift({ - node, - printed: path.call(print) - }); - } - } // Note: the comments of the root node have already been printed, so we - // need to extract this first call without printing them as they would - // if handled inside of the recursive call. - - - const node = path.getValue(); - printedNodes.unshift({ - node, - printed: concat$p([printOptionalToken$4(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)]) - }); - - if (node.callee) { - path.call(callee => rec(callee), "callee"); - } // Once we have a linear list of printed nodes, we want to create groups out - // of it. - // - // a().b.c().d().e - // will be grouped as - // [ - // [Identifier, CallExpression], - // [MemberExpression, MemberExpression, CallExpression], - // [MemberExpression, CallExpression], - // [MemberExpression], - // ] - // so that we can print it as - // a() - // .b.c() - // .d() - // .e - // The first group is the first node followed by - // - as many CallExpression as possible - // < fn()()() >.something() - // - as many array accessors as possible - // < fn()[0][1][2] >.something() - // - then, as many MemberExpression as possible but the last one - // < this.items >.something() - - - const groups = []; - let currentGroup = [printedNodes[0]]; - let i = 1; - - for (; i < printedNodes.length; ++i) { - if (printedNodes[i].node.type === "TSNonNullExpression" || isCallOrOptionalCallExpression$2(printedNodes[i].node) || (printedNodes[i].node.type === "MemberExpression" || printedNodes[i].node.type === "OptionalMemberExpression") && printedNodes[i].node.computed && isNumericLiteral$3(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - - if (!isCallOrOptionalCallExpression$2(printedNodes[0].node)) { - for (; i + 1 < printedNodes.length; ++i) { - if (isMemberish$1(printedNodes[i].node) && isMemberish$1(printedNodes[i + 1].node)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - } - - groups.push(currentGroup); - currentGroup = []; // Then, each following group is a sequence of MemberExpression followed by - // a sequence of CallExpression. To compute it, we keep adding things to the - // group until we has seen a CallExpression in the past and reach a - // MemberExpression - - let hasSeenCallExpression = false; - - for (; i < printedNodes.length; ++i) { - if (hasSeenCallExpression && isMemberish$1(printedNodes[i].node)) { - // [0] should be appended at the end of the group instead of the - // beginning of the next one - if (printedNodes[i].node.computed && isNumericLiteral$3(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - continue; - } - - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - - if (isCallOrOptionalCallExpression$2(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { - hasSeenCallExpression = true; - } - - currentGroup.push(printedNodes[i]); - - if (printedNodes[i].node.comments && printedNodes[i].node.comments.some(comment => comment.trailing)) { - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - } - - if (currentGroup.length > 0) { - groups.push(currentGroup); - } // There are cases like Object.keys(), Observable.of(), _.values() where - // they are the subject of all the chained calls and therefore should - // be kept on the same line: - // - // Object.keys(items) - // .filter(x => x) - // .map(x => x) - // - // In order to detect those cases, we use an heuristic: if the first - // node is an identifier with the name starting with a capital - // letter or just a sequence of _$. The rationale is that they are - // likely to be factories. - - - function isFactory(name) { - return /^[A-Z]|^[$_]+$/.test(name); - } // In case the Identifier is shorter than tab width, we can keep the - // first call in a single line, if it's an ExpressionStatement. - // - // d3.scaleLinear() - // .domain([0, 100]) - // .range([0, width]); - // - - - function isShort(name) { - return name.length <= options.tabWidth; - } - - function shouldNotWrap(groups) { - const hasComputed = groups[1].length && groups[1][0].node.computed; - - if (groups[0].length === 1) { - const firstNode = groups[0][0].node; - return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (isFactory(firstNode.name) || isExpressionStatement && isShort(firstNode.name) || hasComputed); - } - - const lastNode = getLast$7(groups[0]).node; - return (lastNode.type === "MemberExpression" || lastNode.type === "OptionalMemberExpression") && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); - } - - const shouldMerge = groups.length >= 2 && !groups[1][0].node.comments && shouldNotWrap(groups); - - function printGroup(printedGroup) { - const printed = printedGroup.map(tuple => tuple.printed); // Checks if the last node (i.e. the parent node) needs parens and print - // accordingly - - if (printedGroup.length > 0 && printedGroup[printedGroup.length - 1].needsParens) { - return concat$p(["(", ...printed, ")"]); - } - - return concat$p(printed); - } - - function printIndentedGroup(groups) { - /* istanbul ignore next */ - if (groups.length === 0) { - return ""; - } - - return indent$k(group$g(concat$p([hardline$g, join$9(hardline$g, groups.map(printGroup))]))); - } - - const printedGroups = groups.map(printGroup); - const oneLine = concat$p(printedGroups); - const cutoff = shouldMerge ? 3 : 2; - const flatGroups = flatten_1(groups); - const hasComment = flatGroups.slice(1, -1).some(node => hasLeadingComment$4(node.node)) || flatGroups.slice(0, -1).some(node => hasTrailingComment$4(node.node)) || groups[cutoff] && hasLeadingComment$4(groups[cutoff][0].node); // If we only have a single `.`, we shouldn't do anything fancy and just - // render everything concatenated together. - - if (groups.length <= cutoff && !hasComment) { - if (isLongCurriedCallExpression$2(path)) { - return oneLine; - } - - return group$g(oneLine); - } // Find out the last node in the first group and check if it has an - // empty line after - - - const lastNodeBeforeIndent = getLast$7(groups[shouldMerge ? 1 : 0]).node; - const shouldHaveEmptyLineBeforeIndent = !isCallOrOptionalCallExpression$2(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); - const expanded = concat$p([printGroup(groups[0]), shouldMerge ? concat$p(groups.slice(1, 2).map(printGroup)) : "", shouldHaveEmptyLineBeforeIndent ? hardline$g : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]); - const callExpressions = printedNodes.map(({ - node - }) => node).filter(isCallOrOptionalCallExpression$2); - - function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { - const lastGroupNode = getLast$7(getLast$7(groups)).node; - const lastGroupDoc = getLast$7(printedGroups); - return isCallOrOptionalCallExpression$2(lastGroupNode) && willBreak$3(lastGroupDoc) && callExpressions.slice(0, -1).some(n => n.arguments.some(isFunctionOrArrowExpression$1)); - } // We don't want to print in one line if at least one of these conditions occurs: - // * the chain has comments, - // * the chain is an expression statement and all the arguments are literal-like ("fluent configuration" pattern), - // * the chain is longer than 2 calls and has non-trivial arguments or more than 2 arguments in any call but the first one, - // * any group but the last one has a hard line, - // * the last call's arguments have a hard line and other calls have non-trivial arguments. - - - if (hasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument$1(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$3) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { - return group$g(expanded); - } - - return concat$p([// We only need to check `oneLine` because if `expanded` is chosen - // that means that the parent group has already been broken - // naturally - willBreak$3(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$4 : "", conditionalGroup$3([oneLine, expanded])]); -} - -var memberChain = printMemberChain; - -const { - builders: { - concat: concat$q, - join: join$a, - group: group$h - } -} = document; -const { - getCallArguments: getCallArguments$2, - hasFlowAnnotationComment: hasFlowAnnotationComment$2, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$3, - isMemberish: isMemberish$2, - isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$2, - isTestCall: isTestCall$3, - iterateCallArgumentsPath: iterateCallArgumentsPath$2 -} = utils$6; -const { - printOptionalToken: printOptionalToken$5, - printFunctionTypeParameters: printFunctionTypeParameters$4 -} = misc; - -function printCallExpression(path, options, print) { - const n = path.getValue(); - const isNew = n.type === "NewExpression"; - const isDynamicImport = n.type === "ImportExpression"; - const optional = printOptionalToken$5(path); - const args = getCallArguments$2(n); - - if ( // Dangling comments not handled, all these special cases should has argument #9668 - args.length > 0 && ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style - // define calls, as a unit. - // e.g. `define(["some/lib", (lib) => {` - !isDynamicImport && !isNew && n.callee.type === "Identifier" && (n.callee.name === "require" || n.callee.name === "define") || // Template literals as single arguments - args.length === 1 && isTemplateOnItsOwnLine$2(args[0], options.originalText) || // Keep test declarations on a single line - // e.g. `it('long name', () => {` - !isNew && isTestCall$3(n, path.getParentNode()))) { - const printed = []; - iterateCallArgumentsPath$2(path, argPath => { - printed.push(print(argPath)); - }); - return concat$q([isNew ? "new " : "", path.call(print, "callee"), optional, printFunctionTypeParameters$4(path, options, print), concat$q(["(", join$a(", ", printed), ")"])]); - } // Inline Flow annotation comments following Identifiers in Call nodes need to - // stay with the Identifier. For example: - // - // foo /*:: */(bar); - // - // Here, we ensure that such comments stay between the Identifier and the Callee. - - - const isIdentifierWithFlowAnnotation = (options.parser === "babel" || options.parser === "babel-flow") && n.callee && n.callee.type === "Identifier" && hasFlowAnnotationComment$2(n.callee.trailingComments); - - if (isIdentifierWithFlowAnnotation) { - n.callee.trailingComments[0].printed = true; - } // We detect calls on member lookups and possibly print them in a - // special chain format. See `printMemberChain` for more info. - - - if (!isDynamicImport && !isNew && isMemberish$2(n.callee) && !path.call(path => needsParens_1(path, options), "callee")) { - return memberChain(path, options, print); - } - - const contents = concat$q([isNew ? "new " : "", isDynamicImport ? "import" : path.call(print, "callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${n.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters$4(path, options, print), callArguments(path, options, print)]); // We group here when the callee is itself a call expression. - // See `isLongCurriedCallExpression` for more info. - - if (isDynamicImport || isCallOrOptionalCallExpression$3(n.callee)) { - return group$h(contents); - } - - return contents; -} - -var callExpression = { - printCallExpression -}; - -const { - builders: { - concat: concat$r, - join: join$b, - line: line$g, - group: group$i, - indent: indent$l, - ifBreak: ifBreak$b - } -} = document; -const { - hasTrailingComment: hasTrailingComment$5, - hasTrailingLineComment: hasTrailingLineComment$2, - identity: identity$2 -} = utils$6; -const { - getTypeParametersGroupId: getTypeParametersGroupId$2 -} = typeParameters; -const { - printTypeScriptModifiers: printTypeScriptModifiers$1 -} = misc; - -function printInterface(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.type === "DeclareInterface" || n.declare) { - parts.push("declare "); - } - - if (n.type === "TSInterfaceDeclaration") { - parts.push(n.abstract ? "abstract " : "", printTypeScriptModifiers$1(path, options, print)); - } - - parts.push("interface"); - const partsGroup = []; - const extendsParts = []; - - if (n.type !== "InterfaceTypeAnnotation") { - partsGroup.push(" ", path.call(print, "id"), path.call(print, "typeParameters")); - } - - const shouldIndentOnlyHeritageClauses = n.typeParameters && !hasTrailingLineComment$2(n.typeParameters); - - if (n.extends && n.extends.length !== 0) { - extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$b(" ", line$g, { - groupId: getTypeParametersGroupId$2(n.typeParameters) - }) : line$g, "extends ", (n.extends.length === 1 ? identity$2 : indent$l)(join$b(concat$r([",", line$g]), path.map(print, "extends")))); - } - - if (n.id && hasTrailingComment$5(n.id) || n.extends && n.extends.length !== 0) { - const printedExtends = concat$r(extendsParts); - - if (shouldIndentOnlyHeritageClauses) { - parts.push(group$i(concat$r(partsGroup.concat(ifBreak$b(indent$l(printedExtends), printedExtends))))); - } else { - parts.push(group$i(indent$l(concat$r(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return group$i(concat$r(parts)); -} - -var _interface = { - printInterface -}; - -const { - printComments: printComments$4 -} = comments; -const { - getLast: getLast$8 -} = util; -const { - builders: { - concat: concat$s, - join: join$c, - line: line$h, - softline: softline$g, - group: group$j, - indent: indent$m, - align: align$3, - ifBreak: ifBreak$c - }, - utils: { - normalizeParts: normalizeParts$1 - } -} = document; -const { - hasLeadingOwnLineComment: hasLeadingOwnLineComment$2, - hasTrailingLineComment: hasTrailingLineComment$3, - isBinaryish: isBinaryish$4, - isJSXNode: isJSXNode$6, - shouldFlatten: shouldFlatten$2 -} = utils$6; -/** @typedef {import("../../document").Doc} Doc */ - -let uid = 0; - -function printBinaryishExpression(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - const isInsideParenthesis = n !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); - const parts = printBinaryishExpressions(path, print, options, - /* isNested */ - false, isInsideParenthesis); // if ( - // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft - // ) { - // - // looks super weird, we want to break the children if the parent breaks - // - // if ( - // this.hasPlugin("dynamicImports") && - // this.lookahead().type === tt.parenLeft - // ) { - - if (isInsideParenthesis) { - return concat$s(parts); - } // Break between the parens in - // unaries or in a member or specific call expression, i.e. - // - // ( - // a && - // b && - // c - // ).call() - - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || parent.type === "UnaryExpression" || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && !parent.computed) { - return group$j(concat$s([indent$m(concat$s([softline$g, concat$s(parts)])), softline$g])); - } // Avoid indenting sub-expressions in some cases where the first sub-expression is already - // indented accordingly. We should indent sub-expressions where the first case isn't indented. - - - const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || n.operator !== "|" && parent.type === "JsExpressionRoot" || n.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || n === parent.body && parent.type === "ArrowFunctionExpression" || n !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && parentParent.type !== "CallExpression" && parentParent.type !== "OptionalCallExpression" || parent.type === "TemplateLiteral"; - const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "FieldDefinition" || parent.type === "TSAbstractClassProperty" || parent.type === "ClassPrivateProperty" || parent.type === "ObjectProperty" || parent.type === "Property"; - const samePrecedenceSubExpression = isBinaryish$4(n.left) && shouldFlatten$2(n.operator, n.left.operator); - - if (shouldNotIndent || shouldInlineLogicalExpression(n) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(n) && shouldIndentIfInlining) { - return group$j(concat$s(parts)); - } - - if (parts.length === 0) { - return ""; - } // If the right part is a JSX node, we include it in a separate group to - // prevent it breaking the whole chain, so we can print the expression like: - // - // foo && bar && ( - // - // - // - // ) - - - const hasJSX = isJSXNode$6(n.right); - const firstGroupIndex = parts.findIndex(part => typeof part !== "string" && part.type === "group"); // Separate the leftmost expression, possibly with its leading comments. - - const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); - const rest = concat$s(parts.slice(headParts.length, hasJSX ? -1 : undefined)); - const groupId = Symbol("logicalChain-" + ++uid); - const chain = group$j(concat$s([// Don't include the initial expression in the indentation - // level. The first item is guaranteed to be the first - // left-most expression. - ...headParts, indent$m(rest)]), { - id: groupId - }); - - if (!hasJSX) { - return chain; - } - - const jsxPart = getLast$8(parts); - return group$j(concat$s([chain, ifBreak$c(indent$m(jsxPart), jsxPart, { - groupId - })])); -} // For binary expressions to be consistent, we need to group -// subsequent operators with the same precedence level under a single -// group. Otherwise they will be nested such that some of them break -// onto new lines but not all. Operators with the same precedence -// level should either all break or not. Because we group them by -// precedence level and the AST is structured based on precedence -// level, things are naturally broken up correctly, i.e. `&&` is -// broken before `+`. - - -function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { - /** @type{Doc[]} */ - let parts = []; - const node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same. - - if (isBinaryish$4(node)) { - // Put all operators with the same precedence level in the same - // group. The reason we only need to do this with the `left` - // expression is because given an expression like `1 + 2 - 3`, it - // is always parsed like `((1 + 2) - 3)`, meaning the `left` side - // is where the rest of the expression will exist. Binary - // expressions on the right side mean they have a difference - // precedence level and should be treated as a separate group, so - // print them normally. (This doesn't hold for the `**` operator, - // which is unique in that it is right-associative.) - if (shouldFlatten$2(node.operator, node.left.operator)) { - // Flatten them out by recursively calling this function. - parts = parts.concat(path.call(left => printBinaryishExpressions(left, print, options, - /* isNested */ - true, isInsideParenthesis), "left")); - } else { - parts.push(group$j(path.call(print, "left"))); - } - - const shouldInline = shouldInlineLogicalExpression(node); - const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment$2(options.originalText, node.right); - const operator = node.type === "NGPipeExpression" ? "|" : node.operator; - const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length !== 0 ? group$j(indent$m(concat$s([softline$g, ": ", join$c(concat$s([softline$g, ":", ifBreak$c(" ")]), path.map(print, "arguments").map(arg => align$3(2, group$j(arg))))]))) : ""; - const right = shouldInline ? concat$s([operator, " ", path.call(print, "right"), rightSuffix]) : concat$s([lineBeforeOperator ? line$h : "", operator, lineBeforeOperator ? " " : line$h, path.call(print, "right"), rightSuffix]); // If there's only a single binary expression, we want to create a group - // in order to avoid having a small right part like -1 be on its own line. - - const parent = path.getParentNode(); - const shouldBreak = hasTrailingLineComment$3(node.left); - const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; - parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group$j(right, { - shouldBreak - }) : right); // The root comments are already printed, but we need to manually print - // the other ones since we don't call the normal print on BinaryExpression, - // only for the left and right parts - - if (isNested && node.comments) { - parts = normalizeParts$1(printComments$4(path, () => concat$s(parts), options).parts); - } - } else { - // Our stopping case. Simply print the node normally. - parts.push(group$j(path.call(print))); - } - - return parts; -} - -function shouldInlineLogicalExpression(node) { - if (node.type !== "LogicalExpression") { - return false; - } - - if (node.right.type === "ObjectExpression" && node.right.properties.length !== 0) { - return true; - } - - if (node.right.type === "ArrayExpression" && node.right.elements.length !== 0) { - return true; - } - - if (isJSXNode$6(node.right)) { - return true; - } - - return false; -} - -var binaryish = { - printBinaryishExpression, - shouldInlineLogicalExpression -}; - -const { - builders: { - concat: concat$t, - line: line$i, - group: group$k, - indent: indent$n - } -} = document; -const { - hasLeadingOwnLineComment: hasLeadingOwnLineComment$3, - isBinaryish: isBinaryish$5, - isMemberExpressionChain: isMemberExpressionChain$1, - isStringLiteral: isStringLiteral$3 -} = utils$6; -const { - shouldInlineLogicalExpression: shouldInlineLogicalExpression$1 -} = binaryish; - -function printAssignment(leftNode, printedLeft, operator, rightNode, printedRight, options) { - if (!rightNode) { - return printedLeft; - } - - const printed = printAssignmentRight(leftNode, rightNode, printedRight, options); - return group$k(concat$t([printedLeft, operator, printed])); -} - -function printAssignmentExpression(path, options, print) { - const n = path.getValue(); - return printAssignment(n.left, path.call(print, "left"), concat$t([" ", n.operator]), n.right, path.call(print, "right"), options); -} - -function printVariableDeclarator(path, options, print) { - const n = path.getValue(); - return printAssignment(n.id, path.call(print, "id"), " =", n.init, n.init && path.call(print, "init"), options); -} - -function printAssignmentRight(leftNode, rightNode, printedRight, options) { - if (hasLeadingOwnLineComment$3(options.originalText, rightNode)) { - return indent$n(concat$t([line$i, printedRight])); - } - - const canBreak = isBinaryish$5(rightNode) && !shouldInlineLogicalExpression$1(rightNode) || rightNode.type === "ConditionalExpression" && isBinaryish$5(rightNode.test) && !shouldInlineLogicalExpression$1(rightNode.test) || rightNode.type === "StringLiteralTypeAnnotation" || rightNode.type === "ClassExpression" && rightNode.decorators && rightNode.decorators.length || (leftNode.type === "Identifier" || isStringLiteral$3(leftNode) || leftNode.type === "MemberExpression") && (isStringLiteral$3(rightNode) || isMemberExpressionChain$1(rightNode)) && // do not put values on a separate line from the key in json - options.parser !== "json" && options.parser !== "json5" || rightNode.type === "SequenceExpression"; - - if (canBreak) { - return group$k(indent$n(concat$t([line$i, printedRight]))); - } - - return concat$t([" ", printedRight]); -} - -var assignment = { - printVariableDeclarator, - printAssignmentExpression, - printAssignment, - printAssignmentRight -}; - -const { - isNextLineEmpty: isNextLineEmpty$7 -} = util; -const { - builders: { - concat: concat$u, - join: join$d, - hardline: hardline$h - } -} = document; -const { - classChildNeedsASIProtection: classChildNeedsASIProtection$1, - classPropMayCauseASIProblems: classPropMayCauseASIProblems$1, - getLeftSidePathName: getLeftSidePathName$2, - hasNakedLeftSide: hasNakedLeftSide$2, - isJSXNode: isJSXNode$7, - isLastStatement: isLastStatement$1, - isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$1 -} = utils$6; -const { - locEnd: locEnd$b -} = loc; -const { - shouldPrintParamsWithoutParens: shouldPrintParamsWithoutParens$1 -} = _function; -/** @typedef {import("../../document").Doc} Doc */ - -function printStatement({ - path, - index, - bodyNode, - isClass -}, options, print) { - const node = path.getValue(); // Just in case the AST has been modified to contain falsy - // "statements," it's safer simply to skip them. - - /* istanbul ignore if */ - - if (!node) { - return; - } // Skip printing EmptyStatement nodes to avoid leaving stray - // semicolons lying around. - - - if (node.type === "EmptyStatement") { - return; - } - - const printed = print(path); - const text = options.originalText; - const parts = []; // in no-semi mode, prepend statement with semicolon if it might break ASI - // don't prepend the only JSX element in a program with semicolon - - if (!options.semi && !isClass && !isTheOnlyJSXElementInMarkdown$1(options, path) && statementNeedsASIProtection(path, options)) { - if (node.comments && node.comments.some(comment => comment.leading)) { - parts.push(print(path, { - needsSemi: true - })); - } else { - parts.push(";", printed); - } - } else { - parts.push(printed); - } - - if (!options.semi && isClass) { - if (classPropMayCauseASIProblems$1(path)) { - parts.push(";"); - } else if (node.type === "ClassProperty" || node.type === "FieldDefinition") { - const nextChild = bodyNode.body[index + 1]; - - if (classChildNeedsASIProtection$1(nextChild)) { - parts.push(";"); - } - } - } - - if (isNextLineEmpty$7(text, node, locEnd$b) && !isLastStatement$1(path)) { - parts.push(hardline$h); - } - - return concat$u(parts); -} - -function printStatementSequence(path, options, print) { - const bodyNode = path.getNode(); - const isClass = bodyNode.type === "ClassBody"; - const printed = path.map((statementPath, index) => printStatement({ - path, - index, - bodyNode, - isClass - }, options, print)).filter(Boolean); - return join$d(hardline$h, printed); -} - -function statementNeedsASIProtection(path, options) { - const node = path.getNode(); - - if (node.type !== "ExpressionStatement") { - return false; - } - - return path.call(childPath => expressionNeedsASIProtection(childPath, options), "expression"); -} - -function expressionNeedsASIProtection(path, options) { - const node = path.getValue(); - const maybeASIProblem = needsParens_1(path, options) || node.type === "ParenthesizedExpression" || node.type === "TypeCastExpression" || node.type === "ArrowFunctionExpression" && !shouldPrintParamsWithoutParens$1(path, options) || node.type === "ArrayExpression" || node.type === "ArrayPattern" || node.type === "UnaryExpression" && node.prefix && (node.operator === "+" || node.operator === "-") || node.type === "TemplateLiteral" || node.type === "TemplateElement" || isJSXNode$7(node) || node.type === "BindExpression" && !node.object || node.type === "RegExpLiteral" || node.type === "Literal" && node.pattern || node.type === "Literal" && node.regex; - - if (maybeASIProblem) { - return true; - } - - if (!hasNakedLeftSide$2(node)) { - return false; - } - - return path.call(childPath => expressionNeedsASIProtection(childPath, options), ...getLeftSidePathName$2(path, node)); -} - -var statement = { - printStatementSequence -}; - -const { - printDanglingComments: printDanglingComments$9 -} = comments; -const { - isNextLineEmpty: isNextLineEmpty$8 -} = util; -const { - builders: { - concat: concat$v, - hardline: hardline$i, - indent: indent$o - } -} = document; -const { - hasDanglingComments: hasDanglingComments$6 -} = utils$6; -const { - locEnd: locEnd$c -} = loc; -const { - printStatementSequence: printStatementSequence$1 -} = statement; -/** @typedef {import("../../document").Doc} Doc */ - -function printBlock(path, options, print) { - const n = path.getValue(); - const parts = []; - const semi = options.semi ? ";" : ""; - const naked = path.call(bodyPath => { - return printStatementSequence$1(bodyPath, options, print); - }, "body"); - - if (n.type === "StaticBlock") { - parts.push("static "); - } - - const hasContent = n.body.some(node => node.type !== "EmptyStatement"); - const hasDirectives = n.directives && n.directives.length > 0; - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - - if (!hasContent && !hasDirectives && !hasDanglingComments$6(n) && (parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "TSDeclareFunction" || n.type === "StaticBlock")) { - return concat$v([...parts, "{}"]); - } - - parts.push("{"); // Babel 6 - - if (hasDirectives) { - path.each(childPath => { - parts.push(indent$o(concat$v([hardline$i, print(childPath), semi]))); - - if (isNextLineEmpty$8(options.originalText, childPath.getValue(), locEnd$c)) { - parts.push(hardline$i); - } - }, "directives"); - } - - if (hasContent) { - parts.push(indent$o(concat$v([hardline$i, naked]))); - } - - parts.push(printDanglingComments$9(path, options)); - parts.push(hardline$i, "}"); - return concat$v(parts); -} - -var block = { - printBlock -}; - -const { - hasNewline: hasNewline$6 -} = util; -const { - builders: { - concat: concat$w, - join: join$e, - hardline: hardline$j - } -} = document; -const { - isLineComment: isLineComment$2, - isBlockComment: isBlockComment$8 -} = utils$6; -const { - locStart: locStart$7, - locEnd: locEnd$d -} = loc; - -function printComment$1(commentPath, options) { - const comment = commentPath.getValue(); - - if (isLineComment$2(comment)) { - // Supports `//`, `#!`, `` - return options.originalText.slice(locStart$7(comment), locEnd$d(comment)).trimEnd(); - } - - if (isBlockComment$8(comment)) { - if (isIndentableBlockComment(comment)) { - const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment - // printed as a `lineSuffix` which causes the comments to be - // interleaved. See https://github.com/prettier/prettier/issues/4412 - - if (comment.trailing && !hasNewline$6(options.originalText, locStart$7(comment), { - backwards: true - })) { - return concat$w([hardline$j, printed]); - } - - return printed; - } - - const commentEnd = locEnd$d(comment); - const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; - return "/*" + comment.value + (isInsideFlowComment ? "*-/" : "*/"); - } - /* istanbul ignore next */ - - - throw new Error("Not a comment: " + JSON.stringify(comment)); -} - -function isIndentableBlockComment(comment) { - // If the comment has multiple lines and every line starts with a star - // we can fix the indentation of each line. The stars in the `/*` and - // `*/` delimiters are not included in the comment value, so add them - // back first. - const lines = `*${comment.value}*`.split("\n"); - return lines.length > 1 && lines.every(line => line.trim()[0] === "*"); -} - -function printIndentableBlockComment(comment) { - const lines = comment.value.split("\n"); - return concat$w(["/*", join$e(hardline$j, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]); -} - -var comment = { - printComment: printComment$1 -}; - -/** @typedef {import("../document").Doc} Doc */ - -/** @type {import("assert")} */ -// TODO(azz): anything that imports from main shouldn't be in a `language-*` dir. - - -const { - hasNewline: hasNewline$7, - hasNewlineInRange: hasNewlineInRange$6, - getLast: getLast$9, - printString: printString$2, - printNumber: printNumber$2, - isNextLineEmpty: isNextLineEmpty$9 -} = util; -const { - builders: { - concat: concat$x, - join: join$f, - line: line$j, - hardline: hardline$k, - softline: softline$h, - literalline: literalline$3, - group: group$l, - indent: indent$p, - align: align$4, - conditionalGroup: conditionalGroup$4, - ifBreak: ifBreak$d - }, - utils: { - isEmpty: isEmpty$2 - } -} = document; -const { - insertPragma: insertPragma$1 -} = pragma; -const { - printHtmlBinding: printHtmlBinding$1, - isVueEventBindingExpression: isVueEventBindingExpression$1 -} = htmlBinding; -const { - getFunctionParameters: getFunctionParameters$6, - getCallArguments: getCallArguments$3, - getParentExportDeclaration: getParentExportDeclaration$2, - getTypeScriptMappedTypeModifier: getTypeScriptMappedTypeModifier$1, - hasDanglingComments: hasDanglingComments$7, - hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$3, - hasLeadingOwnLineComment: hasLeadingOwnLineComment$4, - hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$2, - hasNgSideEffect: hasNgSideEffect$1, - hasPrettierIgnore: hasPrettierIgnore$1, - hasTrailingComment: hasTrailingComment$6, - isExportDeclaration: isExportDeclaration$1, - isFunctionNotation: isFunctionNotation$1, - isGetterOrSetter: isGetterOrSetter$1, - isLiteral: isLiteral$2, - isNgForOf: isNgForOf$1, - isObjectType: isObjectType$3, - isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$2, - isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$2, - isTSXFile: isTSXFile$1, - isBlockComment: isBlockComment$9, - needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$2, - rawText: rawText$3, - shouldPrintComma: shouldPrintComma$8 -} = utils$6; -const { - locStart: locStart$8, - locEnd: locEnd$e -} = loc; -const { - printOptionalToken: printOptionalToken$6, - printBindExpressionCallee: printBindExpressionCallee$2, - printTypeScriptModifiers: printTypeScriptModifiers$2, - printDecorators: printDecorators$2, - printFlowDeclaration: printFlowDeclaration$1, - adjustClause: adjustClause$1 -} = misc; -const { - printImportDeclaration: printImportDeclaration$1, - printExportDeclaration: printExportDeclaration$1, - printExportAllDeclaration: printExportAllDeclaration$1, - printModuleSpecifier: printModuleSpecifier$1 -} = module$3; -const { - printFunctionParameters: printFunctionParameters$2 -} = functionParameters; -const { - printTemplateLiteral: printTemplateLiteral$1 -} = templateLiteral; -const { - printArray: printArray$1, - printArrayItems: printArrayItems$1 -} = array$3; -const { - printObject: printObject$1 -} = object; -const { - printTypeAnnotation: printTypeAnnotation$3, - shouldHugType: shouldHugType$3 -} = typeAnnotation; -const { - printJsxElement: printJsxElement$1, - printJsxAttribute: printJsxAttribute$1, - printJsxOpeningElement: printJsxOpeningElement$1, - printJsxClosingElement: printJsxClosingElement$1, - printJsxOpeningClosingFragment: printJsxOpeningClosingFragment$1, - printJsxExpressionContainer: printJsxExpressionContainer$1, - printJsxEmptyExpression: printJsxEmptyExpression$1, - printJsxSpreadAttribute: printJsxSpreadAttribute$1, - printJsxSpreadChild -} = jsx; -const { - printClass: printClass$1, - printClassMethod: printClassMethod$1 -} = _class; -const { - printTypeParameters: printTypeParameters$1 -} = typeParameters; -const { - printPropertyKey: printPropertyKey$2 -} = property$1; -const { - printFunctionDeclaration: printFunctionDeclaration$1, - printArrowFunctionExpression: printArrowFunctionExpression$1, - printMethod: printMethod$2, - printReturnAndThrowArgument: printReturnAndThrowArgument$1 -} = _function; -const { - printCallExpression: printCallExpression$1 -} = callExpression; -const { - printInterface: printInterface$1 -} = _interface; -const { - printVariableDeclarator: printVariableDeclarator$1, - printAssignmentExpression: printAssignmentExpression$1, - printAssignment: printAssignment$1, - printAssignmentRight: printAssignmentRight$1 -} = assignment; -const { - printBinaryishExpression: printBinaryishExpression$1 -} = binaryish; -const { - printStatementSequence: printStatementSequence$2 -} = statement; -const { - printMemberExpression: printMemberExpression$1 -} = member; -const { - printBlock: printBlock$1 -} = block; -const { - printComment: printComment$2 -} = comment; - -function genericPrint(path, options, printPath, args) { - const node = path.getValue(); - let needsParens = false; - const linesWithoutParens = printPathNoParens(path, options, printPath, args); - - if (!node || isEmpty$2(linesWithoutParens)) { - return linesWithoutParens; - } - - const parentExportDecl = getParentExportDeclaration$2(path); - const decorators = []; - - if (node.type === "ClassMethod" || node.type === "ClassPrivateMethod" || node.type === "ClassProperty" || node.type === "FieldDefinition" || node.type === "TSAbstractClassProperty" || node.type === "ClassPrivateProperty" || node.type === "MethodDefinition" || node.type === "TSAbstractMethodDefinition" || node.type === "TSDeclareMethod") ; else if (node.decorators && node.decorators.length > 0 && // If the parent node is an export declaration and the decorator - // was written before the export, the export will be responsible - // for printing the decorators. - !(parentExportDecl && locStart$8(parentExportDecl, { - ignoreDecorators: true - }) > locStart$8(node.decorators[0]))) { - const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators$2(node, options); - const separator = shouldBreak ? hardline$k : line$j; - path.each(decoratorPath => { - let decorator = decoratorPath.getValue(); - - if (decorator.expression) { - decorator = decorator.expression; - } else { - decorator = decorator.callee; - } - - decorators.push(printPath(decoratorPath), separator); - }, "decorators"); - - if (parentExportDecl) { - decorators.unshift(hardline$k); - } - } else if (isExportDeclaration$1(node) && node.declaration && node.declaration.decorators && node.declaration.decorators.length > 0 && // Only print decorators here if they were written before the export, - // otherwise they are printed by the node.declaration - locStart$8(node, { - ignoreDecorators: true - }) > locStart$8(node.declaration.decorators[0])) { - // Export declarations are responsible for printing any decorators - // that logically apply to node.declaration. - path.each(decoratorPath => { - const decorator = decoratorPath.getValue(); - const prefix = decorator.type === "Decorator" ? "" : "@"; - decorators.push(prefix, printPath(decoratorPath), hardline$k); - }, "declaration", "decorators"); - } else { - // Nodes with decorators can't have parentheses, so we can avoid - // computing pathNeedsParens() except in this case. - needsParens = needsParens_1(path, options); - } - - const parts = []; - - if (needsParens) { - parts.unshift("("); - } - - parts.push(linesWithoutParens); - - if (needsParens) { - const node = path.getValue(); - - if (hasFlowShorthandAnnotationComment$3(node)) { - parts.push(" /*"); - parts.push(node.trailingComments[0].value.trimStart()); - parts.push("*/"); - node.trailingComments[0].printed = true; - } - - parts.push(")"); - } - - if (decorators.length > 0) { - return group$l(concat$x(decorators.concat(parts))); - } - - return concat$x(parts); -} - -function printPathNoParens(path, options, print, args) { - const n = path.getValue(); - const semi = options.semi ? ";" : ""; - - if (!n) { - return ""; - } - - if (typeof n === "string") { - return n; - } - - const htmlBinding = printHtmlBinding$1(path, options, print); - - if (htmlBinding) { - return htmlBinding; - } - /** @type{Doc[]} */ - - - let parts = []; - - switch (n.type) { - case "JsExpressionRoot": - return path.call(print, "node"); - - case "JsonRoot": - return concat$x([path.call(print, "node"), hardline$k]); - - case "File": - // Print @babel/parser's InterpreterDirective here so that - // leading comments on the `Program` node get printed after the hashbang. - if (n.program && n.program.interpreter) { - parts.push(path.call(programPath => programPath.call(print, "interpreter"), "program")); - } - - parts.push(path.call(print, "program")); - return concat$x(parts); - - case "Program": - { - const hasContents = !n.body.every(({ - type - }) => type === "EmptyStatement") || n.comments; // Babel 6 - - if (n.directives) { - const directivesCount = n.directives.length; - path.each((childPath, index) => { - parts.push(print(childPath), semi, hardline$k); - - if ((index < directivesCount - 1 || hasContents) && isNextLineEmpty$9(options.originalText, childPath.getValue(), locEnd$e)) { - parts.push(hardline$k); - } - }, "directives"); - } - - parts.push(path.call(bodyPath => { - return printStatementSequence$2(bodyPath, options, print); - }, "body")); - parts.push(comments.printDanglingComments(path, options, - /* sameIndent */ - true)); // Only force a trailing newline if there were any contents. - - if (hasContents) { - parts.push(hardline$k); - } - - return concat$x(parts); - } - // Babel extension. - - case "EmptyStatement": - return ""; - - case "ExpressionStatement": - // Detect Flow and TypeScript directives - if (n.directive) { - return concat$x([nodeStr(n.expression, options, true), semi]); - } - - if (options.parser === "__vue_event_binding") { - const parent = path.getParentNode(); - - if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === n) { - return concat$x([path.call(print, "expression"), isVueEventBindingExpression$1(n.expression) ? ";" : ""]); - } - } // Do not append semicolon after the only JSX element in a program - - - return concat$x([path.call(print, "expression"), isTheOnlyJSXElementInMarkdown$2(options, path) ? "" : semi]); - // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. - - case "ParenthesizedExpression": - { - const shouldHug = !n.expression.comments; - - if (shouldHug) { - return concat$x(["(", path.call(print, "expression"), ")"]); - } - - return group$l(concat$x(["(", indent$p(concat$x([softline$h, path.call(print, "expression")])), softline$h, ")"])); - } - - case "AssignmentExpression": - return printAssignmentExpression$1(path, options, print); - - case "VariableDeclarator": - return printVariableDeclarator$1(path, options, print); - - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - return printBinaryishExpression$1(path, options, print); - - case "AssignmentPattern": - return concat$x([path.call(print, "left"), " = ", path.call(print, "right")]); - - case "TSTypeAssertion": - { - const shouldBreakAfterCast = !(n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression"); - const castGroup = group$l(concat$x(["<", indent$p(concat$x([softline$h, path.call(print, "typeAnnotation")])), softline$h, ">"])); - const exprContents = concat$x([ifBreak$d("("), indent$p(concat$x([softline$h, path.call(print, "expression")])), softline$h, ifBreak$d(")")]); - - if (shouldBreakAfterCast) { - return conditionalGroup$4([concat$x([castGroup, path.call(print, "expression")]), concat$x([castGroup, group$l(exprContents, { - shouldBreak: true - })]), concat$x([castGroup, path.call(print, "expression")])]); - } - - return group$l(concat$x([castGroup, path.call(print, "expression")])); - } - - case "OptionalMemberExpression": - case "MemberExpression": - { - return printMemberExpression$1(path, options, print); - } - - case "MetaProperty": - return concat$x([path.call(print, "meta"), ".", path.call(print, "property")]); - - case "BindExpression": - if (n.object) { - parts.push(path.call(print, "object")); - } - - parts.push(group$l(indent$p(concat$x([softline$h, printBindExpressionCallee$2(path, options, print)])))); - return concat$x(parts); - - case "Identifier": - { - return concat$x([n.name, printOptionalToken$6(path), printTypeAnnotation$3(path, options, print)]); - } - - case "V8IntrinsicIdentifier": - return concat$x(["%", n.name]); - - case "SpreadElement": - case "SpreadElementPattern": - case "SpreadProperty": - case "SpreadPropertyPattern": - case "RestElement": - case "ObjectTypeSpreadProperty": - return concat$x(["...", path.call(print, "argument"), printTypeAnnotation$3(path, options, print)]); - - case "FunctionDeclaration": - case "FunctionExpression": - parts.push(printFunctionDeclaration$1(path, print, options, args && args.expandLastArg && getCallArguments$3(path.getParentNode()).length > 1)); - - if (!n.body) { - parts.push(semi); - } - - return concat$x(parts); - - case "ArrowFunctionExpression": - return printArrowFunctionExpression$1(path, options, print, args); - - case "YieldExpression": - parts.push("yield"); - - if (n.delegate) { - parts.push("*"); - } - - if (n.argument) { - parts.push(" ", path.call(print, "argument")); - } - - return concat$x(parts); - - case "AwaitExpression": - { - parts.push("await"); - - if (n.argument) { - parts.push(" ", path.call(print, "argument")); - } - - const parent = path.getParentNode(); - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && parent.object === n) { - return group$l(concat$x([indent$p(concat$x([softline$h, concat$x(parts)])), softline$h])); - } - - return concat$x(parts); - } - - case "TSExportAssignment": - return concat$x(["export = ", path.call(print, "expression"), semi]); - - case "ExportDefaultDeclaration": - case "ExportNamedDeclaration": - case "DeclareExportDeclaration": - return printExportDeclaration$1(path, options, print); - - case "ExportAllDeclaration": - case "DeclareExportAllDeclaration": - return printExportAllDeclaration$1(path, options, print); - - case "ImportDeclaration": - return printImportDeclaration$1(path, options, print); - - case "ImportSpecifier": - case "ExportSpecifier": - case "ImportNamespaceSpecifier": - case "ExportNamespaceSpecifier": - case "ImportDefaultSpecifier": - case "ExportDefaultSpecifier": - return printModuleSpecifier$1(path, options, print); - - case "ImportAttribute": - return concat$x([path.call(print, "key"), ": ", path.call(print, "value")]); - - case "Import": - return "import"; - - case "TSModuleBlock": - case "BlockStatement": - case "StaticBlock": - return printBlock$1(path, options, print); - - case "ThrowStatement": - case "ReturnStatement": - return concat$x([n.type === "ReturnStatement" ? "return" : "throw", printReturnAndThrowArgument$1(path, options, print)]); - - case "NewExpression": - case "ImportExpression": - case "OptionalCallExpression": - case "CallExpression": - return printCallExpression$1(path, options, print); - - case "ObjectTypeInternalSlot": - return concat$x([n.static ? "static " : "", "[[", path.call(print, "id"), "]]", printOptionalToken$6(path), n.method ? "" : ": ", path.call(print, "value")]); - - case "ObjectExpression": - case "ObjectPattern": - case "ObjectTypeAnnotation": - case "TSInterfaceBody": - case "TSTypeLiteral": - case "RecordExpression": - return printObject$1(path, options, print); - // Babel 6 - - case "ObjectProperty": // Non-standard AST node type. - - case "Property": - if (n.method || n.kind === "get" || n.kind === "set") { - return printMethod$2(path, options, print); - } - - if (n.shorthand) { - parts.push(path.call(print, "value")); - } else { - parts.push(printAssignment$1(n.key, printPropertyKey$2(path, options, print), ":", n.value, path.call(print, "value"), options)); - } - - return concat$x(parts); - // Babel 6 - - case "ClassMethod": - case "ClassPrivateMethod": - case "MethodDefinition": - case "TSAbstractMethodDefinition": - case "TSDeclareMethod": - return printClassMethod$1(path, options, print); - - case "ObjectMethod": - return printMethod$2(path, options, print); - - case "Decorator": - return concat$x(["@", path.call(print, "expression"), path.call(print, "callee")]); - - case "ArrayExpression": - case "ArrayPattern": - case "TupleExpression": - return printArray$1(path, options, print); - - case "SequenceExpression": - { - const parent = path.getParentNode(0); - - if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { - // For ExpressionStatements and for-loop heads, which are among - // the few places a SequenceExpression appears unparenthesized, we want - // to indent expressions after the first. - const parts = []; - path.each(p => { - if (p.getName() === 0) { - parts.push(print(p)); - } else { - parts.push(",", indent$p(concat$x([line$j, print(p)]))); - } - }, "expressions"); - return group$l(concat$x(parts)); - } - - return group$l(concat$x([join$f(concat$x([",", line$j]), path.map(print, "expressions"))])); - } - - case "ThisExpression": - return "this"; - - case "Super": - return "super"; - - case "NullLiteral": - // Babel 6 Literal split - return "null"; - - case "RegExpLiteral": - // Babel 6 Literal split - return printRegex(n); - - case "NumericLiteral": - // Babel 6 Literal split - return printNumber$2(n.extra.raw); - - case "DecimalLiteral": - return printNumber$2(n.value) + "m"; - - case "BigIntLiteral": - // babel: n.extra.raw, flow: n.bigint - return (n.bigint || n.extra.raw).toLowerCase(); - - case "BooleanLiteral": // Babel 6 Literal split - - case "StringLiteral": // Babel 6 Literal split - - case "Literal": - if (n.regex) { - return printRegex(n.regex); - } // typescript - - - if (n.bigint) { - return n.raw.toLowerCase(); - } - - if (typeof n.value === "number") { - return printNumber$2(n.raw); - } - - if (typeof n.value !== "string") { - return "" + n.value; - } - - return nodeStr(n, options); - - case "Directive": - return path.call(print, "value"); - // Babel 6 - - case "DirectiveLiteral": - return nodeStr(n, options); - - case "UnaryExpression": - parts.push(n.operator); - - if (/[a-z]$/.test(n.operator)) { - parts.push(" "); - } - - if (n.argument.comments && n.argument.comments.length > 0) { - parts.push(group$l(concat$x(["(", indent$p(concat$x([softline$h, path.call(print, "argument")])), softline$h, ")"]))); - } else { - parts.push(path.call(print, "argument")); - } - - return concat$x(parts); - - case "UpdateExpression": - parts.push(path.call(print, "argument"), n.operator); - - if (n.prefix) { - parts.reverse(); - } - - return concat$x(parts); - - case "ConditionalExpression": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "test")], - afterParts: breakClosingParen => [breakClosingParen ? softline$h : ""], - shouldCheckJsx: true, - conditionalNodeType: "ConditionalExpression", - consequentNodePropertyName: "consequent", - alternateNodePropertyName: "alternate", - testNodePropertyNames: ["test"] - }); - - case "VariableDeclaration": - { - const printed = path.map(childPath => { - return print(childPath); - }, "declarations"); // We generally want to terminate all variable declarations with a - // semicolon, except when they in the () part of for loops. - - const parentNode = path.getParentNode(); - const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; - const hasValue = n.declarations.some(decl => decl.init); - let firstVariable; - - if (printed.length === 1 && !n.declarations[0].comments) { - firstVariable = printed[0]; - } else if (printed.length > 0) { - // Indent first var to comply with eslint one-var rule - firstVariable = indent$p(printed[0]); - } - - parts = [n.declare ? "declare " : "", n.kind, firstVariable ? concat$x([" ", firstVariable]) : "", indent$p(concat$x(printed.slice(1).map(p => concat$x([",", hasValue && !isParentForLoop ? hardline$k : line$j, p]))))]; - - if (!(isParentForLoop && parentNode.body !== n)) { - parts.push(semi); - } - - return group$l(concat$x(parts)); - } - - case "TSTypeAliasDeclaration": - { - if (n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight$1(n.id, n.typeAnnotation, n.typeAnnotation && path.call(print, "typeAnnotation"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$l(concat$x(parts)); - } - - case "WithStatement": - return group$l(concat$x(["with (", path.call(print, "object"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "IfStatement": - { - const con = adjustClause$1(n.consequent, path.call(print, "consequent")); - const opening = group$l(concat$x(["if (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", con])); - parts.push(opening); - - if (n.alternate) { - const commentOnOwnLine = hasTrailingComment$6(n.consequent) && n.consequent.comments.some(comment => comment.trailing && !isBlockComment$9(comment)) || needsHardlineAfterDanglingComment$2(n); - const elseOnSameLine = n.consequent.type === "BlockStatement" && !commentOnOwnLine; - parts.push(elseOnSameLine ? " " : hardline$k); - - if (hasDanglingComments$7(n)) { - parts.push(comments.printDanglingComments(path, options, true), commentOnOwnLine ? hardline$k : " "); - } - - parts.push("else", group$l(adjustClause$1(n.alternate, path.call(print, "alternate"), n.alternate.type === "IfStatement"))); - } - - return concat$x(parts); - } - - case "ForStatement": - { - const body = adjustClause$1(n.body, path.call(print, "body")); // We want to keep dangling comments above the loop to stay consistent. - // Any comment positioned between the for statement and the parentheses - // is going to be printed before the statement. - - const dangling = comments.printDanglingComments(path, options, - /* sameLine */ - true); - const printedComments = dangling ? concat$x([dangling, softline$h]) : ""; - - if (!n.init && !n.test && !n.update) { - return concat$x([printedComments, group$l(concat$x(["for (;;)", body]))]); - } - - return concat$x([printedComments, group$l(concat$x(["for (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "init"), ";", line$j, path.call(print, "test"), ";", line$j, path.call(print, "update")])), softline$h])), ")", body]))]); - } - - case "WhileStatement": - return group$l(concat$x(["while (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "ForInStatement": - return group$l(concat$x(["for (", path.call(print, "left"), " in ", path.call(print, "right"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "ForOfStatement": - return group$l(concat$x(["for", n.await ? " await" : "", " (", path.call(print, "left"), " of ", path.call(print, "right"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "DoWhileStatement": - { - const clause = adjustClause$1(n.body, path.call(print, "body")); - const doBody = group$l(concat$x(["do", clause])); - parts = [doBody]; - - if (n.body.type === "BlockStatement") { - parts.push(" "); - } else { - parts.push(hardline$k); - } - - parts.push("while ("); - parts.push(group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", semi); - return concat$x(parts); - } - - case "DoExpression": - return concat$x(["do ", path.call(print, "body")]); - - case "BreakStatement": - parts.push("break"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$x(parts); - - case "ContinueStatement": - parts.push("continue"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$x(parts); - - case "LabeledStatement": - if (n.body.type === "EmptyStatement") { - return concat$x([path.call(print, "label"), ":;"]); - } - - return concat$x([path.call(print, "label"), ": ", path.call(print, "body")]); - - case "TryStatement": - return concat$x(["try ", path.call(print, "block"), n.handler ? concat$x([" ", path.call(print, "handler")]) : "", n.finalizer ? concat$x([" finally ", path.call(print, "finalizer")]) : ""]); - - case "CatchClause": - if (n.param) { - const hasComments = n.param.comments && n.param.comments.some(comment => !isBlockComment$9(comment) || comment.leading && hasNewline$7(options.originalText, locEnd$e(comment)) || comment.trailing && hasNewline$7(options.originalText, locStart$8(comment), { - backwards: true - })); - const param = path.call(print, "param"); - return concat$x(["catch ", hasComments ? concat$x(["(", indent$p(concat$x([softline$h, param])), softline$h, ") "]) : concat$x(["(", param, ") "]), path.call(print, "body")]); - } - - return concat$x(["catch ", path.call(print, "body")]); - // Note: ignoring n.lexical because it has no printing consequences. - - case "SwitchStatement": - return concat$x([group$l(concat$x(["switch (", indent$p(concat$x([softline$h, path.call(print, "discriminant")])), softline$h, ")"])), " {", n.cases.length > 0 ? indent$p(concat$x([hardline$k, join$f(hardline$k, path.map(casePath => { - const caseNode = casePath.getValue(); - return concat$x([casePath.call(print), n.cases.indexOf(caseNode) !== n.cases.length - 1 && isNextLineEmpty$9(options.originalText, caseNode, locEnd$e) ? hardline$k : ""]); - }, "cases"))])) : "", hardline$k, "}"]); - - case "SwitchCase": - { - if (n.test) { - parts.push("case ", path.call(print, "test"), ":"); - } else { - parts.push("default:"); - } - - const consequent = n.consequent.filter(node => node.type !== "EmptyStatement"); - - if (consequent.length > 0) { - const cons = path.call(consequentPath => { - return printStatementSequence$2(consequentPath, options, print); - }, "consequent"); - parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? concat$x([" ", cons]) : indent$p(concat$x([hardline$k, cons]))); - } - - return concat$x(parts); - } - // JSX extensions below. - - case "DebuggerStatement": - return concat$x(["debugger", semi]); - - case "JSXAttribute": - return printJsxAttribute$1(path, options, print); - - case "JSXIdentifier": - return "" + n.name; - - case "JSXNamespacedName": - return join$f(":", [path.call(print, "namespace"), path.call(print, "name")]); - - case "JSXMemberExpression": - return join$f(".", [path.call(print, "object"), path.call(print, "property")]); - - case "TSQualifiedName": - return join$f(".", [path.call(print, "left"), path.call(print, "right")]); - - case "JSXSpreadAttribute": - return printJsxSpreadAttribute$1(path, options, print); - - case "JSXSpreadChild": - return printJsxSpreadChild(path, options, print); - - case "JSXExpressionContainer": - return printJsxExpressionContainer$1(path, options, print); - - case "JSXFragment": - case "JSXElement": - return printJsxElement$1(path, options, print); - - case "JSXOpeningElement": - return printJsxOpeningElement$1(path, options, print); - - case "JSXClosingElement": - return printJsxClosingElement$1(path, options, print); - - case "JSXOpeningFragment": - case "JSXClosingFragment": - return printJsxOpeningClosingFragment$1(path, options - /*, print*/ - ); - - case "JSXText": - /* istanbul ignore next */ - throw new Error("JSXTest should be handled by JSXElement"); - - case "JSXEmptyExpression": - return printJsxEmptyExpression$1(path, options - /*, print*/ - ); - - case "ClassBody": - if (!n.comments && n.body.length === 0) { - return "{}"; - } - - return concat$x(["{", n.body.length > 0 ? indent$p(concat$x([hardline$k, path.call(bodyPath => { - return printStatementSequence$2(bodyPath, options, print); - }, "body")])) : comments.printDanglingComments(path, options), hardline$k, "}"]); - - case "ClassProperty": - case "FieldDefinition": - case "TSAbstractClassProperty": - case "ClassPrivateProperty": - { - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators$2(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.declare) { - parts.push("declare "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractClassProperty" || n.abstract) { - parts.push("abstract "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - if (n.variance) { - parts.push(path.call(print, "variance")); - } - - parts.push(printPropertyKey$2(path, options, print), printOptionalToken$6(path), printTypeAnnotation$3(path, options, print)); - - if (n.value) { - parts.push(" =", printAssignmentRight$1(n.key, n.value, path.call(print, "value"), options)); - } - - parts.push(semi); - return group$l(concat$x(parts)); - } - - case "ClassDeclaration": - case "ClassExpression": - if (n.declare) { - parts.push("declare "); - } - - parts.push(printClass$1(path, options, print)); - return concat$x(parts); - - case "TSInterfaceHeritage": - case "TSExpressionWithTypeArguments": - // Babel AST - parts.push(path.call(print, "expression")); - - if (n.typeParameters) { - parts.push(path.call(print, "typeParameters")); - } - - return concat$x(parts); - - case "TemplateElement": - return join$f(literalline$3, n.value.raw.split(/\r?\n/g)); - - case "TSTemplateLiteralType": - case "TemplateLiteral": - { - return printTemplateLiteral$1(path, print, options); - } - - case "TaggedTemplateExpression": - return concat$x([path.call(print, "tag"), path.call(print, "typeParameters"), path.call(print, "quasi")]); - // These types are unprintable because they serve as abstract - // supertypes for other (printable) types. - - case "Node": - case "Printable": - case "SourceLocation": - case "Position": - case "Statement": - case "Function": - case "Pattern": - case "Expression": - case "Declaration": - case "Specifier": - case "NamedSpecifier": - case "Comment": - case "MemberTypeAnnotation": // Flow - - case "Type": - /* istanbul ignore next */ - throw new Error("unprintable type: " + JSON.stringify(n.type)); - // Type Annotations for Facebook Flow, typically stripped out or - // transformed away before printing. - - case "TypeAnnotation": - case "TSTypeAnnotation": - if (n.typeAnnotation) { - return path.call(print, "typeAnnotation"); - } - /* istanbul ignore next */ - - - return ""; - - case "TSNamedTupleMember": - return concat$x([path.call(print, "label"), n.optional ? "?" : "", ": ", path.call(print, "elementType")]); - - case "TSTupleType": - case "TupleTypeAnnotation": - { - const typesField = n.type === "TSTupleType" ? "elementTypes" : "types"; - const hasRest = n[typesField].length > 0 && getLast$9(n[typesField]).type === "TSRestType"; - return group$l(concat$x(["[", indent$p(concat$x([softline$h, printArrayItems$1(path, options, typesField, print)])), ifBreak$d(shouldPrintComma$8(options, "all") && !hasRest ? "," : ""), comments.printDanglingComments(path, options, - /* sameIndent */ - true), softline$h, "]"])); - } - - case "ExistsTypeAnnotation": - return "*"; - - case "EmptyTypeAnnotation": - return "empty"; - - case "MixedTypeAnnotation": - return "mixed"; - - case "ArrayTypeAnnotation": - return concat$x([path.call(print, "elementType"), "[]"]); - - case "BooleanLiteralTypeAnnotation": - return "" + n.value; - - case "DeclareClass": - return printFlowDeclaration$1(path, printClass$1(path, options, print)); - - case "TSDeclareFunction": - // For TypeScript the TSDeclareFunction node shares the AST - // structure with FunctionDeclaration - return concat$x([n.declare ? "declare " : "", printFunctionDeclaration$1(path, print, options), semi]); - - case "DeclareFunction": - return printFlowDeclaration$1(path, concat$x(["function ", path.call(print, "id"), n.predicate ? " " : "", path.call(print, "predicate"), semi])); - - case "DeclareModule": - return printFlowDeclaration$1(path, concat$x(["module ", path.call(print, "id"), " ", path.call(print, "body")])); - - case "DeclareModuleExports": - return printFlowDeclaration$1(path, concat$x(["module.exports", ": ", path.call(print, "typeAnnotation"), semi])); - - case "DeclareVariable": - return printFlowDeclaration$1(path, concat$x(["var ", path.call(print, "id"), semi])); - - case "DeclareOpaqueType": - case "OpaqueType": - { - parts.push("opaque type ", path.call(print, "id"), path.call(print, "typeParameters")); - - if (n.supertype) { - parts.push(": ", path.call(print, "supertype")); - } - - if (n.impltype) { - parts.push(" = ", path.call(print, "impltype")); - } - - parts.push(semi); - - if (n.type === "DeclareOpaqueType") { - return printFlowDeclaration$1(path, concat$x(parts)); - } - - return concat$x(parts); - } - - case "EnumDeclaration": - return concat$x(["enum ", path.call(print, "id"), " ", path.call(print, "body")]); - - case "EnumBooleanBody": - case "EnumNumberBody": - case "EnumStringBody": - case "EnumSymbolBody": - { - if (n.type === "EnumSymbolBody" || n.explicitType) { - let type = null; - - switch (n.type) { - case "EnumBooleanBody": - type = "boolean"; - break; - - case "EnumNumberBody": - type = "number"; - break; - - case "EnumStringBody": - type = "string"; - break; - - case "EnumSymbolBody": - type = "symbol"; - break; - } - - parts.push("of ", type, " "); - } - - if (n.members.length === 0 && !n.hasUnknownMembers) { - parts.push(group$l(concat$x(["{", comments.printDanglingComments(path, options), softline$h, "}"]))); - } else { - const members = n.members.length ? [hardline$k, printArrayItems$1(path, options, "members", print), n.hasUnknownMembers || shouldPrintComma$8(options) ? "," : ""] : []; - parts.push(group$l(concat$x(["{", indent$p(concat$x([...members, ...(n.hasUnknownMembers ? [hardline$k, "..."] : [])])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), hardline$k, "}"]))); - } - - return concat$x(parts); - } - - case "EnumBooleanMember": - case "EnumNumberMember": - case "EnumStringMember": - return concat$x([path.call(print, "id"), " = ", typeof n.init === "object" ? path.call(print, "init") : String(n.init)]); - - case "EnumDefaultedMember": - return path.call(print, "id"); - - case "FunctionTypeAnnotation": - case "TSFunctionType": - { - // FunctionTypeAnnotation is ambiguous: - // declare function foo(a: B): void; OR - // var A: (a: B) => void; - const parent = path.getParentNode(0); - const parentParent = path.getParentNode(1); - const parentParentParent = path.getParentNode(2); - let isArrowFunctionTypeAnnotation = n.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && locStart$8(parent) === locStart$8(n) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); - let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); // Sadly we can't put it inside of FastPath::needsColon because we are - // printing ":" as part of the expression and it would put parenthesis - // around :( - - const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; - - if (isObjectTypePropertyAFunction$2(parent)) { - isArrowFunctionTypeAnnotation = true; - needsColon = true; - } - - if (needsParens) { - parts.push("("); - } - - parts.push(printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); // The returnType is not wrapped in a TypeAnnotation, so the colon - // needs to be added separately. - - if (n.returnType || n.predicate || n.typeAnnotation) { - parts.push(isArrowFunctionTypeAnnotation ? " => " : ": ", path.call(print, "returnType"), path.call(print, "predicate"), path.call(print, "typeAnnotation")); - } - - if (needsParens) { - parts.push(")"); - } - - return group$l(concat$x(parts)); - } - - case "TSRestType": - return concat$x(["...", path.call(print, "typeAnnotation")]); - - case "TSOptionalType": - return concat$x([path.call(print, "typeAnnotation"), "?"]); - - case "FunctionTypeParam": - { - const name = n.name ? path.call(print, "name") : path.getParentNode().this === n ? "this" : ""; - return concat$x([name, printOptionalToken$6(path), name ? ": " : "", path.call(print, "typeAnnotation")]); - } - - case "DeclareInterface": - case "InterfaceDeclaration": - case "InterfaceTypeAnnotation": - case "TSInterfaceDeclaration": - return printInterface$1(path, options, print); - - case "ClassImplements": - case "InterfaceExtends": - return concat$x([path.call(print, "id"), path.call(print, "typeParameters")]); - - case "TSClassImplements": - return concat$x([path.call(print, "expression"), path.call(print, "typeParameters")]); - - case "TSIntersectionType": - case "IntersectionTypeAnnotation": - { - const types = path.map(print, "types"); - const result = []; - let wasIndented = false; - - for (let i = 0; i < types.length; ++i) { - if (i === 0) { - result.push(types[i]); - } else if (isObjectType$3(n.types[i - 1]) && isObjectType$3(n.types[i])) { - // If both are objects, don't indent - result.push(concat$x([" & ", wasIndented ? indent$p(types[i]) : types[i]])); - } else if (!isObjectType$3(n.types[i - 1]) && !isObjectType$3(n.types[i])) { - // If no object is involved, go to the next line if it breaks - result.push(indent$p(concat$x([" &", line$j, types[i]]))); - } else { - // If you go from object to non-object or vis-versa, then inline it - if (i > 1) { - wasIndented = true; - } - - result.push(" & ", i > 1 ? indent$p(types[i]) : types[i]); - } - } - - return group$l(concat$x(result)); - } - - case "TSUnionType": - case "UnionTypeAnnotation": - { - // single-line variation - // A | B | C - // multi-line variation - // | A - // | B - // | C - const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation - - const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.getParentNode(1).this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment$4(options.originalText, n)); // { - // a: string - // } | null | void - // should be inlined and not be printed in the multi-line variant - - const shouldHug = shouldHugType$3(n); // We want to align the children but without its comment, so it looks like - // | child1 - // // comment - // | child2 - - const printed = path.map(typePath => { - let printedType = typePath.call(print); - - if (!shouldHug) { - printedType = align$4(2, printedType); - } - - return comments.printComments(typePath, () => printedType, options); - }, "types"); - - if (shouldHug) { - return join$f(" | ", printed); - } - - const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$4(options.originalText, n); - const code = concat$x([ifBreak$d(concat$x([shouldAddStartLine ? line$j : "", "| "])), join$f(concat$x([line$j, "| "]), printed)]); - - if (needsParens_1(path, options)) { - return group$l(concat$x([indent$p(code), softline$h])); - } - - if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { - return group$l(concat$x([indent$p(concat$x([ifBreak$d(concat$x(["(", softline$h])), code])), softline$h, ifBreak$d(")")])); - } - - return group$l(shouldIndent ? indent$p(code) : code); - } - - case "NullableTypeAnnotation": - return concat$x(["?", path.call(print, "typeAnnotation")]); - - case "Variance": - { - const { - kind - } = n; - assert__default['default'].ok(kind === "plus" || kind === "minus"); - return kind === "plus" ? "+" : "-"; - } - - case "ObjectTypeCallProperty": - if (n.static) { - parts.push("static "); - } - - parts.push(path.call(print, "value")); - return concat$x(parts); - - case "ObjectTypeIndexer": - { - return concat$x([n.variance ? path.call(print, "variance") : "", "[", path.call(print, "id"), n.id ? ": " : "", path.call(print, "key"), "]: ", path.call(print, "value")]); - } - - case "ObjectTypeProperty": - { - let modifier = ""; - - if (n.proto) { - modifier = "proto "; - } else if (n.static) { - modifier = "static "; - } - - return concat$x([modifier, isGetterOrSetter$1(n) ? n.kind + " " : "", n.variance ? path.call(print, "variance") : "", printPropertyKey$2(path, options, print), printOptionalToken$6(path), isFunctionNotation$1(n) ? "" : ": ", path.call(print, "value")]); - } - - case "QualifiedTypeIdentifier": - return concat$x([path.call(print, "qualification"), ".", path.call(print, "id")]); - - case "StringLiteralTypeAnnotation": - return nodeStr(n, options); - - case "NumberLiteralTypeAnnotation": - assert__default['default'].strictEqual(typeof n.value, "number"); - // fall through - - case "BigIntLiteralTypeAnnotation": - if (n.extra != null) { - return printNumber$2(n.extra.raw); - } - - return printNumber$2(n.raw); - - case "DeclareTypeAlias": - case "TypeAlias": - { - if (n.type === "DeclareTypeAlias" || n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight$1(n.id, n.right, path.call(print, "right"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$l(concat$x(parts)); - } - - case "TypeCastExpression": - { - return concat$x(["(", path.call(print, "expression"), printTypeAnnotation$3(path, options, print), ")"]); - } - - case "TypeParameterDeclaration": - case "TypeParameterInstantiation": - { - const printed = printTypeParameters$1(path, options, print, "params"); - - if (options.parser === "flow") { - const start = locStart$8(n); - const end = locEnd$e(n); - const commentStartIndex = options.originalText.lastIndexOf("/*", start); - const commentEndIndex = options.originalText.indexOf("*/", end); - - if (commentStartIndex !== -1 && commentEndIndex !== -1) { - const comment = options.originalText.slice(commentStartIndex + 2, commentEndIndex).trim(); - - if (comment.startsWith("::") && !comment.includes("/*") && !comment.includes("*/")) { - return concat$x(["/*:: ", printed, " */"]); - } - } - } - - return printed; - } - - case "TSTypeParameterDeclaration": - case "TSTypeParameterInstantiation": - return printTypeParameters$1(path, options, print, "params"); - - case "TSTypeParameter": - case "TypeParameter": - { - const parent = path.getParentNode(); - - if (parent.type === "TSMappedType") { - parts.push("[", path.call(print, "name")); - - if (n.constraint) { - parts.push(" in ", path.call(print, "constraint")); - } - - if (parent.nameType) { - parts.push(" as ", path.callParent(path => { - return path.call(print, "nameType"); - })); - } - - parts.push("]"); - return concat$x(parts); - } - - if (n.variance) { - parts.push(path.call(print, "variance")); - } - - parts.push(path.call(print, "name")); - - if (n.bound) { - parts.push(": "); - parts.push(path.call(print, "bound")); - } - - if (n.constraint) { - parts.push(" extends ", path.call(print, "constraint")); - } - - if (n.default) { - parts.push(" = ", path.call(print, "default")); - } // Keep comma if the file extension is .tsx and - // has one type parameter that isn't extend with any types. - // Because, otherwise formatted result will be invalid as tsx. - - - const grandParent = path.getNode(2); - - if (getFunctionParameters$6(parent).length === 1 && isTSXFile$1(options) && !n.constraint && grandParent.type === "ArrowFunctionExpression") { - parts.push(","); - } - - return concat$x(parts); - } - - case "TypeofTypeAnnotation": - return concat$x(["typeof ", path.call(print, "argument")]); - - case "InferredPredicate": - return "%checks"; - // Unhandled types below. If encountered, nodes of these types should - // be either left alone or desugared into AST types that are fully - // supported by the pretty-printer. - - case "DeclaredPredicate": - return concat$x(["%checks(", path.call(print, "value"), ")"]); - - case "TSAbstractKeyword": - return "abstract"; - - case "AnyTypeAnnotation": - case "TSAnyKeyword": - return "any"; - - case "TSAsyncKeyword": - return "async"; - - case "BooleanTypeAnnotation": - case "TSBooleanKeyword": - return "boolean"; - - case "BigIntTypeAnnotation": - case "TSBigIntKeyword": - return "bigint"; - - case "TSConstKeyword": - return "const"; - - case "TSDeclareKeyword": - return "declare"; - - case "TSExportKeyword": - return "export"; - - case "NullLiteralTypeAnnotation": - case "TSNullKeyword": - return "null"; - - case "TSNeverKeyword": - return "never"; - - case "NumberTypeAnnotation": - case "TSNumberKeyword": - return "number"; - - case "TSObjectKeyword": - return "object"; - - case "TSProtectedKeyword": - return "protected"; - - case "TSPrivateKeyword": - return "private"; - - case "TSPublicKeyword": - return "public"; - - case "TSReadonlyKeyword": - return "readonly"; - - case "SymbolTypeAnnotation": - case "TSSymbolKeyword": - return "symbol"; - - case "TSStaticKeyword": - return "static"; - - case "StringTypeAnnotation": - case "TSStringKeyword": - return "string"; - - case "TSUndefinedKeyword": - return "undefined"; - - case "TSUnknownKeyword": - return "unknown"; - - case "VoidTypeAnnotation": - case "TSVoidKeyword": - return "void"; - - case "TSAsExpression": - return concat$x([path.call(print, "expression"), " as ", path.call(print, "typeAnnotation")]); - - case "TSArrayType": - return concat$x([path.call(print, "elementType"), "[]"]); - - case "TSPropertySignature": - { - if (n.export) { - parts.push("export "); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - parts.push(printPropertyKey$2(path, options, print), printOptionalToken$6(path)); - - if (n.typeAnnotation) { - parts.push(": "); - parts.push(path.call(print, "typeAnnotation")); - } // This isn't valid semantically, but it's in the AST so we can print it. - - - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); - } - - return concat$x(parts); - } - - case "TSParameterProperty": - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.export) { - parts.push("export "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - parts.push(path.call(print, "parameter")); - return concat$x(parts); - - case "GenericTypeAnnotation": - case "TSTypeReference": - return concat$x([path.call(print, n.type === "TSTypeReference" ? "typeName" : "id"), printTypeParameters$1(path, options, print, "typeParameters")]); - - case "TSTypeQuery": - return concat$x(["typeof ", path.call(print, "exprName")]); - - case "TSIndexSignature": - { - const parent = path.getParentNode(); // The typescript parser accepts multiple parameters here. If you're - // using them, it makes sense to have a trailing comma. But if you - // aren't, this is more like a computed property name than an array. - // So we leave off the trailing comma when there's just one parameter. - - const trailingComma = n.parameters.length > 1 ? ifBreak$d(shouldPrintComma$8(options) ? "," : "") : ""; - const parametersGroup = group$l(concat$x([indent$p(concat$x([softline$h, join$f(concat$x([", ", softline$h]), path.map(print, "parameters"))])), trailingComma, softline$h])); - return concat$x([n.export ? "export " : "", n.accessibility ? concat$x([n.accessibility, " "]) : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.declare ? "declare " : "", "[", n.parameters ? parametersGroup : "", n.typeAnnotation ? "]: " : "]", n.typeAnnotation ? path.call(print, "typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]); - } - - case "TSTypePredicate": - return concat$x([n.asserts ? "asserts " : "", path.call(print, "parameterName"), n.typeAnnotation ? concat$x([" is ", path.call(print, "typeAnnotation")]) : ""]); - - case "TSNonNullExpression": - return concat$x([path.call(print, "expression"), "!"]); - - case "ThisTypeAnnotation": - case "TSThisType": - return "this"; - - case "TSImportType": - return concat$x([!n.isTypeOf ? "" : "typeof ", "import(", path.call(print, n.parameter ? "parameter" : "argument"), ")", !n.qualifier ? "" : concat$x([".", path.call(print, "qualifier")]), printTypeParameters$1(path, options, print, "typeParameters")]); - - case "TSLiteralType": - return path.call(print, "literal"); - - case "TSIndexedAccessType": - return concat$x([path.call(print, "objectType"), "[", path.call(print, "indexType"), "]"]); - - case "TSConstructSignatureDeclaration": - case "TSCallSignatureDeclaration": - case "TSConstructorType": - { - if (n.type !== "TSCallSignatureDeclaration") { - parts.push("new "); - } - - parts.push(group$l(printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true))); - - if (n.returnType || n.typeAnnotation) { - const isType = n.type === "TSConstructorType"; - parts.push(isType ? " => " : ": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); - } - - return concat$x(parts); - } - - case "TSTypeOperator": - return concat$x([n.operator, " ", path.call(print, "typeAnnotation")]); - - case "TSMappedType": - { - const shouldBreak = hasNewlineInRange$6(options.originalText, locStart$8(n), locEnd$e(n)); - return group$l(concat$x(["{", indent$p(concat$x([options.bracketSpacing ? line$j : softline$h, n.readonly ? concat$x([getTypeScriptMappedTypeModifier$1(n.readonly, "readonly"), " "]) : "", printTypeScriptModifiers$2(path, options, print), path.call(print, "typeParameter"), n.optional ? getTypeScriptMappedTypeModifier$1(n.optional, "?") : "", n.typeAnnotation ? ": " : "", path.call(print, "typeAnnotation"), ifBreak$d(semi, "")])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), options.bracketSpacing ? line$j : softline$h, "}"]), { - shouldBreak - }); - } - - case "TSMethodSignature": - parts.push(n.accessibility ? concat$x([n.accessibility, " "]) : "", n.export ? "export " : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.computed ? "[" : "", path.call(print, "key"), n.computed ? "]" : "", printOptionalToken$6(path), printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); - - if (n.returnType || n.typeAnnotation) { - parts.push(": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); - } - - return group$l(concat$x(parts)); - - case "TSNamespaceExportDeclaration": - parts.push("export as namespace ", path.call(print, "id")); - - if (options.semi) { - parts.push(";"); - } - - return group$l(concat$x(parts)); - - case "TSEnumDeclaration": - if (n.declare) { - parts.push("declare "); - } - - if (n.modifiers) { - parts.push(printTypeScriptModifiers$2(path, options, print)); - } - - if (n.const) { - parts.push("const "); - } - - parts.push("enum ", path.call(print, "id"), " "); - - if (n.members.length === 0) { - parts.push(group$l(concat$x(["{", comments.printDanglingComments(path, options), softline$h, "}"]))); - } else { - parts.push(group$l(concat$x(["{", indent$p(concat$x([hardline$k, printArrayItems$1(path, options, "members", print), shouldPrintComma$8(options, "es5") ? "," : ""])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), hardline$k, "}"]))); - } - - return concat$x(parts); - - case "TSEnumMember": - parts.push(path.call(print, "id")); - - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); - } - - return concat$x(parts); - - case "TSImportEqualsDeclaration": - if (n.isExport) { - parts.push("export "); - } - - parts.push("import ", path.call(print, "id"), " = ", path.call(print, "moduleReference")); - - if (options.semi) { - parts.push(";"); - } - - return group$l(concat$x(parts)); - - case "TSExternalModuleReference": - return concat$x(["require(", path.call(print, "expression"), ")"]); - - case "TSModuleDeclaration": - { - const parent = path.getParentNode(); - const isExternalModule = isLiteral$2(n.id); - const parentIsDeclaration = parent.type === "TSModuleDeclaration"; - const bodyIsDeclaration = n.body && n.body.type === "TSModuleDeclaration"; - - if (parentIsDeclaration) { - parts.push("."); - } else { - if (n.declare) { - parts.push("declare "); - } - - parts.push(printTypeScriptModifiers$2(path, options, print)); - const textBetweenNodeAndItsId = options.originalText.slice(locStart$8(n), locStart$8(n.id)); // Global declaration looks like this: - // (declare)? global { ... } - - const isGlobalDeclaration = n.id.type === "Identifier" && n.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); - - if (!isGlobalDeclaration) { - parts.push(isExternalModule || /(^|\s)module(\s|$)/.test(textBetweenNodeAndItsId) ? "module " : "namespace "); - } - } - - parts.push(path.call(print, "id")); - - if (bodyIsDeclaration) { - parts.push(path.call(print, "body")); - } else if (n.body) { - parts.push(" ", group$l(path.call(print, "body"))); - } else { - parts.push(semi); - } - - return concat$x(parts); - } - - case "PrivateName": - // babel use `id`, meriyah use `name` - return concat$x(["#", path.call(print, n.id ? "id" : "name")]); - // TODO: Temporary auto-generated node type. To remove when typescript-estree has proper support for private fields. - - case "TSPrivateIdentifier": - return n.escapedText; - - case "TSConditionalType": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "checkType"), " ", "extends", " ", path.call(print, "extendsType")], - afterParts: () => [], - shouldCheckJsx: false, - conditionalNodeType: "TSConditionalType", - consequentNodePropertyName: "trueType", - alternateNodePropertyName: "falseType", - testNodePropertyNames: ["checkType", "extendsType"] - }); - - case "TSInferType": - return concat$x(["infer", " ", path.call(print, "typeParameter")]); - - case "InterpreterDirective": - parts.push("#!", n.value, hardline$k); - - if (isNextLineEmpty$9(options.originalText, n, locEnd$e)) { - parts.push(hardline$k); - } - - return concat$x(parts); - - case "NGRoot": - return concat$x([].concat(path.call(print, "node"), !n.node.comments || n.node.comments.length === 0 ? [] : concat$x([" //", n.node.comments[0].value.trimEnd()]))); - - case "NGChainedExpression": - return group$l(join$f(concat$x([";", line$j]), path.map(childPath => hasNgSideEffect$1(childPath) ? print(childPath) : concat$x(["(", print(childPath), ")"]), "expressions"))); - - case "NGEmptyExpression": - return ""; - - case "NGQuotedExpression": - return concat$x([n.prefix, ": ", n.value.trim()]); - - case "NGMicrosyntax": - return concat$x(path.map((childPath, index) => concat$x([index === 0 ? "" : isNgForOf$1(childPath.getValue(), index, n) ? " " : concat$x([";", line$j]), print(childPath)]), "body")); - - case "NGMicrosyntaxKey": - return /^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(n.name) ? n.name : JSON.stringify(n.name); - - case "NGMicrosyntaxExpression": - return concat$x([path.call(print, "expression"), n.alias === null ? "" : concat$x([" as ", path.call(print, "alias")])]); - - case "NGMicrosyntaxKeyedExpression": - { - const index = path.getName(); - const parentNode = path.getParentNode(); - const shouldNotPrintColon = isNgForOf$1(n, index, parentNode) || (index === 1 && (n.key.name === "then" || n.key.name === "else") || index === 2 && n.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; - return concat$x([path.call(print, "key"), shouldNotPrintColon ? " " : ": ", path.call(print, "expression")]); - } - - case "NGMicrosyntaxLet": - return concat$x(["let ", path.call(print, "key"), n.value === null ? "" : concat$x([" = ", path.call(print, "value")])]); - - case "NGMicrosyntaxAs": - return concat$x([path.call(print, "key"), " as ", path.call(print, "alias")]); - - case "PipelineBareFunction": - return path.call(print, "callee"); - - case "PipelineTopicExpression": - return path.call(print, "expression"); - - case "PipelinePrimaryTopicReference": - { - parts.push("#"); - return concat$x(parts); - } - - case "ArgumentPlaceholder": - return "?"; - // These are not valid TypeScript. Printing them just for the sake of error recovery. - - case "TSJSDocAllType": - return "*"; - - case "TSJSDocUnknownType": - return "?"; - - case "TSJSDocNullableType": - return concat$x(["?", path.call(print, "typeAnnotation")]); - - case "TSJSDocNonNullableType": - return concat$x(["!", path.call(print, "typeAnnotation")]); - - case "TSJSDocFunctionType": - return concat$x(["function(", // The parameters could be here, but typescript-estree doesn't convert them anyway (throws an error). - "): ", path.call(print, "typeAnnotation")]); - - default: - /* istanbul ignore next */ - throw new Error("unknown type: " + JSON.stringify(n.type)); - } -} - -function nodeStr(node, options, isFlowOrTypeScriptDirectiveLiteral) { - const raw = rawText$3(node); - const isDirectiveLiteral = isFlowOrTypeScriptDirectiveLiteral || node.type === "DirectiveLiteral"; - return printString$2(raw, options, isDirectiveLiteral); -} - -function printRegex(node) { - const flags = node.flags.split("").sort().join(""); - return `/${node.pattern}/${flags}`; -} - -function canAttachComment(node) { - return node.type && node.type !== "CommentBlock" && node.type !== "CommentLine" && node.type !== "Line" && node.type !== "Block" && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import"; -} - -var printerEstree = { - preprocess: printPreprocess, - print: genericPrint, - embed: embed_1, - insertPragma: insertPragma$1, - massageAstNode: clean_1, - hasPrettierIgnore: hasPrettierIgnore$1, - willPrintOwnComments: comments$1.willPrintOwnComments, - canAttachComment, - printComment: printComment$2, - isBlockComment: isBlockComment$9, - handleComments: { - ownLine: comments$1.handleOwnLineComment, - endOfLine: comments$1.handleEndOfLineComment, - remaining: comments$1.handleRemainingComment - }, - getGapRegex: comments$1.getGapRegex, - getCommentChildNodes: comments$1.getCommentChildNodes -}; - -const { - builders: { - concat: concat$y, - hardline: hardline$l, - indent: indent$q, - join: join$g - } -} = document; - -function genericPrint$1(path, options, print) { - const node = path.getValue(); - - switch (node.type) { - case "JsonRoot": - return concat$y([path.call(print, "node"), hardline$l]); - - case "ArrayExpression": - return node.elements.length === 0 ? "[]" : concat$y(["[", indent$q(concat$y([hardline$l, join$g(concat$y([",", hardline$l]), path.map(print, "elements"))])), hardline$l, "]"]); - - case "ObjectExpression": - return node.properties.length === 0 ? "{}" : concat$y(["{", indent$q(concat$y([hardline$l, join$g(concat$y([",", hardline$l]), path.map(print, "properties"))])), hardline$l, "}"]); - - case "ObjectProperty": - return concat$y([path.call(print, "key"), ": ", path.call(print, "value")]); - - case "UnaryExpression": - return concat$y([node.operator === "+" ? "" : node.operator, path.call(print, "argument")]); - - case "NullLiteral": - return "null"; - - case "BooleanLiteral": - return node.value ? "true" : "false"; - - case "StringLiteral": - case "NumericLiteral": - return JSON.stringify(node.value); - - case "Identifier": - return JSON.stringify(node.name); - - default: - /* istanbul ignore next */ - throw new Error("unknown type: " + JSON.stringify(node.type)); - } -} - -const ignoredProperties$1 = new Set(["start", "end", "extra", "loc", "comments", "errors", "range"]); - -function clean$1(node, newNode -/*, parent*/ -) { - const { - type - } = node; - - if (type === "Identifier") { - return { - type: "StringLiteral", - value: node.name - }; - } - - if (type === "UnaryExpression" && node.operator === "+") { - return newNode.argument; - } -} - -clean$1.ignoredProperties = ignoredProperties$1; -var printerEstreeJson = { - preprocess: printPreprocess, - print: genericPrint$1, - massageAstNode: clean$1 -}; - -const CATEGORY_COMMON = "Common"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js - -var commonOptions = { - bracketSpacing: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: true, - description: "Print spaces between brackets.", - oppositeDescription: "Do not print spaces between brackets." - }, - singleQuote: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: false, - description: "Use single quotes instead of double quotes." - }, - proseWrap: { - since: "1.8.2", - category: CATEGORY_COMMON, - type: "choice", - default: [{ - since: "1.8.2", - value: true - }, { - since: "1.9.0", - value: "preserve" - }], - description: "How to wrap prose.", - choices: [{ - since: "1.9.0", - value: "always", - description: "Wrap prose if it exceeds the print width." - }, { - since: "1.9.0", - value: "never", - description: "Do not wrap prose." - }, { - since: "1.9.0", - value: "preserve", - description: "Wrap prose as-is." - }] - } -}; - -const CATEGORY_JAVASCRIPT = "JavaScript"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js - -var options$2 = { - arrowParens: { - since: "1.9.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "1.9.0", - value: "avoid" - }, { - since: "2.0.0", - value: "always" - }], - description: "Include parentheses around a sole arrow function parameter.", - choices: [{ - value: "always", - description: "Always include parens. Example: `(x) => x`" - }, { - value: "avoid", - description: "Omit parens when possible. Example: `x => x`" - }] - }, - bracketSpacing: commonOptions.bracketSpacing, - jsxBracketSameLine: { - since: "0.17.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Put > on the last line instead of at a new line." - }, - semi: { - since: "1.0.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: true, - description: "Print semicolons.", - oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." - }, - singleQuote: commonOptions.singleQuote, - jsxSingleQuote: { - since: "1.15.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Use single quotes in JSX." - }, - quoteProps: { - since: "1.17.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: "as-needed", - description: "Change when properties in objects are quoted.", - choices: [{ - value: "as-needed", - description: "Only add quotes around object properties where required." - }, { - value: "consistent", - description: "If at least one property in an object requires quotes, quote all properties." - }, { - value: "preserve", - description: "Respect the input use of quotes in object properties." - }] - }, - trailingComma: { - since: "0.0.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "0.0.0", - value: false - }, { - since: "0.19.0", - value: "none" - }, { - since: "2.0.0", - value: "es5" - }], - description: "Print trailing commas wherever possible when multi-line.", - choices: [{ - value: "es5", - description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" - }, { - value: "none", - description: "No trailing commas." - }, { - value: "all", - description: "Trailing commas wherever possible (including function arguments)." - }] - } -}; - -var name$2 = "JavaScript"; -var type = "programming"; -var tmScope = "source.js"; -var aceMode = "javascript"; -var codemirrorMode = "javascript"; -var codemirrorMimeType = "text/javascript"; -var color = "#f1e05a"; -var aliases = [ - "js", - "node" -]; -var extensions = [ - ".js", - "._js", - ".bones", - ".cjs", - ".es", - ".es6", - ".frag", - ".gs", - ".jake", - ".jsb", - ".jscad", - ".jsfl", - ".jsm", - ".jss", - ".mjs", - ".njs", - ".pac", - ".sjs", - ".ssjs", - ".xsjs", - ".xsjslib" -]; -var filenames = [ - "Jakefile" -]; -var interpreters = [ - "chakra", - "d8", - "gjs", - "js", - "node", - "nodejs", - "qjs", - "rhino", - "v8", - "v8-shell" -]; -var languageId = 183; -var require$$0$2 = { - name: name$2, - type: type, - tmScope: tmScope, - aceMode: aceMode, - codemirrorMode: codemirrorMode, - codemirrorMimeType: codemirrorMimeType, - color: color, - aliases: aliases, - extensions: extensions, - filenames: filenames, - interpreters: interpreters, - languageId: languageId -}; - -var name$3 = "JSX"; -var type$1 = "programming"; -var group$m = "JavaScript"; -var extensions$1 = [ - ".jsx" -]; -var tmScope$1 = "source.js.jsx"; -var aceMode$1 = "javascript"; -var codemirrorMode$1 = "jsx"; -var codemirrorMimeType$1 = "text/jsx"; -var languageId$1 = 178; -var require$$1 = { - name: name$3, - type: type$1, - group: group$m, - extensions: extensions$1, - tmScope: tmScope$1, - aceMode: aceMode$1, - codemirrorMode: codemirrorMode$1, - codemirrorMimeType: codemirrorMimeType$1, - languageId: languageId$1 -}; - -var name$4 = "TypeScript"; -var type$2 = "programming"; -var color$1 = "#2b7489"; -var aliases$1 = [ - "ts" -]; -var interpreters$1 = [ - "deno", - "ts-node" -]; -var extensions$2 = [ - ".ts" -]; -var tmScope$2 = "source.ts"; -var aceMode$2 = "typescript"; -var codemirrorMode$2 = "javascript"; -var codemirrorMimeType$2 = "application/typescript"; -var languageId$2 = 378; -var require$$2 = { - name: name$4, - type: type$2, - color: color$1, - aliases: aliases$1, - interpreters: interpreters$1, - extensions: extensions$2, - tmScope: tmScope$2, - aceMode: aceMode$2, - codemirrorMode: codemirrorMode$2, - codemirrorMimeType: codemirrorMimeType$2, - languageId: languageId$2 -}; - -var name$5 = "TSX"; -var type$3 = "programming"; -var group$n = "TypeScript"; -var extensions$3 = [ - ".tsx" -]; -var tmScope$3 = "source.tsx"; -var aceMode$3 = "javascript"; -var codemirrorMode$3 = "jsx"; -var codemirrorMimeType$3 = "text/jsx"; -var languageId$3 = 94901924; -var require$$3 = { - name: name$5, - type: type$3, - group: group$n, - extensions: extensions$3, - tmScope: tmScope$3, - aceMode: aceMode$3, - codemirrorMode: codemirrorMode$3, - codemirrorMimeType: codemirrorMimeType$3, - languageId: languageId$3 -}; - -var name$6 = "JSON"; -var type$4 = "data"; -var tmScope$4 = "source.json"; -var aceMode$4 = "json"; -var codemirrorMode$4 = "javascript"; -var codemirrorMimeType$4 = "application/json"; -var searchable = false; -var extensions$4 = [ - ".json", - ".avsc", - ".geojson", - ".gltf", - ".har", - ".ice", - ".JSON-tmLanguage", - ".jsonl", - ".mcmeta", - ".tfstate", - ".tfstate.backup", - ".topojson", - ".webapp", - ".webmanifest", - ".yy", - ".yyp" -]; -var filenames$1 = [ - ".arcconfig", - ".htmlhintrc", - ".tern-config", - ".tern-project", - ".watchmanconfig", - "composer.lock", - "mcmod.info" -]; -var languageId$4 = 174; -var require$$4$1 = { - name: name$6, - type: type$4, - tmScope: tmScope$4, - aceMode: aceMode$4, - codemirrorMode: codemirrorMode$4, - codemirrorMimeType: codemirrorMimeType$4, - searchable: searchable, - extensions: extensions$4, - filenames: filenames$1, - languageId: languageId$4 -}; - -var name$7 = "JSON with Comments"; -var type$5 = "data"; -var group$o = "JSON"; -var tmScope$5 = "source.js"; -var aceMode$5 = "javascript"; -var codemirrorMode$5 = "javascript"; -var codemirrorMimeType$5 = "text/javascript"; -var aliases$2 = [ - "jsonc" -]; -var extensions$5 = [ - ".jsonc", - ".sublime-build", - ".sublime-commands", - ".sublime-completions", - ".sublime-keymap", - ".sublime-macro", - ".sublime-menu", - ".sublime-mousemap", - ".sublime-project", - ".sublime-settings", - ".sublime-theme", - ".sublime-workspace", - ".sublime_metrics", - ".sublime_session" -]; -var filenames$2 = [ - ".babelrc", - ".eslintrc.json", - ".jscsrc", - ".jshintrc", - ".jslintrc", - "devcontainer.json", - "jsconfig.json", - "language-configuration.json", - "tsconfig.json", - "tslint.json" -]; -var languageId$5 = 423; -var require$$5 = { - name: name$7, - type: type$5, - group: group$o, - tmScope: tmScope$5, - aceMode: aceMode$5, - codemirrorMode: codemirrorMode$5, - codemirrorMimeType: codemirrorMimeType$5, - aliases: aliases$2, - extensions: extensions$5, - filenames: filenames$2, - languageId: languageId$5 -}; - -var name$8 = "JSON5"; -var type$6 = "data"; -var extensions$6 = [ - ".json5" -]; -var tmScope$6 = "source.js"; -var aceMode$6 = "javascript"; -var codemirrorMode$6 = "javascript"; -var codemirrorMimeType$6 = "application/json"; -var languageId$6 = 175; -var require$$6 = { - name: name$8, - type: type$6, - extensions: extensions$6, - tmScope: tmScope$6, - aceMode: aceMode$6, - codemirrorMode: codemirrorMode$6, - codemirrorMimeType: codemirrorMimeType$6, - languageId: languageId$6 -}; - -const languages = [createLanguage(require$$0$2, data => ({ - since: "0.0.0", - parsers: ["babel", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], - vscodeLanguageIds: ["javascript", "mongo"], - extensions: [...data.extensions, // WeiXin Script (Weixin Mini Programs) - // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ - ".wxs"] -})), createLanguage(require$$0$2, () => ({ - name: "Flow", - since: "0.0.0", - parsers: ["flow", "babel-flow"], - vscodeLanguageIds: ["javascript"], - aliases: [], - filenames: [], - extensions: [".js.flow"] -})), createLanguage(require$$1, () => ({ - since: "0.0.0", - parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], - vscodeLanguageIds: ["javascriptreact"] -})), createLanguage(require$$2, () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescript"] -})), createLanguage(require$$3, () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescriptreact"] -})), createLanguage(require$$4$1, () => ({ - name: "JSON.stringify", - since: "1.13.0", - parsers: ["json-stringify"], - vscodeLanguageIds: ["json"], - extensions: [], - // .json file defaults to json instead of json-stringify - filenames: ["package.json", "package-lock.json", "composer.json"] -})), createLanguage(require$$4$1, data => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["json"], - filenames: [...data.filenames, ".prettierrc"], - extensions: data.extensions.filter(extension => extension !== ".jsonl") -})), createLanguage(require$$5, data => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["jsonc"], - filenames: [...data.filenames, ".eslintrc"] -})), createLanguage(require$$6, () => ({ - since: "1.13.0", - parsers: ["json5"], - vscodeLanguageIds: ["json5"] -}))]; -const printers = { - estree: printerEstree, - "estree-json": printerEstreeJson -}; -const parsers = { - // JS - Babel - get babel() { - return require("./parser-babel").parsers.babel; - }, - - get "babel-flow"() { - return require("./parser-babel").parsers["babel-flow"]; - }, - - get "babel-ts"() { - return require("./parser-babel").parsers["babel-ts"]; - }, - - get json() { - return require("./parser-babel").parsers.json; - }, - - get json5() { - return require("./parser-babel").parsers.json5; - }, - - get "json-stringify"() { - return require("./parser-babel").parsers["json-stringify"]; - }, - - get __js_expression() { - return require("./parser-babel").parsers.__js_expression; - }, - - get __vue_expression() { - return require("./parser-babel").parsers.__vue_expression; - }, - - get __vue_event_binding() { - return require("./parser-babel").parsers.__vue_event_binding; - }, - - // JS - Flow - get flow() { - return require("./parser-flow").parsers.flow; - }, - - // JS - TypeScript - get typescript() { - return require("./parser-typescript").parsers.typescript; - }, - - // JS - Angular Action - get __ng_action() { - return require("./parser-angular").parsers.__ng_action; - }, - - // JS - Angular Binding - get __ng_binding() { - return require("./parser-angular").parsers.__ng_binding; - }, - - // JS - Angular Interpolation - get __ng_interpolation() { - return require("./parser-angular").parsers.__ng_interpolation; - }, - - // JS - Angular Directive - get __ng_directive() { - return require("./parser-angular").parsers.__ng_directive; - }, - - // JS - espree - get espree() { - return require("./parser-espree").parsers.espree; - }, - - // JS - meriyah - get meriyah() { - return require("./parser-meriyah").parsers.meriyah; - } - -}; -var languageJs = { - languages, - options: options$2, - printers, - parsers -}; - -const { - isFrontMatterNode: isFrontMatterNode$1 -} = util; -const ignoredProperties$2 = new Set(["raw", // front-matter -"raws", "sourceIndex", "source", "before", "after", "trailingComma"]); - -function clean$2(ast, newObj, parent) { - if (isFrontMatterNode$1(ast) && ast.lang === "yaml") { - delete newObj.value; - } - - if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length !== 0) { - // --insert-pragma - // first non-front-matter comment - if (parent.nodes[0] === ast || isFrontMatterNode$1(parent.nodes[0]) && parent.nodes[1] === ast) { - /** - * something - * - * @format - */ - delete newObj.text; // standalone pragma - - if (/^\*\s*@(format|prettier)\s*$/.test(ast.text)) { - return null; - } - } // Last comment is not parsed, when omitting semicolon, #8675 - - - if (parent.type === "css-root" && getLast(parent.nodes) === ast) { - return null; - } - } - - if (ast.type === "value-root") { - delete newObj.text; - } - - if (ast.type === "media-query" || ast.type === "media-query-list" || ast.type === "media-feature-expression") { - delete newObj.value; - } - - if (ast.type === "css-rule") { - delete newObj.params; - } - - if (ast.type === "selector-combinator") { - newObj.value = newObj.value.replace(/\s+/g, " "); - } - - if (ast.type === "media-feature") { - newObj.value = newObj.value.replace(/ /g, ""); - } - - if (ast.type === "value-word" && (ast.isColor && ast.isHex || ["initial", "inherit", "unset", "revert"].includes(newObj.value.replace().toLowerCase())) || ast.type === "media-feature" || ast.type === "selector-root-invalid" || ast.type === "selector-pseudo") { - newObj.value = newObj.value.toLowerCase(); - } - - if (ast.type === "css-decl") { - newObj.prop = newObj.prop.toLowerCase(); - } - - if (ast.type === "css-atrule" || ast.type === "css-import") { - newObj.name = newObj.name.toLowerCase(); - } - - if (ast.type === "value-number") { - newObj.unit = newObj.unit.toLowerCase(); - } - - if ((ast.type === "media-feature" || ast.type === "media-keyword" || ast.type === "media-type" || ast.type === "media-unknown" || ast.type === "media-url" || ast.type === "media-value" || ast.type === "selector-attribute" || ast.type === "selector-string" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "value-string") && newObj.value) { - newObj.value = cleanCSSStrings(newObj.value); - } - - if (ast.type === "selector-attribute") { - newObj.attribute = newObj.attribute.trim(); - - if (newObj.namespace) { - if (typeof newObj.namespace === "string") { - newObj.namespace = newObj.namespace.trim(); - - if (newObj.namespace.length === 0) { - newObj.namespace = true; - } - } - } - - if (newObj.value) { - newObj.value = newObj.value.trim().replace(/^["']|["']$/g, ""); - delete newObj.quoted; - } - } - - if ((ast.type === "media-value" || ast.type === "media-type" || ast.type === "value-number" || ast.type === "selector-root-invalid" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "selector-tag") && newObj.value) { - newObj.value = newObj.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g, (match, numStr, unit) => { - const num = Number(numStr); - return isNaN(num) ? match : num + unit.toLowerCase(); - }); - } - - if (ast.type === "selector-tag") { - const lowercasedValue = ast.value.toLowerCase(); - - if (["from", "to"].includes(lowercasedValue)) { - newObj.value = lowercasedValue; - } - } // Workaround when `postcss-values-parser` parse `not`, `and` or `or` keywords as `value-func` - - - if (ast.type === "css-atrule" && ast.name.toLowerCase() === "supports") { - delete newObj.value; - } // Workaround for SCSS nested properties - - - if (ast.type === "selector-unknown") { - delete newObj.value; - } -} - -clean$2.ignoredProperties = ignoredProperties$2; - -function cleanCSSStrings(value) { - return value.replace(/'/g, '"').replace(/\\([^\dA-Fa-f])/g, "$1"); -} - -var clean_1$1 = clean$2; - -const { - builders: { - hardline: hardline$m, - concat: concat$z, - markAsRoot: markAsRoot$1 - } -} = document; -const DELIMITER_MAP = { - "---": "yaml", - "+++": "toml" -}; - -function parse$7(text) { - const delimiterRegex = Object.keys(DELIMITER_MAP).map(escapeStringRegexp).join("|"); - const match = text.match( // trailing spaces after delimiters are allowed - new RegExp(`^(${delimiterRegex})([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)`)); - - if (match === null) { - return { - frontMatter: null, - content: text - }; - } - - const [raw, delimiter, language, value] = match; - let lang = DELIMITER_MAP[delimiter]; - - if (lang !== "toml" && language && language.trim()) { - lang = language.trim(); - } - - return { - frontMatter: { - type: "front-matter", - lang, - value, - raw: raw.replace(/\n$/, "") - }, - content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) - }; -} - -function print$1(node, textToDoc) { - if (node.lang === "yaml") { - const value = node.value.trim(); - const doc = value ? textToDoc(value, { - parser: "yaml" - }, { - stripTrailingHardline: true - }) : ""; - return markAsRoot$1(concat$z(["---", hardline$m, doc, doc ? hardline$m : "", "---"])); - } -} - -var frontMatter = { - parse: parse$7, - print: print$1 -}; - -const { - builders: { - hardline: hardline$n, - concat: concat$A - } -} = document; -const { - print: printFrontMatter -} = frontMatter; - -function embed$1(path, print, textToDoc -/*, options */ -) { - const node = path.getValue(); - - if (node.type === "front-matter") { - const doc = printFrontMatter(node, textToDoc); - return doc ? concat$A([doc, hardline$n]) : ""; - } -} - -var embed_1$1 = embed$1; - -const { - parse: parseFrontMatter -} = frontMatter; - -function hasPragma$1(text) { - return pragma.hasPragma(parseFrontMatter(text).content); -} - -function insertPragma$2(text) { - const { - frontMatter, - content - } = parseFrontMatter(text); - return (frontMatter ? frontMatter.raw + "\n\n" : "") + pragma.insertPragma(content); -} - -var pragma$1 = { - hasPragma: hasPragma$1, - insertPragma: insertPragma$2 -}; - -const colorAdjusterFunctions = new Set(["red", "green", "blue", "alpha", "a", "rgb", "hue", "h", "saturation", "s", "lightness", "l", "whiteness", "w", "blackness", "b", "tint", "shade", "blend", "blenda", "contrast", "hsl", "hsla", "hwb", "hwba"]); - -function getAncestorCounter(path, typeOrTypes) { - const types = [].concat(typeOrTypes); - let counter = -1; - let ancestorNode; - - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - - return -1; -} - -function getAncestorNode(path, typeOrTypes) { - const counter = getAncestorCounter(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); -} - -function getPropOfDeclNode(path) { - const declAncestorNode = getAncestorNode(path, "css-decl"); - return declAncestorNode && declAncestorNode.prop && declAncestorNode.prop.toLowerCase(); -} - -function hasSCSSInterpolation(groupList) { - if (groupList && groupList.length) { - for (let i = groupList.length - 1; i > 0; i--) { - // If we find `#{`, return true. - if (groupList[i].type === "word" && groupList[i].value === "{" && groupList[i - 1].type === "word" && groupList[i - 1].value.endsWith("#")) { - return true; - } - } - } - - return false; -} - -function hasStringOrFunction(groupList) { - if (groupList && groupList.length) { - for (let i = 0; i < groupList.length; i++) { - if (groupList[i].type === "string" || groupList[i].type === "func") { - return true; - } - } - } - - return false; -} - -function isSCSS(parser, text) { - const hasExplicitParserChoice = parser === "less" || parser === "scss"; - const IS_POSSIBLY_SCSS = /(\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; - return hasExplicitParserChoice ? parser === "scss" : IS_POSSIBLY_SCSS.test(text); -} - -function isSCSSVariable(node) { - return !!(node && node.type === "word" && node.value.startsWith("$")); -} - -function isWideKeywords(value) { - return ["initial", "inherit", "unset", "revert"].includes(value.toLowerCase()); -} - -function isKeyframeAtRuleKeywords(path, value) { - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleAncestorNode.name && atRuleAncestorNode.name.toLowerCase().endsWith("keyframes") && ["from", "to"].includes(value.toLowerCase()); -} - -function maybeToLowerCase(value) { - return value.includes("$") || value.includes("@") || value.includes("#") || value.startsWith("%") || value.startsWith("--") || value.startsWith(":--") || value.includes("(") && value.includes(")") ? value : value.toLowerCase(); -} - -function insideValueFunctionNode(path, functionName) { - const funcAncestorNode = getAncestorNode(path, "value-func"); - return funcAncestorNode && funcAncestorNode.value && funcAncestorNode.value.toLowerCase() === functionName; -} - -function insideICSSRuleNode(path) { - const ruleAncestorNode = getAncestorNode(path, "css-rule"); - return ruleAncestorNode && ruleAncestorNode.raws && ruleAncestorNode.raws.selector && (ruleAncestorNode.raws.selector.startsWith(":import") || ruleAncestorNode.raws.selector.startsWith(":export")); -} - -function insideAtRuleNode(path, atRuleNameOrAtRuleNames) { - const atRuleNames = [].concat(atRuleNameOrAtRuleNames); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleNames.includes(atRuleAncestorNode.name.toLowerCase()); -} - -function insideURLFunctionInImportAtRuleNode(path) { - const node = path.getValue(); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleAncestorNode.name === "import" && node.groups[0].value === "url" && node.groups.length === 2; -} - -function isURLFunctionNode(node) { - return node.type === "value-func" && node.value.toLowerCase() === "url"; -} - -function isLastNode(path, node) { - const parentNode = path.getParentNode(); - /* istanbul ignore next */ - - if (!parentNode) { - return false; - } - - const { - nodes - } = parentNode; - return nodes && nodes.indexOf(node) === nodes.length - 1; -} - -function isDetachedRulesetDeclarationNode(node) { - // If a Less file ends up being parsed with the SCSS parser, Less - // variable declarations will be parsed as atrules with names ending - // with a colon, so keep the original case then. - - /* istanbul ignore next */ - if (!node.selector) { - return false; - } - - return typeof node.selector === "string" && /^@.+:.*$/.test(node.selector) || node.selector.value && /^@.+:.*$/.test(node.selector.value); -} - -function isForKeywordNode(node) { - return node.type === "value-word" && ["from", "through", "end"].includes(node.value); -} - -function isIfElseKeywordNode(node) { - return node.type === "value-word" && ["and", "or", "not"].includes(node.value); -} - -function isEachKeywordNode(node) { - return node.type === "value-word" && node.value === "in"; -} - -function isMultiplicationNode(node) { - return node.type === "value-operator" && node.value === "*"; -} - -function isDivisionNode(node) { - return node.type === "value-operator" && node.value === "/"; -} - -function isAdditionNode(node) { - return node.type === "value-operator" && node.value === "+"; -} - -function isSubtractionNode(node) { - return node.type === "value-operator" && node.value === "-"; -} - -function isModuloNode(node) { - return node.type === "value-operator" && node.value === "%"; -} - -function isMathOperatorNode(node) { - return isMultiplicationNode(node) || isDivisionNode(node) || isAdditionNode(node) || isSubtractionNode(node) || isModuloNode(node); -} - -function isEqualityOperatorNode(node) { - return node.type === "value-word" && ["==", "!="].includes(node.value); -} - -function isRelationalOperatorNode(node) { - return node.type === "value-word" && ["<", ">", "<=", ">="].includes(node.value); -} - -function isSCSSControlDirectiveNode(node) { - return node.type === "css-atrule" && ["if", "else", "for", "each", "while"].includes(node.name); -} - -function isSCSSNestedPropertyNode(node) { - /* istanbul ignore next */ - if (!node.selector) { - return false; - } - - return node.selector.replace(/\/\*.*?\*\//, "").replace(/\/\/.*?\n/, "").trim().endsWith(":"); -} - -function isDetachedRulesetCallNode(node) { - return node.raws && node.raws.params && /^\(\s*\)$/.test(node.raws.params); -} - -function isTemplatePlaceholderNode(node) { - return node.name.startsWith("prettier-placeholder"); -} - -function isTemplatePropNode(node) { - return node.prop.startsWith("@prettier-placeholder"); -} - -function isPostcssSimpleVarNode(currentNode, nextNode) { - return currentNode.value === "$$" && currentNode.type === "value-func" && nextNode && nextNode.type === "value-word" && !nextNode.raws.before; -} - -function hasComposesNode(node) { - return node.value && node.value.type === "value-root" && node.value.group && node.value.group.type === "value-value" && node.prop.toLowerCase() === "composes"; -} - -function hasParensAroundNode(node) { - return node.value && node.value.group && node.value.group.group && node.value.group.group.type === "value-paren_group" && node.value.group.group.open !== null && node.value.group.group.close !== null; -} - -function hasEmptyRawBefore(node) { - return node.raws && node.raws.before === ""; -} - -function isKeyValuePairNode(node) { - return node.type === "value-comma_group" && node.groups && node.groups[1] && node.groups[1].type === "value-colon"; -} - -function isKeyValuePairInParenGroupNode(node) { - return node.type === "value-paren_group" && node.groups && node.groups[0] && isKeyValuePairNode(node.groups[0]); -} - -function isSCSSMapItemNode(path) { - const node = path.getValue(); // Ignore empty item (i.e. `$key: ()`) - - if (node.groups.length === 0) { - return false; - } - - const parentParentNode = path.getParentNode(1); // Check open parens contain key/value pair (i.e. `(key: value)` and `(key: (value, other-value)`) - - if (!isKeyValuePairInParenGroupNode(node) && !(parentParentNode && isKeyValuePairInParenGroupNode(parentParentNode))) { - return false; - } - - const declNode = getAncestorNode(path, "css-decl"); // SCSS map declaration (i.e. `$map: (key: value, other-key: other-value)`) - - if (declNode && declNode.prop && declNode.prop.startsWith("$")) { - return true; - } // List as value of key inside SCSS map (i.e. `$map: (key: (value other-value other-other-value))`) - - - if (isKeyValuePairInParenGroupNode(parentParentNode)) { - return true; - } // SCSS Map is argument of function (i.e. `func((key: value, other-key: other-value))`) - - - if (parentParentNode.type === "value-func") { - return true; - } - - return false; -} - -function isInlineValueCommentNode(node) { - return node.type === "value-comment" && node.inline; -} - -function isHashNode(node) { - return node.type === "value-word" && node.value === "#"; -} - -function isLeftCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "{"; -} - -function isRightCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "}"; -} - -function isWordNode(node) { - return ["value-word", "value-atword"].includes(node.type); -} - -function isColonNode(node) { - return node.type === "value-colon"; -} - -function isMediaAndSupportsKeywords(node) { - return node.value && ["not", "and", "or"].includes(node.value.toLowerCase()); -} - -function isColorAdjusterFuncNode(node) { - if (node.type !== "value-func") { - return false; - } - - return colorAdjusterFunctions.has(node.value.toLowerCase()); -} // TODO: only check `less` when we don't use `less` to parse `css` - - -function isLessParser(options) { - return options.parser === "css" || options.parser === "less"; -} - -function lastLineHasInlineComment(text) { - return /\/\//.test(text.split(/[\n\r]/).pop()); -} - -function stringifyNode(node) { - if (node.groups) { - const open = node.open && node.open.value ? node.open.value : ""; - const groups = node.groups.reduce((previousValue, currentValue, index) => { - return previousValue + stringifyNode(currentValue) + (node.groups[0].type === "comma_group" && index !== node.groups.length - 1 ? "," : ""); - }, ""); - const close = node.close && node.close.value ? node.close.value : ""; - return open + groups + close; - } - - const before = node.raws && node.raws.before ? node.raws.before : ""; - const quote = node.raws && node.raws.quote ? node.raws.quote : ""; - const atword = node.type === "atword" ? "@" : ""; - const value = node.value ? node.value : ""; - const unit = node.unit ? node.unit : ""; - const group = node.group ? stringifyNode(node.group) : ""; - const after = node.raws && node.raws.after ? node.raws.after : ""; - return before + quote + atword + value + quote + unit + group + after; -} - -function isAtWordPlaceholderNode(node) { - return node && node.type === "value-atword" && node.value.startsWith("prettier-placeholder-"); -} - -var utils$7 = { - getAncestorCounter, - getAncestorNode, - getPropOfDeclNode, - hasSCSSInterpolation, - hasStringOrFunction, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isSCSS, - isSCSSVariable, - isLastNode, - isLessParser, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isModuloNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, - hasComposesNode, - hasParensAroundNode, - hasEmptyRawBefore, - isSCSSNestedPropertyNode, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isPostcssSimpleVarNode, - isKeyValuePairNode, - isKeyValuePairInParenGroupNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - stringifyNode, - isAtWordPlaceholderNode -}; - -var lineColumnToIndex = function (lineColumn, text) { - let index = 0; - - for (let i = 0; i < lineColumn.line - 1; ++i) { - index = text.indexOf("\n", index) + 1; - } - - return index + lineColumn.column; -}; - -const { - getLast: getLast$a, - skipEverythingButNewLine: skipEverythingButNewLine$2 -} = util; - -function calculateLocStart(node, text) { - // value-* nodes have this - if (typeof node.sourceIndex === "number") { - return node.sourceIndex; - } - - return node.source ? lineColumnToIndex(node.source.start, text) - 1 : null; -} - -function calculateLocEnd(node, text) { - if (node.type === "css-comment" && node.inline) { - return skipEverythingButNewLine$2(text, node.source.startOffset); - } - - const endNode = node.nodes && getLast$a(node.nodes); - - if (endNode && node.source && !node.source.end) { - node = endNode; - } - - if (node.source && node.source.end) { - return lineColumnToIndex(node.source.end, text); - } - - return null; -} - -function calculateLoc(node, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text); - node.source.endOffset = calculateLocEnd(node, text); - } - - for (const key in node) { - const child = node[key]; - - if (key === "source" || !child || typeof child !== "object") { - continue; - } - - if (child.type === "value-root" || child.type === "value-unknown") { - calculateValueNodeLoc(child, getValueRootOffset(node), child.text || child.value); - } else { - calculateLoc(child, text); - } - } -} - -function calculateValueNodeLoc(node, rootOffset, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text) + rootOffset; - node.source.endOffset = calculateLocEnd(node, text) + rootOffset; - } - - for (const key in node) { - const child = node[key]; - - if (key === "source" || !child || typeof child !== "object") { - continue; - } - - calculateValueNodeLoc(child, rootOffset, text); - } -} - -function getValueRootOffset(node) { - let result = node.source.startOffset; - - if (typeof node.prop === "string") { - result += node.prop.length; - } - - if (node.type === "css-atrule" && typeof node.name === "string") { - result += 1 + node.name.length + node.raws.afterName.match(/^\s*:?\s*/)[0].length; - } - - if (node.type !== "css-atrule" && node.raws && typeof node.raws.between === "string") { - result += node.raws.between.length; - } - - return result; -} -/** - * Workaround for a bug: quotes and asterisks in inline comments corrupt loc data of subsequent nodes. - * This function replaces the quotes and asterisks with spaces. Later, when the comments are printed, - * their content is extracted from the original text. - * - https://github.com/prettier/prettier/issues/7780 - * - https://github.com/shellscape/postcss-less/issues/145 - * - https://github.com/prettier/prettier/issues/8130 - * @param text {string} - */ - - -function replaceQuotesInInlineComments(text) { - /** @typedef { 'initial' | 'single-quotes' | 'double-quotes' | 'url' | 'comment-block' | 'comment-inline' } State */ - - /** @type {State} */ - let state = "initial"; - /** @type {State} */ - - let stateToReturnFromQuotes = "initial"; - let inlineCommentStartIndex; - let inlineCommentContainsQuotes = false; - const inlineCommentsToReplace = []; - - for (let i = 0; i < text.length; i++) { - const c = text[i]; - - switch (state) { - case "initial": - if (c === "'") { - state = "single-quotes"; - continue; - } - - if (c === '"') { - state = "double-quotes"; - continue; - } - - if ((c === "u" || c === "U") && text.slice(i, i + 4).toLowerCase() === "url(") { - state = "url"; - i += 3; - continue; - } - - if (c === "*" && text[i - 1] === "/") { - state = "comment-block"; - continue; - } - - if (c === "/" && text[i - 1] === "/") { - state = "comment-inline"; - inlineCommentStartIndex = i - 1; - continue; - } - - continue; - - case "single-quotes": - if (c === "'" && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - continue; - - case "double-quotes": - if (c === '"' && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - continue; - - case "url": - if (c === ")") { - state = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - if (c === "'") { - state = "single-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - - if (c === '"') { - state = "double-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - - continue; - - case "comment-block": - if (c === "/" && text[i - 1] === "*") { - state = "initial"; - } - - continue; - - case "comment-inline": - if (c === '"' || c === "'" || c === "*") { - inlineCommentContainsQuotes = true; - } - - if (c === "\n" || c === "\r") { - if (inlineCommentContainsQuotes) { - inlineCommentsToReplace.push([inlineCommentStartIndex, i]); - } - - state = "initial"; - inlineCommentContainsQuotes = false; - } - - continue; - } - } - - for (const [start, end] of inlineCommentsToReplace) { - text = text.slice(0, start) + text.slice(start, end).replace(/["'*]/g, " ") + text.slice(end); - } - - return text; -} - -function locStart$9(node) { - return node.source.startOffset; -} - -function locEnd$f(node) { - return node.source.endOffset; -} - -var loc$1 = { - locStart: locStart$9, - locEnd: locEnd$f, - calculateLoc, - replaceQuotesInInlineComments -}; - -const { - printNumber: printNumber$3, - printString: printString$3, - hasNewline: hasNewline$8, - isFrontMatterNode: isFrontMatterNode$2, - isNextLineEmpty: isNextLineEmpty$a -} = util; -const { - builders: { - concat: concat$B, - join: join$h, - line: line$k, - hardline: hardline$o, - softline: softline$i, - group: group$p, - fill: fill$4, - indent: indent$r, - dedent: dedent$2, - ifBreak: ifBreak$e, - breakParent: breakParent$5 - }, - utils: { - removeLines: removeLines$2 - } -} = document; -const { - insertPragma: insertPragma$3 -} = pragma$1; -const { - getAncestorNode: getAncestorNode$1, - getPropOfDeclNode: getPropOfDeclNode$1, - maybeToLowerCase: maybeToLowerCase$1, - insideValueFunctionNode: insideValueFunctionNode$1, - insideICSSRuleNode: insideICSSRuleNode$1, - insideAtRuleNode: insideAtRuleNode$1, - insideURLFunctionInImportAtRuleNode: insideURLFunctionInImportAtRuleNode$1, - isKeyframeAtRuleKeywords: isKeyframeAtRuleKeywords$1, - isWideKeywords: isWideKeywords$1, - isSCSS: isSCSS$1, - isLastNode: isLastNode$1, - isLessParser: isLessParser$1, - isSCSSControlDirectiveNode: isSCSSControlDirectiveNode$1, - isDetachedRulesetDeclarationNode: isDetachedRulesetDeclarationNode$1, - isRelationalOperatorNode: isRelationalOperatorNode$1, - isEqualityOperatorNode: isEqualityOperatorNode$1, - isMultiplicationNode: isMultiplicationNode$1, - isDivisionNode: isDivisionNode$1, - isAdditionNode: isAdditionNode$1, - isSubtractionNode: isSubtractionNode$1, - isMathOperatorNode: isMathOperatorNode$1, - isEachKeywordNode: isEachKeywordNode$1, - isForKeywordNode: isForKeywordNode$1, - isURLFunctionNode: isURLFunctionNode$1, - isIfElseKeywordNode: isIfElseKeywordNode$1, - hasComposesNode: hasComposesNode$1, - hasParensAroundNode: hasParensAroundNode$1, - hasEmptyRawBefore: hasEmptyRawBefore$1, - isKeyValuePairNode: isKeyValuePairNode$1, - isDetachedRulesetCallNode: isDetachedRulesetCallNode$1, - isTemplatePlaceholderNode: isTemplatePlaceholderNode$1, - isTemplatePropNode: isTemplatePropNode$1, - isPostcssSimpleVarNode: isPostcssSimpleVarNode$1, - isSCSSMapItemNode: isSCSSMapItemNode$1, - isInlineValueCommentNode: isInlineValueCommentNode$1, - isHashNode: isHashNode$1, - isLeftCurlyBraceNode: isLeftCurlyBraceNode$1, - isRightCurlyBraceNode: isRightCurlyBraceNode$1, - isWordNode: isWordNode$1, - isColonNode: isColonNode$1, - isMediaAndSupportsKeywords: isMediaAndSupportsKeywords$1, - isColorAdjusterFuncNode: isColorAdjusterFuncNode$1, - lastLineHasInlineComment: lastLineHasInlineComment$1, - isAtWordPlaceholderNode: isAtWordPlaceholderNode$1 -} = utils$7; -const { - locStart: locStart$a, - locEnd: locEnd$g -} = loc$1; - -function shouldPrintComma$9(options) { - return options.trailingComma === "es5" || options.trailingComma === "all"; -} - -function genericPrint$2(path, options, print) { - const node = path.getValue(); - /* istanbul ignore if */ - - if (!node) { - return ""; - } - - if (typeof node === "string") { - return node; - } - - switch (node.type) { - case "front-matter": - return concat$B([node.raw, hardline$o]); - - case "css-root": - { - const nodes = printNodeSequence(path, options, print); - const after = node.raws.after.trim(); - return concat$B([nodes, after ? ` ${after}` : "", nodes.parts.length ? hardline$o : ""]); - } - - case "css-comment": - { - const isInlineComment = node.inline || node.raws.inline; - const text = options.originalText.slice(locStart$a(node), locEnd$g(node)); - return isInlineComment ? text.trimEnd() : text; - } - - case "css-rule": - { - return concat$B([path.call(print, "selector"), node.important ? " !important" : "", node.nodes ? concat$B([node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment$1(node.selector.value) ? line$k : " ", "{", node.nodes.length > 0 ? indent$r(concat$B([hardline$o, printNodeSequence(path, options, print)])) : "", hardline$o, "}", isDetachedRulesetDeclarationNode$1(node) ? ";" : ""]) : ";"]); - } - - case "css-decl": - { - const parentNode = path.getParentNode(); - const { - between: rawBetween - } = node.raws; - const trimmedBetween = rawBetween.trim(); - const isColon = trimmedBetween === ":"; - let value = hasComposesNode$1(node) ? removeLines$2(path.call(print, "value")) : path.call(print, "value"); - - if (!isColon && lastLineHasInlineComment$1(trimmedBetween)) { - value = indent$r(concat$B([hardline$o, dedent$2(value)])); - } - - return concat$B([node.raws.before.replace(/[\s;]/g, ""), insideICSSRuleNode$1(path) ? node.prop : maybeToLowerCase$1(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser$1(options) && node.extend && node.selector ? concat$B(["extend(", path.call(print, "selector"), ")"]) : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? concat$B([" {", indent$r(concat$B([softline$i, printNodeSequence(path, options, print)])), softline$i, "}"]) : isTemplatePropNode$1(node) && !parentNode.raws.semicolon && options.originalText[locEnd$g(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode$1(path, node) ? ifBreak$e(";", "") : ";"]); - } - - case "css-atrule": - { - const parentNode = path.getParentNode(); - const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode$1(node) && !parentNode.raws.semicolon && options.originalText[locEnd$g(node) - 1] !== ";"; - - if (isLessParser$1(options)) { - if (node.mixin) { - return concat$B([path.call(print, "selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - - if (node.function) { - return concat$B([node.name, concat$B([path.call(print, "params")]), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - - if (node.variable) { - return concat$B(["@", node.name, ": ", node.value ? concat$B([path.call(print, "value")]) : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? concat$B(["{", indent$r(concat$B([node.nodes.length > 0 ? softline$i : "", printNodeSequence(path, options, print)])), softline$i, "}"]) : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - } - - return concat$B(["@", // If a Less file ends up being parsed with the SCSS parser, Less - // variable declarations will be parsed as at-rules with names ending - // with a colon, so keep the original case then. - isDetachedRulesetCallNode$1(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase$1(node.name), node.params ? concat$B([isDetachedRulesetCallNode$1(node) ? "" : isTemplatePlaceholderNode$1(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? concat$B([hardline$o, hardline$o]) : /^\s*\n/.test(node.raws.afterName) ? hardline$o : " " : " ", path.call(print, "params")]) : "", node.selector ? indent$r(concat$B([" ", path.call(print, "selector")])) : "", node.value ? group$p(concat$B([" ", path.call(print, "value"), isSCSSControlDirectiveNode$1(node) ? hasParensAroundNode$1(node) ? " " : line$k : ""])) : node.name === "else" ? " " : "", node.nodes ? concat$B([isSCSSControlDirectiveNode$1(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment$1(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment$1(node.params) ? line$k : " ", "{", indent$r(concat$B([node.nodes.length > 0 ? softline$i : "", printNodeSequence(path, options, print)])), softline$i, "}"]) : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - // postcss-media-query-parser - - case "media-query-list": - { - const parts = []; - path.each(childPath => { - const node = childPath.getValue(); - - if (node.type === "media-query" && node.value === "") { - return; - } - - parts.push(childPath.call(print)); - }, "nodes"); - return group$p(indent$r(join$h(line$k, parts))); - } - - case "media-query": - { - return concat$B([join$h(" ", path.map(print, "nodes")), isLastNode$1(path, node) ? "" : ","]); - } - - case "media-type": - { - return adjustNumbers(adjustStrings(node.value, options)); - } - - case "media-feature-expression": - { - if (!node.nodes) { - return node.value; - } - - return concat$B(["(", concat$B(path.map(print, "nodes")), ")"]); - } - - case "media-feature": - { - return maybeToLowerCase$1(adjustStrings(node.value.replace(/ +/g, " "), options)); - } - - case "media-colon": - { - return concat$B([node.value, " "]); - } - - case "media-value": - { - return adjustNumbers(adjustStrings(node.value, options)); - } - - case "media-keyword": - { - return adjustStrings(node.value, options); - } - - case "media-url": - { - return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/gi, ")"), options); - } - - case "media-unknown": - { - return node.value; - } - // postcss-selector-parser - - case "selector-root": - { - return group$p(concat$B([insideAtRuleNode$1(path, "custom-selector") ? concat$B([getAncestorNode$1(path, "css-atrule").customSelector, line$k]) : "", join$h(concat$B([",", insideAtRuleNode$1(path, ["extend", "custom-selector", "nest"]) ? line$k : hardline$o]), path.map(print, "nodes"))])); - } - - case "selector-selector": - { - return group$p(indent$r(concat$B(path.map(print, "nodes")))); - } - - case "selector-comment": - { - return node.value; - } - - case "selector-string": - { - return adjustStrings(node.value, options); - } - - case "selector-tag": - { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.nodes.indexOf(node); - const prevNode = index && parentNode.nodes[index - 1]; - return concat$B([node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords$1(path, node.value) ? node.value.toLowerCase() : node.value)]); - } - - case "selector-id": - { - return concat$B(["#", node.value]); - } - - case "selector-class": - { - return concat$B([".", adjustNumbers(adjustStrings(node.value, options))]); - } - - case "selector-attribute": - { - return concat$B(["[", node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.attribute.trim(), node.operator ? node.operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]); - } - - case "selector-combinator": - { - if (node.value === "+" || node.value === ">" || node.value === "~" || node.value === ">>>") { - const parentNode = path.getParentNode(); - const leading = parentNode.type === "selector-selector" && parentNode.nodes[0] === node ? "" : line$k; - return concat$B([leading, node.value, isLastNode$1(path, node) ? "" : " "]); - } - - const leading = node.value.trim().startsWith("(") ? line$k : ""; - const value = adjustNumbers(adjustStrings(node.value.trim(), options)) || line$k; - return concat$B([leading, value]); - } - - case "selector-universal": - { - return concat$B([node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.value]); - } - - case "selector-pseudo": - { - return concat$B([maybeToLowerCase$1(node.value), node.nodes && node.nodes.length > 0 ? concat$B(["(", join$h(", ", path.map(print, "nodes")), ")"]) : ""]); - } - - case "selector-nesting": - { - return node.value; - } - - case "selector-unknown": - { - const ruleAncestorNode = getAncestorNode$1(path, "css-rule"); // Nested SCSS property - - if (ruleAncestorNode && ruleAncestorNode.isSCSSNesterProperty) { - return adjustNumbers(adjustStrings(maybeToLowerCase$1(node.value), options)); - } // originalText has to be used for Less, see replaceQuotesInInlineComments in loc.js - - - const parentNode = path.getParentNode(); - - if (parentNode.raws && parentNode.raws.selector) { - const start = locStart$a(parentNode); - const end = start + parentNode.raws.selector.length; - return options.originalText.slice(start, end).trim(); - } // Same reason above - - - const grandParent = path.getParentNode(1); - - if (parentNode.type === "value-paren_group" && grandParent && grandParent.type === "value-func" && grandParent.value === "selector") { - const start = locStart$a(parentNode.open) + 1; - const end = locEnd$g(parentNode.close) - 1; - const selector = options.originalText.slice(start, end).trim(); - return lastLineHasInlineComment$1(selector) ? concat$B([breakParent$5, selector]) : selector; - } - - return node.value; - } - // postcss-values-parser - - case "value-value": - case "value-root": - { - return path.call(print, "group"); - } - - case "value-comment": - { - return options.originalText.slice(locStart$a(node), locEnd$g(node)); - } - - case "value-comma_group": - { - const parentNode = path.getParentNode(); - const parentParentNode = path.getParentNode(1); - const declAncestorProp = getPropOfDeclNode$1(path); - const isGridValue = declAncestorProp && parentNode.type === "value-value" && (declAncestorProp === "grid" || declAncestorProp.startsWith("grid-template")); - const atRuleAncestorNode = getAncestorNode$1(path, "css-atrule"); - const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode$1(atRuleAncestorNode); - const printed = path.map(print, "groups"); - const parts = []; - const insideURLFunction = insideValueFunctionNode$1(path, "url"); - let insideSCSSInterpolationInString = false; - let didBreak = false; - - for (let i = 0; i < node.groups.length; ++i) { - parts.push(printed[i]); - const iPrevNode = node.groups[i - 1]; - const iNode = node.groups[i]; - const iNextNode = node.groups[i + 1]; - const iNextNextNode = node.groups[i + 2]; - - if (insideURLFunction) { - if (iNextNode && isAdditionNode$1(iNextNode) || isAdditionNode$1(iNode)) { - parts.push(" "); - } - - continue; - } // Ignore after latest node (i.e. before semicolon) - - - if (!iNextNode) { - continue; - } // styled.div` background: var(--${one}); ` - - - if (iNode.type === "value-word" && iNode.value.endsWith("-") && isAtWordPlaceholderNode$1(iNextNode)) { - continue; - } // Ignore spaces before/after string interpolation (i.e. `"#{my-fn("_")}"`) - - - const isStartSCSSInterpolationInString = iNode.type === "value-string" && iNode.value.startsWith("#{"); - const isEndingSCSSInterpolationInString = insideSCSSInterpolationInString && iNextNode.type === "value-string" && iNextNode.value.endsWith("}"); - - if (isStartSCSSInterpolationInString || isEndingSCSSInterpolationInString) { - insideSCSSInterpolationInString = !insideSCSSInterpolationInString; - continue; - } - - if (insideSCSSInterpolationInString) { - continue; - } // Ignore colon (i.e. `:`) - - - if (isColonNode$1(iNode) || isColonNode$1(iNextNode)) { - continue; - } // Ignore `@` in Less (i.e. `@@var;`) - - - if (iNode.type === "value-atword" && iNode.value === "") { - continue; - } // Ignore `~` in Less (i.e. `content: ~"^//* some horrible but needed css hack";`) - - - if (iNode.value === "~") { - continue; - } // Ignore escape `\` - - - if (iNode.value && iNode.value.includes("\\") && iNextNode && iNextNode.type !== "value-comment") { - continue; - } // Ignore escaped `/` - - - if (iPrevNode && iPrevNode.value && iPrevNode.value.indexOf("\\") === iPrevNode.value.length - 1 && iNode.type === "value-operator" && iNode.value === "/") { - continue; - } // Ignore `\` (i.e. `$variable: \@small;`) - - - if (iNode.value === "\\") { - continue; - } // Ignore `$$` (i.e. `background-color: $$(style)Color;`) - - - if (isPostcssSimpleVarNode$1(iNode, iNextNode)) { - continue; - } // Ignore spaces after `#` and after `{` and before `}` in SCSS interpolation (i.e. `#{variable}`) - - - if (isHashNode$1(iNode) || isLeftCurlyBraceNode$1(iNode) || isRightCurlyBraceNode$1(iNextNode) || isLeftCurlyBraceNode$1(iNextNode) && hasEmptyRawBefore$1(iNextNode) || isRightCurlyBraceNode$1(iNode) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Ignore css variables and interpolation in SCSS (i.e. `--#{$var}`) - - - if (iNode.value === "--" && isHashNode$1(iNextNode)) { - continue; - } // Formatting math operations - - - const isMathOperator = isMathOperatorNode$1(iNode); - const isNextMathOperator = isMathOperatorNode$1(iNextNode); // Print spaces before and after math operators beside SCSS interpolation as is - // (i.e. `#{$var}+5`, `#{$var} +5`, `#{$var}+ 5`, `#{$var} + 5`) - // (i.e. `5+#{$var}`, `5 +#{$var}`, `5+ #{$var}`, `5 + #{$var}`) - - if ((isMathOperator && isHashNode$1(iNextNode) || isNextMathOperator && isRightCurlyBraceNode$1(iNode)) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Print spaces before and after addition and subtraction math operators as is in `calc` function - // due to the fact that it is not valid syntax - // (i.e. `calc(1px+1px)`, `calc(1px+ 1px)`, `calc(1px +1px)`, `calc(1px + 1px)`) - - - if (insideValueFunctionNode$1(path, "calc") && (isAdditionNode$1(iNode) || isAdditionNode$1(iNextNode) || isSubtractionNode$1(iNode) || isSubtractionNode$1(iNextNode)) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Print spaces after `+` and `-` in color adjuster functions as is (e.g. `color(red l(+ 20%))`) - // Adjusters with signed numbers (e.g. `color(red l(+20%))`) output as-is. - - - const isColorAdjusterNode = (isAdditionNode$1(iNode) || isSubtractionNode$1(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode$1(parentParentNode) && !hasEmptyRawBefore$1(iNextNode); - const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode$1(iNextNextNode) || iNode.type === "value-func" || isWordNode$1(iNode); - const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode$1(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode$1(iPrevNode); // Formatting `/`, `+`, `-` sign - - if (!(isMultiplicationNode$1(iNextNode) || isMultiplicationNode$1(iNode)) && !insideValueFunctionNode$1(path, "calc") && !isColorAdjusterNode && (isDivisionNode$1(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode$1(iNode) && !requireSpaceAfterOperator || isAdditionNode$1(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode$1(iNode) && !requireSpaceAfterOperator || isSubtractionNode$1(iNextNode) || isSubtractionNode$1(iNode)) && (hasEmptyRawBefore$1(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode$1(iPrevNode)))) { - continue; - } // Add `hardline` after inline comment (i.e. `// comment\n foo: bar;`) - - - if (isInlineValueCommentNode$1(iNode)) { - if (parentNode.type === "value-paren_group") { - parts.push(dedent$2(hardline$o)); - continue; - } - - parts.push(hardline$o); - continue; - } // Handle keywords in SCSS control directive - - - if (isControlDirective && (isEqualityOperatorNode$1(iNextNode) || isRelationalOperatorNode$1(iNextNode) || isIfElseKeywordNode$1(iNextNode) || isEachKeywordNode$1(iNode) || isForKeywordNode$1(iNode))) { - parts.push(" "); - continue; - } // At-rule `namespace` should be in one line - - - if (atRuleAncestorNode && atRuleAncestorNode.name.toLowerCase() === "namespace") { - parts.push(" "); - continue; - } // Formatting `grid` property - - - if (isGridValue) { - if (iNode.source && iNextNode.source && iNode.source.start.line !== iNextNode.source.start.line) { - parts.push(hardline$o); - didBreak = true; - } else { - parts.push(" "); - } - - continue; - } // Add `space` before next math operation - // Note: `grip` property have `/` delimiter and it is not math operation, so - // `grid` property handles above - - - if (isNextMathOperator) { - parts.push(" "); - continue; - } // allow function(returns-list($list)...) - - - if (iNextNode && iNextNode.value === "...") { - continue; - } - - if (isAtWordPlaceholderNode$1(iNode) && isAtWordPlaceholderNode$1(iNextNode) && locEnd$g(iNode) === locStart$a(iNextNode)) { - continue; - } // Be default all values go through `line` - - - parts.push(line$k); - } - - if (didBreak) { - parts.unshift(hardline$o); - } - - if (isControlDirective) { - return group$p(indent$r(concat$B(parts))); - } // Indent is not needed for import url when url is very long - // and node has two groups - // when type is value-comma_group - // example @import url("verylongurl") projection,tv - - - if (insideURLFunctionInImportAtRuleNode$1(path)) { - return group$p(fill$4(parts)); - } - - return group$p(indent$r(fill$4(parts))); - } - - case "value-paren_group": - { - const parentNode = path.getParentNode(); - - if (parentNode && isURLFunctionNode$1(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { - return concat$B([node.open ? path.call(print, "open") : "", join$h(",", path.map(print, "groups")), node.close ? path.call(print, "close") : ""]); - } - - if (!node.open) { - const printed = path.map(print, "groups"); - const res = []; - - for (let i = 0; i < printed.length; i++) { - if (i !== 0) { - res.push(concat$B([",", line$k])); - } - - res.push(printed[i]); - } - - return group$p(indent$r(fill$4(res))); - } - - const isSCSSMapItem = isSCSSMapItemNode$1(path); - const lastItem = node.groups[node.groups.length - 1]; - const isLastItemComment = lastItem && lastItem.type === "value-comment"; - return group$p(concat$B([node.open ? path.call(print, "open") : "", indent$r(concat$B([softline$i, join$h(concat$B([",", line$k]), path.map(childPath => { - const node = childPath.getValue(); - const printed = print(childPath); // Key/Value pair in open paren already indented - - if (isKeyValuePairNode$1(node) && node.type === "value-comma_group" && node.groups && node.groups[2] && node.groups[2].type === "value-paren_group") { - printed.contents.contents.parts[1] = group$p(printed.contents.contents.parts[1]); - return group$p(dedent$2(printed)); - } - - return printed; - }, "groups"))])), ifBreak$e(!isLastItemComment && isSCSS$1(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma$9(options) ? "," : ""), softline$i, node.close ? path.call(print, "close") : ""]), { - shouldBreak: isSCSSMapItem - }); - } - - case "value-func": - { - return concat$B([node.value, insideAtRuleNode$1(path, "supports") && isMediaAndSupportsKeywords$1(node) ? " " : "", path.call(print, "group")]); - } - - case "value-paren": - { - return node.value; - } - - case "value-number": - { - return concat$B([printCssNumber(node.value), maybeToLowerCase$1(node.unit)]); - } - - case "value-operator": - { - return node.value; - } - - case "value-word": - { - if (node.isColor && node.isHex || isWideKeywords$1(node.value)) { - return node.value.toLowerCase(); - } - - return node.value; - } - - case "value-colon": - { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.groups.indexOf(node); - const prevNode = index && parentNode.groups[index - 1]; - return concat$B([node.value, // Don't add spaces on escaped colon `:`, e.g: grid-template-rows: [row-1-00\:00] auto; - prevNode && prevNode.value[prevNode.value.length - 1] === "\\" || // Don't add spaces on `:` in `url` function (i.e. `url(fbglyph: cross-outline, fig-white)`) - insideValueFunctionNode$1(path, "url") ? "" : line$k]); - } - // TODO: confirm this code is dead - - /* istanbul ignore next */ - - case "value-comma": - { - return concat$B([node.value, " "]); - } - - case "value-string": - { - return printString$3(node.raws.quote + node.value + node.raws.quote, options); - } - - case "value-atword": - { - return concat$B(["@", node.value]); - } - - case "value-unicode-range": - { - return node.value; - } - - case "value-unknown": - { - return node.value; - } - - default: - /* istanbul ignore next */ - throw new Error(`Unknown postcss type ${JSON.stringify(node.type)}`); - } -} - -function printNodeSequence(path, options, print) { - const node = path.getValue(); - const parts = []; - path.each((pathChild, i) => { - const prevNode = node.nodes[i - 1]; - - if (prevNode && prevNode.type === "css-comment" && prevNode.text.trim() === "prettier-ignore") { - const childNode = pathChild.getValue(); - parts.push(options.originalText.slice(locStart$a(childNode), locEnd$g(childNode))); - } else { - parts.push(pathChild.call(print)); - } - - if (i !== node.nodes.length - 1) { - if (node.nodes[i + 1].type === "css-comment" && !hasNewline$8(options.originalText, locStart$a(node.nodes[i + 1]), { - backwards: true - }) && !isFrontMatterNode$2(node.nodes[i]) || node.nodes[i + 1].type === "css-atrule" && node.nodes[i + 1].name === "else" && node.nodes[i].type !== "css-comment") { - parts.push(" "); - } else { - parts.push(options.__isHTMLStyleAttribute ? line$k : hardline$o); - - if (isNextLineEmpty$a(options.originalText, pathChild.getValue(), locEnd$g) && !isFrontMatterNode$2(node.nodes[i])) { - parts.push(hardline$o); - } - } - } - }, "nodes"); - return concat$B(parts); -} - -const STRING_REGEX$3 = /(["'])(?:(?!\1)[^\\]|\\[\S\s])*\1/g; -const NUMBER_REGEX = /(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g; -const STANDARD_UNIT_REGEX = /[A-Za-z]+/g; -const WORD_PART_REGEX = /[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g; -const ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX$3.source + "|" + `(${WORD_PART_REGEX.source})?` + `(${NUMBER_REGEX.source})` + `(${STANDARD_UNIT_REGEX.source})?`, "g"); - -function adjustStrings(value, options) { - return value.replace(STRING_REGEX$3, match => printString$3(match, options)); -} - -function quoteAttributeValue(value, options) { - const quote = options.singleQuote ? "'" : '"'; - return value.includes('"') || value.includes("'") ? value : quote + value + quote; -} - -function adjustNumbers(value) { - return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase$1(unit || "") : match); -} - -function printCssNumber(rawNumber) { - return printNumber$3(rawNumber) // Remove trailing `.0`. - .replace(/\.0(?=$|e)/, ""); -} - -var printerPostcss = { - print: genericPrint$2, - embed: embed_1$1, - insertPragma: insertPragma$3, - massageAstNode: clean_1$1 -}; - -var options$3 = { - singleQuote: commonOptions.singleQuote -}; - -var name$9 = "CSS"; -var type$7 = "markup"; -var tmScope$7 = "source.css"; -var aceMode$7 = "css"; -var codemirrorMode$7 = "css"; -var codemirrorMimeType$7 = "text/css"; -var color$2 = "#563d7c"; -var extensions$7 = [ - ".css" -]; -var languageId$7 = 50; -var require$$0$3 = { - name: name$9, - type: type$7, - tmScope: tmScope$7, - aceMode: aceMode$7, - codemirrorMode: codemirrorMode$7, - codemirrorMimeType: codemirrorMimeType$7, - color: color$2, - extensions: extensions$7, - languageId: languageId$7 -}; - -var name$a = "PostCSS"; -var type$8 = "markup"; -var tmScope$8 = "source.postcss"; -var group$q = "CSS"; -var extensions$8 = [ - ".pcss", - ".postcss" -]; -var aceMode$8 = "text"; -var languageId$8 = 262764437; -var require$$1$1 = { - name: name$a, - type: type$8, - tmScope: tmScope$8, - group: group$q, - extensions: extensions$8, - aceMode: aceMode$8, - languageId: languageId$8 -}; - -var name$b = "Less"; -var type$9 = "markup"; -var color$3 = "#1d365d"; -var extensions$9 = [ - ".less" -]; -var tmScope$9 = "source.css.less"; -var aceMode$9 = "less"; -var codemirrorMode$8 = "css"; -var codemirrorMimeType$8 = "text/css"; -var languageId$9 = 198; -var require$$2$1 = { - name: name$b, - type: type$9, - color: color$3, - extensions: extensions$9, - tmScope: tmScope$9, - aceMode: aceMode$9, - codemirrorMode: codemirrorMode$8, - codemirrorMimeType: codemirrorMimeType$8, - languageId: languageId$9 -}; - -var name$c = "SCSS"; -var type$a = "markup"; -var color$4 = "#c6538c"; -var tmScope$a = "source.css.scss"; -var aceMode$a = "scss"; -var codemirrorMode$9 = "css"; -var codemirrorMimeType$9 = "text/x-scss"; -var extensions$a = [ - ".scss" -]; -var languageId$a = 329; -var require$$3$1 = { - name: name$c, - type: type$a, - color: color$4, - tmScope: tmScope$a, - aceMode: aceMode$a, - codemirrorMode: codemirrorMode$9, - codemirrorMimeType: codemirrorMimeType$9, - extensions: extensions$a, - languageId: languageId$a -}; - -const languages$1 = [createLanguage(require$$0$3, data => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["css"], - extensions: [...data.extensions, // `WeiXin Style Sheets`(Weixin Mini Programs) - // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ - ".wxss"] -})), createLanguage(require$$1$1, () => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["postcss"] -})), createLanguage(require$$2$1, () => ({ - since: "1.4.0", - parsers: ["less"], - vscodeLanguageIds: ["less"] -})), createLanguage(require$$3$1, () => ({ - since: "1.4.0", - parsers: ["scss"], - vscodeLanguageIds: ["scss"] -}))]; -const printers$1 = { - postcss: printerPostcss -}; -const parsers$1 = { - // TODO: switch these to just `postcss` and use `language` instead. - get css() { - return require("./parser-postcss").parsers.css; - }, - - get less() { - return require("./parser-postcss").parsers.less; - }, - - get scss() { - return require("./parser-postcss").parsers.scss; - } - -}; -var languageCss = { - languages: languages$1, - options: options$3, - printers: printers$1, - parsers: parsers$1 -}; - -function locStart$b(node) { - return node.loc.start.offset; -} - -function locEnd$h(node) { - return node.loc.end.offset; -} - -var loc$2 = { - locStart: locStart$b, - locEnd: locEnd$h -}; - -function clean$3(ast, newNode -/*, parent*/ -) { - // (Glimmer/HTML) ignore TextNode whitespace - if (ast.type === "TextNode") { - const trimmed = ast.chars.trim(); - - if (!trimmed) { - return null; - } - - newNode.chars = trimmed; - } -} - -clean$3.ignoredProperties = new Set(["loc", "selfClosing"]); -var clean_1$2 = clean$3; - -var htmlVoidElements = [ - "area", - "base", - "basefont", - "bgsound", - "br", - "col", - "command", - "embed", - "frame", - "hr", - "image", - "img", - "input", - "isindex", - "keygen", - "link", - "menuitem", - "meta", - "nextid", - "param", - "source", - "track", - "wbr" -]; - -function isUppercase(string) { - return string.toUpperCase() === string; -} - -function isGlimmerComponent(node) { - return isNodeOfSomeType(node, ["ElementNode"]) && typeof node.tag === "string" && (isUppercase(node.tag[0]) || node.tag.includes(".")); -} - -const voidTags = new Set(htmlVoidElements); - -function isVoid(node) { - return isGlimmerComponent(node) && node.children.every(n => isWhitespaceNode(n)) || voidTags.has(node.tag); -} - -function isWhitespaceNode(node) { - return isNodeOfSomeType(node, ["TextNode"]) && !/\S/.test(node.chars); -} - -function isNodeOfSomeType(node, types) { - return node && types.some(type => node.type === type); -} - -function isParentOfSomeType(path, types) { - const parentNode = path.getParentNode(0); - return isNodeOfSomeType(parentNode, types); -} - -function isPreviousNodeOfSomeType(path, types) { - const previousNode = getPreviousNode(path); - return isNodeOfSomeType(previousNode, types); -} - -function isNextNodeOfSomeType(path, types) { - const nextNode = getNextNode(path); - return isNodeOfSomeType(nextNode, types); -} - -function getSiblingNode(path, offset) { - const node = path.getValue(); - const parentNode = path.getParentNode(0) || {}; - const children = parentNode.children || parentNode.body || parentNode.parts || []; - const index = children.indexOf(node); - return index !== -1 && children[index + offset]; -} - -function getPreviousNode(path, lookBack = 1) { - return getSiblingNode(path, -lookBack); -} - -function getNextNode(path) { - return getSiblingNode(path, 1); -} - -function isPrettierIgnoreNode(node) { - return isNodeOfSomeType(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; -} - -function hasPrettierIgnore$2(path) { - const node = path.getValue(); - const previousPreviousNode = getPreviousNode(path, 2); - return isPrettierIgnoreNode(node) || isPrettierIgnoreNode(previousPreviousNode); -} - -var utils$8 = { - getNextNode, - getPreviousNode, - hasPrettierIgnore: hasPrettierIgnore$2, - isNextNodeOfSomeType, - isNodeOfSomeType, - isParentOfSomeType, - isPreviousNodeOfSomeType, - isVoid, - isWhitespaceNode -}; - -const { - builders: { - concat: concat$C, - group: group$r, - hardline: hardline$p, - ifBreak: ifBreak$f, - indent: indent$s, - join: join$i, - line: line$l, - softline: softline$j - } -} = document; -const { - locStart: locStart$c, - locEnd: locEnd$i -} = loc$2; -const { - getNextNode: getNextNode$1, - getPreviousNode: getPreviousNode$1, - hasPrettierIgnore: hasPrettierIgnore$3, - isNextNodeOfSomeType: isNextNodeOfSomeType$1, - isNodeOfSomeType: isNodeOfSomeType$1, - isParentOfSomeType: isParentOfSomeType$1, - isPreviousNodeOfSomeType: isPreviousNodeOfSomeType$1, - isVoid: isVoid$1, - isWhitespaceNode: isWhitespaceNode$1 -} = utils$8; // Formatter based on @glimmerjs/syntax's built-in test formatter: -// https://github.com/glimmerjs/glimmer-vm/blob/master/packages/%40glimmer/syntax/lib/generation/print.ts - -function print$2(path, options, print) { - const n = path.getValue(); - /* istanbul ignore if*/ - - if (!n) { - return ""; - } - - if (hasPrettierIgnore$3(path)) { - return options.originalText.slice(locStart$c(n), locEnd$i(n)); - } - - switch (n.type) { - case "Block": - case "Program": - case "Template": - { - return group$r(concat$C(path.map(print, "body"))); - } - - case "ElementNode": - { - // TODO: make it whitespace sensitive - const bim = isNextNodeOfSomeType$1(path, ["ElementNode"]) ? hardline$p : ""; - - if (isVoid$1(n)) { - return concat$C([group$r(printStartingTag(path, print)), bim]); - } - - const isWhitespaceOnly = n.children.every(n => isWhitespaceNode$1(n)); - return concat$C([group$r(printStartingTag(path, print)), group$r(concat$C([isWhitespaceOnly ? "" : indent$s(printChildren(path, options, print)), n.children.length ? hardline$p : "", concat$C([""])])), bim]); - } - - case "BlockStatement": - { - const pp = path.getParentNode(1); - const isElseIf = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === n && pp.inverse.body[0].path.parts[0] === "if"; - - if (isElseIf) { - return concat$C([printElseIfBlock(path, print), printProgram(path, print), printInverse(path, print)]); - } - - return concat$C([printOpenBlock(path, print), group$r(concat$C([printProgram(path, print), printInverse(path, print), printCloseBlock(path, print)]))]); - } - - case "ElementModifierStatement": - { - return group$r(concat$C(["{{", printPathAndParams(path, print), softline$j, "}}"])); - } - - case "MustacheStatement": - { - const isParentOfSpecifiedTypes = isParentOfSomeType$1(path, ["AttrNode", "ConcatStatement"]); - const isChildOfElementNodeAndDoesNotHaveParams = isParentOfSomeType$1(path, ["ElementNode"]) && doesNotHaveHashParams(n) && doesNotHavePositionalParams(n); - const shouldBreakOpeningMustache = isParentOfSpecifiedTypes || isChildOfElementNodeAndDoesNotHaveParams; - return group$r(concat$C([printOpeningMustache(n), shouldBreakOpeningMustache ? indent$s(softline$j) : "", printPathAndParams(path, print), softline$j, printClosingMustache(n)])); - } - - case "SubExpression": - { - return group$r(concat$C(["(", printSubExpressionPathAndParams(path, print), softline$j, ")"])); - } - - case "AttrNode": - { - const isText = n.value.type === "TextNode"; - const isEmptyText = isText && n.value.chars === ""; // If the text is empty and the value's loc start and end offsets are the - // same, there is no value for this AttrNode and it should be printed - // without the `=""`. Example: `` -> `` - - if (isEmptyText && locStart$c(n.value) === locEnd$i(n.value)) { - return concat$C([n.name]); - } - - const value = path.call(print, "value"); - const quotedValue = isText ? printStringLiteral(value.parts.join(), options) : value; - return concat$C([n.name, "=", quotedValue]); - } - - case "ConcatStatement": - { - const quote = options.singleQuote ? "'" : '"'; - return concat$C([quote, ...path.map(partPath => print(partPath), "parts"), quote]); - } - - case "Hash": - { - return concat$C([join$i(line$l, path.map(print, "pairs"))]); - } - - case "HashPair": - { - return concat$C([n.key, "=", path.call(print, "value")]); - } - - case "TextNode": - { - const maxLineBreaksToPreserve = 2; - const isFirstElement = !getPreviousNode$1(path); - const isLastElement = !getNextNode$1(path); - const isWhitespaceOnly = !/\S/.test(n.chars); - const lineBreaksCount = countNewLines(n.chars); - let leadingLineBreaksCount = countLeadingNewLines(n.chars); - let trailingLineBreaksCount = countTrailingNewLines(n.chars); - - if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType$1(path, ["Block", "ElementNode", "Template"])) { - return ""; - } - - if (isWhitespaceOnly && lineBreaksCount) { - leadingLineBreaksCount = Math.min(lineBreaksCount, maxLineBreaksToPreserve); - trailingLineBreaksCount = 0; - } else { - if (isNextNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { - trailingLineBreaksCount = Math.max(trailingLineBreaksCount, 1); - } - - if (isPreviousNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { - leadingLineBreaksCount = Math.max(leadingLineBreaksCount, 1); - } - } - - const inAttrNode = path.stack.includes("attributes"); - - if (inAttrNode) { - // TODO: format style and srcset attributes - // and cleanup concat that is not necessary - if (!isInAttributeOfName(path, "class")) { - return concat$C([n.chars]); - } - - let leadingSpace = ""; - let trailingSpace = ""; - - if (isParentOfSomeType$1(path, ["ConcatStatement"])) { - if (isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - - if (isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - } - - return concat$C([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), n.chars.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); - } - - let leadingSpace = ""; - let trailingSpace = ""; - - if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - - if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - - if (isFirstElement) { - leadingLineBreaksCount = 0; - leadingSpace = ""; - } - - if (isLastElement) { - trailingLineBreaksCount = 0; - trailingSpace = ""; - } - - let text = n.chars; - /* if `{{my-component}}` (or any text starting with a mustache) - * makes it to the TextNode, - * it means it was escaped, - * so let's print it escaped, ie.; `\{{my-component}}` */ - - if (text.startsWith("{{") && text.includes("}}")) { - text = "\\" + text; - } - - return concat$C([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), text.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); - } - - case "MustacheCommentStatement": - { - const dashes = n.value.includes("}}") ? "--" : ""; - return concat$C(["{{!", dashes, n.value, dashes, "}}"]); - } - - case "PathExpression": - { - return n.original; - } - - case "BooleanLiteral": - { - return String(n.value); - } - - case "CommentStatement": - { - return concat$C([""]); - } - - case "StringLiteral": - { - return printStringLiteral(n.value, options); - } - - case "NumberLiteral": - { - return String(n.value); - } - - case "UndefinedLiteral": - { - return "undefined"; - } - - case "NullLiteral": - { - return "null"; - } - - /* istanbul ignore next */ - - default: - throw new Error("unknown glimmer type: " + JSON.stringify(n.type)); - } -} -/* ElementNode print helpers */ - - -function printStartingTag(path, print) { - const node = path.getValue(); - return concat$C(["<", node.tag, printAttributesLike(path, print), printBlockParams(node), printStartingTagEndMarker(node)]); -} - -function printAttributesLike(path, print) { - const node = path.getValue(); - return indent$s(concat$C([node.attributes.length ? line$l : "", join$i(line$l, path.map(print, "attributes")), node.modifiers.length ? line$l : "", join$i(line$l, path.map(print, "modifiers")), node.comments.length ? line$l : "", join$i(line$l, path.map(print, "comments"))])); -} - -function printChildren(path, options, print) { - return concat$C(path.map((childPath, childIndex) => { - if (childIndex === 0) { - return concat$C([softline$j, print(childPath, options, print)]); - } - - return print(childPath, options, print); - }, "children")); -} - -function printStartingTagEndMarker(node) { - if (isVoid$1(node)) { - return ifBreak$f(concat$C([softline$j, "/>"]), concat$C([" />", softline$j])); - } - - return ifBreak$f(concat$C([softline$j, ">"]), ">"); -} -/* MustacheStatement print helpers */ - - -function printOpeningMustache(node) { - const mustache = node.escaped === false ? "{{{" : "{{"; - const strip = node.strip && node.strip.open ? "~" : ""; - return concat$C([mustache, strip]); -} - -function printClosingMustache(node) { - const mustache = node.escaped === false ? "}}}" : "}}"; - const strip = node.strip && node.strip.close ? "~" : ""; - return concat$C([strip, mustache]); -} -/* BlockStatement print helpers */ - - -function printOpeningBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.openStrip.open ? "~" : ""; - return concat$C([opening, strip, "#"]); -} - -function printOpeningBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.openStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printClosingBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.closeStrip.open ? "~" : ""; - return concat$C([opening, strip, "/"]); -} - -function printClosingBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.closeStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printInverseBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.inverseStrip.open ? "~" : ""; - return concat$C([opening, strip]); -} - -function printInverseBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.inverseStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printOpenBlock(path, print) { - const node = path.getValue(); - return group$r(concat$C([printOpeningBlockOpeningMustache(node), printPathAndParams(path, print), printBlockParams(node.program), softline$j, printOpeningBlockClosingMustache(node)])); -} - -function printElseBlock(node) { - return concat$C([hardline$p, printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]); -} - -function printElseIfBlock(path, print) { - const parentNode = path.getParentNode(1); - return concat$C([printInverseBlockOpeningMustache(parentNode), "else ", printPathAndParams(path, print), printInverseBlockClosingMustache(parentNode)]); -} - -function printCloseBlock(path, print) { - const node = path.getValue(); - return concat$C([blockStatementHasOnlyWhitespaceInProgram(node) ? softline$j : hardline$p, printClosingBlockOpeningMustache(node), path.call(print, "path"), printClosingBlockClosingMustache(node)]); -} - -function blockStatementHasOnlyWhitespaceInProgram(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.program.body.every(n => isWhitespaceNode$1(n)); -} - -function blockStatementHasElseIf(node) { - return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType$1(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === "if"; -} - -function blockStatementHasElse(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.inverse; -} - -function printProgram(path, print) { - const node = path.getValue(); - - if (blockStatementHasOnlyWhitespaceInProgram(node)) { - return ""; - } - - const program = path.call(print, "program"); - return indent$s(concat$C([hardline$p, program])); -} - -function printInverse(path, print) { - const node = path.getValue(); - const inverse = path.call(print, "inverse"); - const parts = concat$C([hardline$p, inverse]); - - if (blockStatementHasElseIf(node)) { - return parts; - } - - if (blockStatementHasElse(node)) { - return concat$C([printElseBlock(node), indent$s(parts)]); - } - - return ""; -} -/* TextNode print helpers */ - - -function isInAttributeOfName(path, type) { - return isParentOfSomeType$1(path, ["AttrNode"]) && path.getParentNode().name.toLowerCase() === type || isParentOfSomeType$1(path, ["ConcatStatement"]) && path.getParentNode(1).name.toLowerCase() === type; -} - -function countNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - return string.split("\n").length - 1; -} - -function countLeadingNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || ""; - return countNewLines(newLines); -} - -function countTrailingNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || ""; - return countNewLines(newLines); -} - -function generateHardlines(number = 0, max = 0) { - return new Array(Math.min(number, max)).fill(hardline$p); -} -/* StringLiteral print helpers */ - -/** - * Prints a string literal with the correct surrounding quotes based on - * `options.singleQuote` and the number of escaped quotes contained in - * the string literal. This function is the glimmer equivalent of `printString` - * in `common/util`, but has differences because of the way escaped characters - * are treated in hbs string literals. - * @param {string} stringLiteral - the string literal value - * @param {object} options - the prettier options object - */ - - -function printStringLiteral(stringLiteral, options) { - const double = { - quote: '"', - regex: /"/g - }; - const single = { - quote: "'", - regex: /'/g - }; - const preferred = options.singleQuote ? single : double; - const alternate = preferred === single ? double : single; - let shouldUseAlternateQuote = false; // If `stringLiteral` contains at least one of the quote preferred for - // enclosing the string, we might want to enclose with the alternate quote - // instead, to minimize the number of escaped quotes. - - if (stringLiteral.includes(preferred.quote) || stringLiteral.includes(alternate.quote)) { - const numPreferredQuotes = (stringLiteral.match(preferred.regex) || []).length; - const numAlternateQuotes = (stringLiteral.match(alternate.regex) || []).length; - shouldUseAlternateQuote = numPreferredQuotes > numAlternateQuotes; - } - - const enclosingQuote = shouldUseAlternateQuote ? alternate : preferred; - const escapedStringLiteral = stringLiteral.replace(enclosingQuote.regex, `\\${enclosingQuote.quote}`); - return concat$C([enclosingQuote.quote, escapedStringLiteral, enclosingQuote.quote]); -} -/* SubExpression print helpers */ - - -function printSubExpressionPathAndParams(path, print) { - const p = printPath(path, print); - const params = printParams(path, print); - - if (!params) { - return p; - } - - return indent$s(concat$C([p, line$l, group$r(params)])); -} -/* misc. print helpers */ - - -function printPathAndParams(path, print) { - const p = printPath(path, print); - const params = printParams(path, print); - - if (!params) { - return p; - } - - return indent$s(group$r(concat$C([p, line$l, params]))); -} - -function printPath(path, print) { - return path.call(print, "path"); -} - -function printParams(path, print) { - const node = path.getValue(); - const parts = []; - - if (node.params.length) { - const params = path.map(print, "params"); - parts.push(...params); - } - - if (node.hash && node.hash.pairs.length > 0) { - const hash = path.call(print, "hash"); - parts.push(hash); - } - - if (!parts.length) { - return ""; - } - - return join$i(line$l, parts); -} - -function printBlockParams(node) { - if (!node || !node.blockParams.length) { - return ""; - } - - return concat$C([" as |", node.blockParams.join(" "), "|"]); -} - -function doesNotHaveHashParams(node) { - return node.hash.pairs.length === 0; -} - -function doesNotHavePositionalParams(node) { - return node.params.length === 0; -} - -var printerGlimmer = { - print: print$2, - massageAstNode: clean_1$2 -}; - -var name$d = "Handlebars"; -var type$b = "markup"; -var color$5 = "#f7931e"; -var aliases$3 = [ - "hbs", - "htmlbars" -]; -var extensions$b = [ - ".handlebars", - ".hbs" -]; -var tmScope$b = "text.html.handlebars"; -var aceMode$b = "handlebars"; -var languageId$b = 155; -var require$$0$4 = { - name: name$d, - type: type$b, - color: color$5, - aliases: aliases$3, - extensions: extensions$b, - tmScope: tmScope$b, - aceMode: aceMode$b, - languageId: languageId$b -}; - -const languages$2 = [createLanguage(require$$0$4, () => ({ - since: null, - // unreleased - parsers: ["glimmer"], - vscodeLanguageIds: ["handlebars"] -}))]; -const printers$2 = { - glimmer: printerGlimmer -}; -const parsers$2 = { - get glimmer() { - return require("./parser-glimmer").parsers.glimmer; - } - -}; -var languageHandlebars = { - languages: languages$2, - printers: printers$2, - parsers: parsers$2 -}; - -function hasPragma$2(text) { - return /^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(text); -} - -function insertPragma$4(text) { - return "# @format\n\n" + text; -} - -var pragma$2 = { - hasPragma: hasPragma$2, - insertPragma: insertPragma$4 -}; - -function locStart$d(node) { - if (typeof node.start === "number") { - return node.start; - } - - return node.loc && node.loc.start; -} - -function locEnd$j(node) { - if (typeof node.end === "number") { - return node.end; - } - - return node.loc && node.loc.end; -} - -var loc$3 = { - locStart: locStart$d, - locEnd: locEnd$j -}; - -const { - builders: { - concat: concat$D, - join: join$j, - hardline: hardline$q, - line: line$m, - softline: softline$k, - group: group$s, - indent: indent$t, - ifBreak: ifBreak$g - } -} = document; -const { - isNextLineEmpty: isNextLineEmpty$b -} = util; -const { - insertPragma: insertPragma$5 -} = pragma$2; -const { - locStart: locStart$e, - locEnd: locEnd$k -} = loc$3; - -function genericPrint$3(path, options, print) { - const n = path.getValue(); - - if (!n) { - return ""; - } - - if (typeof n === "string") { - return n; - } - - switch (n.kind) { - case "Document": - { - const parts = []; - path.each((pathChild, index) => { - parts.push(concat$D([pathChild.call(print)])); - - if (index !== n.definitions.length - 1) { - parts.push(hardline$q); - - if (isNextLineEmpty$b(options.originalText, pathChild.getValue(), locEnd$k)) { - parts.push(hardline$q); - } - } - }, "definitions"); - return concat$D([concat$D(parts), hardline$q]); - } - - case "OperationDefinition": - { - const hasOperation = options.originalText[locStart$e(n)] !== "{"; - const hasName = !!n.name; - return concat$D([hasOperation ? n.operation : "", hasOperation && hasName ? concat$D([" ", path.call(print, "name")]) : "", n.variableDefinitions && n.variableDefinitions.length ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "variableDefinitions"))])), softline$k, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? !hasOperation && !hasName ? "" : " " : "", path.call(print, "selectionSet")]); - } - - case "FragmentDefinition": - { - return concat$D(["fragment ", path.call(print, "name"), n.variableDefinitions && n.variableDefinitions.length ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "variableDefinitions"))])), softline$k, ")"])) : "", " on ", path.call(print, "typeCondition"), printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); - } - - case "SelectionSet": - { - return concat$D(["{", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(selectionsPath => printSequence(selectionsPath, options, print), "selections"))])), hardline$q, "}"]); - } - - case "Field": - { - return group$s(concat$D([n.alias ? concat$D([path.call(print, "alias"), ": "]) : "", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? " " : "", path.call(print, "selectionSet")])); - } - - case "Name": - { - return n.value; - } - - case "StringValue": - { - if (n.block) { - return concat$D(['"""', hardline$q, join$j(hardline$q, n.value.replace(/"""/g, "\\$&").split("\n")), hardline$q, '"""']); - } - - return concat$D(['"', n.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']); - } - - case "IntValue": - case "FloatValue": - case "EnumValue": - { - return n.value; - } - - case "BooleanValue": - { - return n.value ? "true" : "false"; - } - - case "NullValue": - { - return "null"; - } - - case "Variable": - { - return concat$D(["$", path.call(print, "name")]); - } - - case "ListValue": - { - return group$s(concat$D(["[", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "values"))])), softline$k, "]"])); - } - - case "ObjectValue": - { - return group$s(concat$D(["{", options.bracketSpacing && n.fields.length > 0 ? " " : "", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "fields"))])), softline$k, ifBreak$g("", options.bracketSpacing && n.fields.length > 0 ? " " : ""), "}"])); - } - - case "ObjectField": - case "Argument": - { - return concat$D([path.call(print, "name"), ": ", path.call(print, "value")]); - } - - case "Directive": - { - return concat$D(["@", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : ""]); - } - - case "NamedType": - { - return path.call(print, "name"); - } - - case "VariableDefinition": - { - return concat$D([path.call(print, "variable"), ": ", path.call(print, "type"), n.defaultValue ? concat$D([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); - } - - case "ObjectTypeExtension": - case "ObjectTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "ObjectTypeExtension" ? "extend " : "", "type ", path.call(print, "name"), n.interfaces.length > 0 ? concat$D([" implements ", concat$D(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "FieldDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", ": ", path.call(print, "type"), printDirectives(path, print, n)]); - } - - case "DirectiveDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", "directive ", "@", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", n.repeatable ? " repeatable" : "", concat$D([" on ", join$j(" | ", path.map(print, "locations"))])]); - } - - case "EnumTypeExtension": - case "EnumTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "EnumTypeExtension" ? "extend " : "", "enum ", path.call(print, "name"), printDirectives(path, print, n), n.values.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(valuesPath => printSequence(valuesPath, options, print), "values"))])), hardline$q, "}"]) : ""]); - } - - case "EnumValueDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "InputValueDefinition": - { - return concat$D([path.call(print, "description"), n.description ? n.description.block ? hardline$q : line$m : "", path.call(print, "name"), ": ", path.call(print, "type"), n.defaultValue ? concat$D([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); - } - - case "InputObjectTypeExtension": - case "InputObjectTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", path.call(print, "name"), printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "SchemaDefinition": - { - return concat$D(["schema", printDirectives(path, print, n), " {", n.operationTypes.length > 0 ? indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(opsPath => printSequence(opsPath, options, print), "operationTypes"))])) : "", hardline$q, "}"]); - } - - case "OperationTypeDefinition": - { - return concat$D([path.call(print, "operation"), ": ", path.call(print, "type")]); - } - - case "InterfaceTypeExtension": - case "InterfaceTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", path.call(print, "name"), n.interfaces.length > 0 ? concat$D([" implements ", concat$D(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "FragmentSpread": - { - return concat$D(["...", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "InlineFragment": - { - return concat$D(["...", n.typeCondition ? concat$D([" on ", path.call(print, "typeCondition")]) : "", printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); - } - - case "UnionTypeExtension": - case "UnionTypeDefinition": - { - return group$s(concat$D([path.call(print, "description"), n.description ? hardline$q : "", group$s(concat$D([n.kind === "UnionTypeExtension" ? "extend " : "", "union ", path.call(print, "name"), printDirectives(path, print, n), n.types.length > 0 ? concat$D([" =", ifBreak$g("", " "), indent$t(concat$D([ifBreak$g(concat$D([line$m, " "])), join$j(concat$D([line$m, "| "]), path.map(print, "types"))]))]) : ""]))])); - } - - case "ScalarTypeExtension": - case "ScalarTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "NonNullType": - { - return concat$D([path.call(print, "type"), "!"]); - } - - case "ListType": - { - return concat$D(["[", path.call(print, "type"), "]"]); - } - - default: - /* istanbul ignore next */ - throw new Error("unknown graphql type: " + JSON.stringify(n.kind)); - } -} - -function printDirectives(path, print, n) { - if (n.directives.length === 0) { - return ""; - } - - const printed = join$j(line$m, path.map(print, "directives")); - - if (n.kind === "FragmentDefinition" || n.kind === "OperationDefinition") { - return group$s(concat$D([line$m, printed])); - } - - return concat$D([" ", group$s(indent$t(concat$D([softline$k, printed])))]); -} - -function printSequence(sequencePath, options, print) { - const count = sequencePath.getValue().length; - return sequencePath.map((path, i) => { - const printed = print(path); - - if (isNextLineEmpty$b(options.originalText, path.getValue(), locEnd$k) && i < count - 1) { - return concat$D([printed, hardline$q]); - } - - return printed; - }); -} - -function canAttachComment$1(node) { - return node.kind && node.kind !== "Comment"; -} - -function printComment$3(commentPath) { - const comment = commentPath.getValue(); - - if (comment.kind === "Comment") { - return "#" + comment.value.trimEnd(); - } - /* istanbul ignore next */ - - - throw new Error("Not a comment: " + JSON.stringify(comment)); -} - -function printInterfaces(path, options, print) { - const node = path.getNode(); - const parts = []; - const { - interfaces - } = node; - const printed = path.map(node => print(node), "interfaces"); - - for (let index = 0; index < interfaces.length; index++) { - const interfaceNode = interfaces[index]; - parts.push(printed[index]); - const nextInterfaceNode = interfaces[index + 1]; - - if (nextInterfaceNode) { - const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); - const hasComment = textBetween.includes("#"); - const separator = textBetween.replace(/#.*/g, "").trim(); - parts.push(separator === "," ? "," : " &"); - parts.push(hasComment ? line$m : " "); - } - } - - return parts; -} - -function clean$4() -/*node, newNode , parent*/ -{} - -clean$4.ignoredProperties = new Set(["loc", "comments"]); - -function hasPrettierIgnore$4(path) { - const node = path.getValue(); - return node && Array.isArray(node.comments) && node.comments.some(comment => comment.value.trim() === "prettier-ignore"); -} - -var printerGraphql = { - print: genericPrint$3, - massageAstNode: clean$4, - hasPrettierIgnore: hasPrettierIgnore$4, - insertPragma: insertPragma$5, - printComment: printComment$3, - canAttachComment: canAttachComment$1 -}; - -var options$4 = { - bracketSpacing: commonOptions.bracketSpacing -}; - -var name$e = "GraphQL"; -var type$c = "data"; -var color$6 = "#e10098"; -var extensions$c = [ - ".graphql", - ".gql", - ".graphqls" -]; -var tmScope$c = "source.graphql"; -var aceMode$c = "text"; -var languageId$c = 139; -var require$$0$5 = { - name: name$e, - type: type$c, - color: color$6, - extensions: extensions$c, - tmScope: tmScope$c, - aceMode: aceMode$c, - languageId: languageId$c -}; - -const languages$3 = [createLanguage(require$$0$5, () => ({ - since: "1.5.0", - parsers: ["graphql"], - vscodeLanguageIds: ["graphql"] -}))]; -const printers$3 = { - graphql: printerGraphql -}; -const parsers$3 = { - get graphql() { - return require("./parser-graphql").parsers.graphql; - } - -}; -var languageGraphql = { - languages: languages$3, - options: options$4, - printers: printers$3, - parsers: parsers$3 -}; - -function locStart$f(node) { - return node.position.start.offset; -} - -function locEnd$l(node) { - return node.position.end.offset; -} - -var loc$4 = { - locStart: locStart$f, - locEnd: locEnd$l -}; - -var json = { - "cjkPattern": "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", - "kPattern": "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", - "punctuationPattern": "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" -}; - -const { - getLast: getLast$b -} = util; -const { - locStart: locStart$g, - locEnd: locEnd$m -} = loc$4; -const { - cjkPattern, - kPattern, - punctuationPattern -} = json; -const INLINE_NODE_TYPES = ["liquidNode", "inlineCode", "emphasis", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; -const INLINE_NODE_WRAPPER_TYPES = INLINE_NODE_TYPES.concat(["tableCell", "paragraph", "heading"]); -const kRegex = new RegExp(kPattern); -const punctuationRegex = new RegExp(punctuationPattern); -/** - * split text into whitespaces and words - * @param {string} text - * @return {Array<{ type: "whitespace", value: " " | "\n" | "" } | { type: "word", value: string }>} - */ - -function splitText(text, options) { - const KIND_NON_CJK = "non-cjk"; - const KIND_CJ_LETTER = "cj-letter"; - const KIND_K_LETTER = "k-letter"; - const KIND_CJK_PUNCTUATION = "cjk-punctuation"; - const nodes = []; - (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern})\n(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/).forEach((token, index, tokens) => { - // whitespace - if (index % 2 === 1) { - nodes.push({ - type: "whitespace", - value: /\n/.test(token) ? "\n" : " " - }); - return; - } // word separated by whitespace - - - if ((index === 0 || index === tokens.length - 1) && token === "") { - return; - } - - token.split(new RegExp(`(${cjkPattern})`)).forEach((innerToken, innerIndex, innerTokens) => { - if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { - return; - } // non-CJK word - - - if (innerIndex % 2 === 0) { - if (innerToken !== "") { - appendNode({ - type: "word", - value: innerToken, - kind: KIND_NON_CJK, - hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), - hasTrailingPunctuation: punctuationRegex.test(getLast$b(innerToken)) - }); - } - - return; - } // CJK character - - - appendNode(punctuationRegex.test(innerToken) ? { - type: "word", - value: innerToken, - kind: KIND_CJK_PUNCTUATION, - hasLeadingPunctuation: true, - hasTrailingPunctuation: true - } : { - type: "word", - value: innerToken, - kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER, - hasLeadingPunctuation: false, - hasTrailingPunctuation: false - }); - }); - }); - return nodes; - - function appendNode(node) { - const lastNode = getLast$b(nodes); - - if (lastNode && lastNode.type === "word") { - if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { - nodes.push({ - type: "whitespace", - value: " " - }); - } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && // disallow leading/trailing full-width whitespace - ![lastNode.value, node.value].some(value => /\u3000/.test(value))) { - nodes.push({ - type: "whitespace", - value: "" - }); - } - } - - nodes.push(node); - - function isBetween(kind1, kind2) { - return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1; - } - } -} - -function getOrderedListItemInfo(orderListItem, originalText) { - const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); - return { - numberText, - marker, - leadingSpaces - }; -} - -function hasGitDiffFriendlyOrderedList(node, options) { - if (!node.ordered) { - return false; - } - - if (node.children.length < 2) { - return false; - } - - const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText); - const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText); - - if (firstNumber === 0 && node.children.length > 2) { - const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText); - return secondNumber === 1 && thirdNumber === 1; - } - - return secondNumber === 1; -} // The final new line should not include in value -// https://github.com/remarkjs/remark/issues/512 - - -function getFencedCodeBlockValue(node, originalText) { - const { - value - } = node; - - if (node.position.end.offset === originalText.length && value.endsWith("\n") && // Code block has no end mark - originalText.endsWith("\n")) { - return value.slice(0, -1); - } - - return value; -} - -function mapAst(ast, handler) { - return function preorder(node, index, parentStack) { - parentStack = parentStack || []; - const newNode = Object.assign({}, handler(node, index, parentStack)); - - if (newNode.children) { - newNode.children = newNode.children.map((child, index) => { - return preorder(child, index, [newNode].concat(parentStack)); - }); - } - - return newNode; - }(ast, null, null); -} - -function isAutolink(node) { - if (!node || node.type !== "link" || node.children.length !== 1) { - return false; - } - - const child = node.children[0]; - return child && locStart$g(node) === locStart$g(child) && locEnd$m(node) === locEnd$m(child); -} - -var utils$9 = { - mapAst, - splitText, - punctuationPattern, - getFencedCodeBlockValue, - getOrderedListItemInfo, - hasGitDiffFriendlyOrderedList, - INLINE_NODE_TYPES, - INLINE_NODE_WRAPPER_TYPES, - isAutolink -}; - -const { - inferParserByLanguage: inferParserByLanguage$1, - getMaxContinuousCount: getMaxContinuousCount$2 -} = util; -const { - builders: { - hardline: hardline$r, - concat: concat$E, - markAsRoot: markAsRoot$2 - }, - utils: { - replaceNewlinesWithLiterallines: replaceNewlinesWithLiterallines$2 - } -} = document; -const { - print: printFrontMatter$1 -} = frontMatter; -const { - getFencedCodeBlockValue: getFencedCodeBlockValue$1 -} = utils$9; - -function embed$2(path, print, textToDoc, options) { - const node = path.getValue(); - - if (node.type === "code" && node.lang !== null) { - const parser = inferParserByLanguage$1(node.lang, options); - - if (parser) { - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$2(node.value, styleUnit) + 1)); - const doc = textToDoc(getFencedCodeBlockValue$1(node, options.originalText), { - parser - }, { - stripTrailingHardline: true - }); - return markAsRoot$2(concat$E([style, node.lang, node.meta ? " " + node.meta : "", hardline$r, replaceNewlinesWithLiterallines$2(doc), hardline$r, style])); - } - } - - switch (node.type) { - case "front-matter": - return printFrontMatter$1(node, textToDoc); - // MDX - - case "importExport": - return concat$E([textToDoc(node.value, { - parser: "babel" - }, { - stripTrailingHardline: true - }), hardline$r]); - - case "jsx": - return textToDoc(`<$>${node.value}`, { - parser: "__js_expression", - rootMarker: "mdx" - }, { - stripTrailingHardline: true - }); - } - - return null; -} - -var embed_1$2 = embed$2; - -const { - parse: parseFrontMatter$1 -} = frontMatter; -const pragmas = ["format", "prettier"]; - -function startWithPragma(text) { - const pragma = `@(${pragmas.join("|")})`; - const regex = new RegExp([``, ``].join("|"), "m"); - const matched = text.match(regex); - return matched && matched.index === 0; -} - -var pragma$3 = { - startWithPragma, - hasPragma: text => startWithPragma(parseFrontMatter$1(text).content.trimStart()), - insertPragma: text => { - const extracted = parseFrontMatter$1(text); - const pragma = ``; - return extracted.frontMatter ? `${extracted.frontMatter.raw}\n\n${pragma}\n\n${extracted.content}` : `${pragma}\n\n${extracted.content}`; - } -}; - -const { - getOrderedListItemInfo: getOrderedListItemInfo$1, - mapAst: mapAst$1, - splitText: splitText$1 -} = utils$9; // 0x0 ~ 0x10ffff -// eslint-disable-next-line no-control-regex - -const isSingleCharRegex = /^([\u0000-\uffff]|[\ud800-\udbff][\udc00-\udfff])$/; - -function preprocess$1(ast, options) { - ast = restoreUnescapedCharacter(ast, options); - ast = mergeContinuousTexts(ast); - ast = transformInlineCode(ast); - ast = transformIndentedCodeblockAndMarkItsParentList(ast, options); - ast = markAlignedList(ast, options); - ast = splitTextIntoSentences(ast, options); - ast = transformImportExport(ast); - ast = mergeContinuousImportExport(ast); - return ast; -} - -function transformImportExport(ast) { - return mapAst$1(ast, node => { - if (node.type !== "import" && node.type !== "export") { - return node; - } - - return Object.assign({}, node, { - type: "importExport" - }); - }); -} - -function transformInlineCode(ast) { - return mapAst$1(ast, node => { - if (node.type !== "inlineCode") { - return node; - } - - return Object.assign({}, node, { - value: node.value.replace(/\s+/g, " ") - }); - }); -} - -function restoreUnescapedCharacter(ast, options) { - return mapAst$1(ast, node => node.type !== "text" || node.value === "*" || node.value === "_" || // handle these cases in printer - !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign({}, node, { - value: options.originalText.slice(node.position.start.offset, node.position.end.offset) - })); -} - -function mergeContinuousImportExport(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "importExport" && node.type === "importExport", (prevNode, node) => ({ - type: "importExport", - value: prevNode.value + "\n\n" + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); -} - -function mergeChildren(ast, shouldMerge, mergeNode) { - return mapAst$1(ast, node => { - if (!node.children) { - return node; - } - - const children = node.children.reduce((current, child) => { - const lastChild = current[current.length - 1]; - - if (lastChild && shouldMerge(lastChild, child)) { - current.splice(-1, 1, mergeNode(lastChild, child)); - } else { - current.push(child); - } - - return current; - }, []); - return Object.assign({}, node, { - children - }); - }); -} - -function mergeContinuousTexts(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "text" && node.type === "text", (prevNode, node) => ({ - type: "text", - value: prevNode.value + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); -} - -function splitTextIntoSentences(ast, options) { - return mapAst$1(ast, (node, index, [parentNode]) => { - if (node.type !== "text") { - return node; - } - - let { - value - } = node; - - if (parentNode.type === "paragraph") { - if (index === 0) { - value = value.trimStart(); - } - - if (index === parentNode.children.length - 1) { - value = value.trimEnd(); - } - } - - return { - type: "sentence", - position: node.position, - children: splitText$1(value, options) - }; - }); -} - -function transformIndentedCodeblockAndMarkItsParentList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { - if (node.type === "code") { - // the first char may point to `\n`, e.g. `\n\t\tbar`, just ignore it - const isIndented = /^\n?( {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); - node.isIndented = isIndented; - - if (isIndented) { - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; // no need to check checked items - - if (parent.hasIndentedCodeblock) { - break; - } - - if (parent.type === "list") { - parent.hasIndentedCodeblock = true; - } - } - } - } - - return node; - }); -} - -function markAlignedList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { - if (node.type === "list" && node.children.length !== 0) { - // if one of its parents is not aligned, it's not possible to be aligned in sub-lists - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; - - if (parent.type === "list" && !parent.isAligned) { - node.isAligned = false; - return node; - } - } - - node.isAligned = isAligned(node); - } - - return node; - }); - - function getListItemStart(listItem) { - return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1; - } - - function isAligned(list) { - if (!list.ordered) { - /** - * - 123 - * - 123 - */ - return true; - } - - const [firstItem, secondItem] = list.children; - const firstInfo = getOrderedListItemInfo$1(firstItem, options.originalText); - - if (firstInfo.leadingSpaces.length > 1) { - /** - * 1. 123 - * - * 1. 123 - * 1. 123 - */ - return true; - } - - const firstStart = getListItemStart(firstItem); - - if (firstStart === -1) { - /** - * 1. - * - * 1. - * 1. - */ - return false; - } - - if (list.children.length === 1) { - /** - * aligned: - * - * 11. 123 - * - * not aligned: - * - * 1. 123 - */ - return firstStart % options.tabWidth === 0; - } - - const secondStart = getListItemStart(secondItem); - - if (firstStart !== secondStart) { - /** - * 11. 123 - * 1. 123 - * - * 1. 123 - * 11. 123 - */ - return false; - } - - if (firstStart % options.tabWidth === 0) { - /** - * 11. 123 - * 12. 123 - */ - return true; - } - /** - * aligned: - * - * 11. 123 - * 1. 123 - * - * not aligned: - * - * 1. 123 - * 2. 123 - */ - - - const secondInfo = getOrderedListItemInfo$1(secondItem, options.originalText); - return secondInfo.leadingSpaces.length > 1; - } -} - -var printPreprocess$1 = preprocess$1; - -const { - isFrontMatterNode: isFrontMatterNode$3 -} = util; -const { - startWithPragma: startWithPragma$1 -} = pragma$3; -const ignoredProperties$3 = new Set(["position", "raw" // front-matter -]); - -function clean$5(ast, newObj, parent) { - // for codeblock - if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { - delete newObj.value; - } - - if (ast.type === "list") { - delete newObj.isAligned; - } - - if (ast.type === "list" || ast.type === "listItem") { - delete newObj.spread; - delete newObj.loose; - } // texts can be splitted or merged - - - if (ast.type === "text") { - return null; - } - - if (ast.type === "inlineCode") { - newObj.value = ast.value.replace(/[\t\n ]+/g, " "); - } - - if (ast.type === "wikiLink") { - newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); - } - - if (ast.type === "definition" || ast.type === "linkReference") { - newObj.label = ast.label.trim().replace(/[\t\n ]+/g, " ").toLowerCase(); - } - - if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { - newObj.title = ast.title.replace(/\\(["')])/g, "$1"); - } // for insert pragma - - - if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode$3(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma$1(ast.value)) { - return null; - } -} - -clean$5.ignoredProperties = ignoredProperties$3; -var clean_1$3 = clean$5; - -const { - getLast: getLast$c, - getMinNotPresentContinuousCount: getMinNotPresentContinuousCount$1, - getMaxContinuousCount: getMaxContinuousCount$3, - getStringWidth: getStringWidth$4 -} = util; -const { - builders: { - breakParent: breakParent$6, - concat: concat$F, - join: join$k, - line: line$n, - literalline: literalline$4, - markAsRoot: markAsRoot$3, - hardline: hardline$s, - softline: softline$l, - ifBreak: ifBreak$h, - fill: fill$5, - align: align$5, - indent: indent$u, - group: group$t - }, - utils: { - normalizeDoc: normalizeDoc$1 - }, - printer: { - printDocToString: printDocToString$3 - } -} = document; -const { - replaceEndOfLineWith: replaceEndOfLineWith$1 -} = util; -const { - insertPragma: insertPragma$6 -} = pragma$3; -const { - locStart: locStart$h, - locEnd: locEnd$n -} = loc$4; -const { - getFencedCodeBlockValue: getFencedCodeBlockValue$2, - hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1, - splitText: splitText$2, - punctuationPattern: punctuationPattern$1, - INLINE_NODE_TYPES: INLINE_NODE_TYPES$1, - INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1, - isAutolink: isAutolink$1 -} = utils$9; -/** - * @typedef {import("../document").Doc} Doc - */ - -const TRAILING_HARDLINE_NODES = new Set(["importExport"]); -const SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; -const SIBLING_NODE_TYPES = new Set(["listItem", "definition", "footnoteDefinition"]); - -function genericPrint$4(path, options, print) { - const node = path.getValue(); - - if (shouldRemainTheSameContent(path)) { - return concat$F(splitText$2(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === "word" ? node.value : node.value === "" ? "" : printLine(path, node.value, options))); - } - - switch (node.type) { - case "front-matter": - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - - case "root": - if (node.children.length === 0) { - return ""; - } - - return concat$F([normalizeDoc$1(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode(node).type) ? hardline$s : ""]); - - case "paragraph": - return printChildren$1(path, options, print, { - postprocessor: fill$5 - }); - - case "sentence": - return printChildren$1(path, options, print); - - case "word": - { - let escapedValue = node.value.replace(/\*/g, "\\$&") // escape all `*` - .replace(new RegExp([`(^|${punctuationPattern$1})(_+)`, `(_+)(${punctuationPattern$1}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis - - const isFirstSentence = (node, name, index) => node.type === "sentence" && index === 0; - - const isLastChildAutolink = (node, name, index) => isAutolink$1(node.children[index - 1]); - - if (escapedValue !== node.value && (path.match(undefined, isFirstSentence, isLastChildAutolink) || path.match(undefined, isFirstSentence, (node, name, index) => node.type === "emphasis" && index === 0, isLastChildAutolink))) { - // backslash is parsed as part of autolinks, so we need to remove it - escapedValue = escapedValue.replace(/^(\\?[*_])+/, prefix => prefix.replace(/\\/g, "")); - } - - return escapedValue; - } - - case "whitespace": - { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const nextNode = parentNode.children[index + 1]; - const proseWrap = // leading char that may cause different syntax - nextNode && /^>|^([*+-]|#{1,6}|\d+[).])$/.test(nextNode.value) ? "never" : options.proseWrap; - return printLine(path, node.value, { - proseWrap - }); - } - - case "emphasis": - { - let style; - - if (isAutolink$1(node.children[0])) { - style = options.originalText[node.position.start.offset]; - } else { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const prevNode = parentNode.children[index - 1]; - const nextNode = parentNode.children[index + 1]; - const hasPrevOrNextWord = // `1*2*3` is considered emphasis but `1_2_3` is not - prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast$c(prevNode.children).type === "word" && !getLast$c(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; - style = hasPrevOrNextWord || getAncestorNode$2(path, "emphasis") ? "*" : "_"; - } - - return concat$F([style, printChildren$1(path, options, print), style]); - } - - case "strong": - return concat$F(["**", printChildren$1(path, options, print), "**"]); - - case "delete": - return concat$F(["~~", printChildren$1(path, options, print), "~~"]); - - case "inlineCode": - { - const backtickCount = getMinNotPresentContinuousCount$1(node.value, "`"); - const style = "`".repeat(backtickCount || 1); - const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; - return concat$F([style, gap, node.value, gap, style]); - } - - case "wikiLink": - { - let contents = ""; - - if (options.proseWrap === "preserve") { - contents = node.value; - } else { - contents = node.value.replace(/[\t\n]+/g, " "); - } - - return concat$F(["[[", contents, "]]"]); - } - - case "link": - switch (options.originalText[node.position.start.offset]) { - case "<": - { - const mailto = "mailto:"; - const url = // is parsed as { url: "mailto:hello@example.com" } - node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; - return concat$F(["<", url, ">"]); - } - - case "[": - return concat$F(["[", printChildren$1(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); - - default: - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - } - - case "image": - return concat$F(["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); - - case "blockquote": - return concat$F(["> ", align$5("> ", printChildren$1(path, options, print))]); - - case "heading": - return concat$F(["#".repeat(node.depth) + " ", printChildren$1(path, options, print)]); - - case "code": - { - if (node.isIndented) { - // indented code block - const alignment = " ".repeat(4); - return align$5(alignment, concat$F([alignment, concat$F(replaceEndOfLineWith$1(node.value, hardline$s))])); - } // fenced code block - - - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$3(node.value, styleUnit) + 1)); - return concat$F([style, node.lang || "", node.meta ? " " + node.meta : "", hardline$s, concat$F(replaceEndOfLineWith$1(getFencedCodeBlockValue$2(node, options.originalText), hardline$s)), hardline$s, style]); - } - - case "html": - { - const parentNode = path.getParentNode(); - const value = parentNode.type === "root" && getLast$c(parentNode.children) === node ? node.value.trimEnd() : node.value; - const isHtmlComment = /^$/.test(value); - return concat$F(replaceEndOfLineWith$1(value, isHtmlComment ? hardline$s : markAsRoot$3(literalline$4))); - } - - case "list": - { - const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); - const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList$1(node, options); - return printChildren$1(path, options, print, { - processor: (childPath, index) => { - const prefix = getPrefix(); - const childNode = childPath.getValue(); - - if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { - return concat$F([prefix, printListItem(childPath, options, print, prefix)]); - } - - return concat$F([prefix, align$5(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]); - - function getPrefix() { - const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; - return node.isAligned || - /* workaround for https://github.com/remarkjs/remark/issues/315 */ - node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix; - } - } - }); - } - - case "thematicBreak": - { - const counter = getAncestorCounter$1(path, "list"); - - if (counter === -1) { - return "---"; - } - - const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1)); - return nthSiblingIndex % 2 === 0 ? "***" : "---"; - } - - case "linkReference": - return concat$F(["[", printChildren$1(path, options, print), "]", node.referenceType === "full" ? concat$F(["[", node.identifier, "]"]) : node.referenceType === "collapsed" ? "[]" : ""]); - - case "imageReference": - switch (node.referenceType) { - case "full": - return concat$F(["![", node.alt || "", "][", node.identifier, "]"]); - - default: - return concat$F(["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]); - } - - case "definition": - { - const lineOrSpace = options.proseWrap === "always" ? line$n : " "; - return group$t(concat$F([concat$F(["[", node.identifier, "]:"]), indent$u(concat$F([lineOrSpace, printUrl(node.url), node.title === null ? "" : concat$F([lineOrSpace, printTitle(node.title, options, false)])]))])); - } - // `footnote` requires `.use(footnotes, {inlineNotes: true})`, we are not using this option - // https://github.com/remarkjs/remark-footnotes#optionsinlinenotes - - /* istanbul ignore next */ - - case "footnote": - return concat$F(["[^", printChildren$1(path, options, print), "]"]); - - case "footnoteReference": - return concat$F(["[^", node.identifier, "]"]); - - case "footnoteDefinition": - { - const nextNode = path.getParentNode().children[path.getName() + 1]; - const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); - return concat$F(["[^", node.identifier, "]: ", shouldInlineFootnote ? printChildren$1(path, options, print) : group$t(concat$F([align$5(" ".repeat(4), printChildren$1(path, options, print, { - processor: (childPath, index) => { - return index === 0 ? group$t(concat$F([softline$l, childPath.call(print)])) : childPath.call(print); - } - })), nextNode && nextNode.type === "footnoteDefinition" ? softline$l : ""]))]); - } - - case "table": - return printTable(path, options, print); - - case "tableCell": - return printChildren$1(path, options, print); - - case "break": - return /\s/.test(options.originalText[node.position.start.offset]) ? concat$F([" ", markAsRoot$3(literalline$4)]) : concat$F(["\\", hardline$s]); - - case "liquidNode": - return concat$F(replaceEndOfLineWith$1(node.value, hardline$s)); - // MDX - // fallback to the original text if multiparser failed - // or `embeddedLanguageFormatting: "off"` - - case "importExport": - return concat$F([node.value, hardline$s]); - - case "jsx": - return node.value; - - case "math": - return concat$F(["$$", hardline$s, node.value ? concat$F([concat$F(replaceEndOfLineWith$1(node.value, hardline$s)), hardline$s]) : "", "$$"]); - - case "inlineMath": - { - // remark-math trims content but we don't want to remove whitespaces - // since it's very possible that it's recognized as math accidentally - return options.originalText.slice(locStart$h(node), locEnd$n(node)); - } - - case "tableRow": // handled in "table" - - case "listItem": // handled in "list" - - default: - /* istanbul ignore next */ - throw new Error(`Unknown markdown type ${JSON.stringify(node.type)}`); - } -} - -function printListItem(path, options, print, listPrefix) { - const node = path.getValue(); - const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; - return concat$F([prefix, printChildren$1(path, options, print, { - processor: (childPath, index) => { - if (index === 0 && childPath.getValue().type !== "list") { - return align$5(" ".repeat(prefix.length), childPath.call(print)); - } - - const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3) // 4+ will cause indented code block - ); - return concat$F([alignment, align$5(alignment, childPath.call(print))]); - } - })]); -} - -function alignListPrefix(prefix, options) { - const additionalSpaces = getAdditionalSpaces(); - return prefix + " ".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces // 4+ will cause indented code block - ); - - function getAdditionalSpaces() { - const restSpaces = prefix.length % options.tabWidth; - return restSpaces === 0 ? 0 : options.tabWidth - restSpaces; - } -} - -function getNthListSiblingIndex(node, parentNode) { - return getNthSiblingIndex(node, parentNode, siblingNode => siblingNode.ordered === node.ordered); -} - -function getNthSiblingIndex(node, parentNode, condition) { - condition = condition || (() => true); - - let index = -1; - - for (const childNode of parentNode.children) { - if (childNode.type === node.type && condition(childNode)) { - index++; - } else { - index = -1; - } - - if (childNode === node) { - return index; - } - } -} - -function getAncestorCounter$1(path, typeOrTypes) { - const types = [].concat(typeOrTypes); - let counter = -1; - let ancestorNode; - - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - - return -1; -} - -function getAncestorNode$2(path, typeOrTypes) { - const counter = getAncestorCounter$1(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); -} - -function printLine(path, value, options) { - if (options.proseWrap === "preserve" && value === "\n") { - return hardline$s; - } - - const isBreakable = options.proseWrap === "always" && !getAncestorNode$2(path, SINGLE_LINE_NODE_TYPES); - return value !== "" ? isBreakable ? line$n : " " : isBreakable ? softline$l : ""; -} - -function printTable(path, options, print) { - const hardlineWithoutBreakParent = hardline$s.parts[0]; - const node = path.getValue(); - const columnMaxWidths = []; // { [rowIndex: number]: { [columnIndex: number]: {text: string, width: number} } } - - const contents = path.map(rowPath => rowPath.map((cellPath, columnIndex) => { - const text = printDocToString$3(cellPath.call(print), options).formatted; - const width = getStringWidth$4(text); - columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, // minimum width = 3 (---, :--, :-:, --:) - width); - return { - text, - width - }; - }, "children"), "children"); - const alignedTable = printTableContents( - /* isCompact */ - false); - - if (options.proseWrap !== "never") { - return concat$F([breakParent$6, alignedTable]); - } // Only if the --prose-wrap never is set and it exceeds the print width. - - - const compactTable = printTableContents( - /* isCompact */ - true); - return concat$F([breakParent$6, group$t(ifBreak$h(compactTable, alignedTable))]); - - function printTableContents(isCompact) { - /** @type{Doc[]} */ - const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; - - if (contents.length > 1) { - parts.push(join$k(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents, isCompact)))); - } - - return join$k(hardlineWithoutBreakParent, parts); - } - - function printAlign(isCompact) { - const align = columnMaxWidths.map((width, index) => { - const align = node.align[index]; - const first = align === "center" || align === "left" ? ":" : "-"; - const last = align === "center" || align === "right" ? ":" : "-"; - const middle = isCompact ? "-" : "-".repeat(width - 2); - return `${first}${middle}${last}`; - }); - return `| ${align.join(" | ")} |`; - } - - function printRow(rowContents, isCompact) { - const columns = rowContents.map(({ - text, - width - }, columnIndex) => { - if (isCompact) { - return text; - } - - const spaces = columnMaxWidths[columnIndex] - width; - const align = node.align[columnIndex]; - let before = 0; - - if (align === "right") { - before = spaces; - } else if (align === "center") { - before = Math.floor(spaces / 2); - } - - const after = spaces - before; - return `${" ".repeat(before)}${text}${" ".repeat(after)}`; - }); - return `| ${columns.join(" | ")} |`; - } -} - -function printRoot(path, options, print) { - /** @typedef {{ index: number, offset: number }} IgnorePosition */ - - /** @type {Array<{start: IgnorePosition, end: IgnorePosition}>} */ - const ignoreRanges = []; - /** @type {IgnorePosition | null} */ - - let ignoreStart = null; - const { - children - } = path.getValue(); - children.forEach((childNode, index) => { - switch (isPrettierIgnore(childNode)) { - case "start": - if (ignoreStart === null) { - ignoreStart = { - index, - offset: childNode.position.end.offset - }; - } - - break; - - case "end": - if (ignoreStart !== null) { - ignoreRanges.push({ - start: ignoreStart, - end: { - index, - offset: childNode.position.start.offset - } - }); - ignoreStart = null; - } - - break; - } - }); - return printChildren$1(path, options, print, { - processor: (childPath, index) => { - if (ignoreRanges.length !== 0) { - const ignoreRange = ignoreRanges[0]; - - if (index === ignoreRange.start.index) { - return concat$F([children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]); - } - - if (ignoreRange.start.index < index && index < ignoreRange.end.index) { - return false; - } - - if (index === ignoreRange.end.index) { - ignoreRanges.shift(); - return false; - } - } - - return childPath.call(print); - } - }); -} - -function printChildren$1(path, options, print, events) { - events = events || {}; - const postprocessor = events.postprocessor || concat$F; - - const processor = events.processor || (childPath => childPath.call(print)); - - const node = path.getValue(); - const parts = []; - let lastChildNode; - path.each((childPath, index) => { - const childNode = childPath.getValue(); - const result = processor(childPath, index); - - if (result !== false) { - const data = { - parts, - prevNode: lastChildNode, - parentNode: node, - options - }; - - if (!shouldNotPrePrintHardline(childNode, data)) { - parts.push(hardline$s); // Can't find a case to pass `shouldPrePrintTripleHardline` - - /* istanbul ignore next */ - - if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - } else { - if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - } - } - - parts.push(result); - lastChildNode = childNode; - } - }, "children"); - return postprocessor(parts); -} - -function getLastDescendantNode(node) { - let current = node; - - while (current.children && current.children.length !== 0) { - current = current.children[current.children.length - 1]; - } - - return current; -} -/** @return {false | 'next' | 'start' | 'end'} */ - - -function isPrettierIgnore(node) { - if (node.type !== "html") { - return false; - } - - const match = node.value.match(/^$/); - return match === null ? false : match[1] ? match[1] : "next"; -} - -function shouldNotPrePrintHardline(node, data) { - const isFirstNode = data.parts.length === 0; - const isInlineNode = INLINE_NODE_TYPES$1.includes(node.type); - const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES$1.includes(data.parentNode.type); - return isFirstNode || isInlineNode || isInlineHTML; -} - -function shouldPrePrintDoubleHardline(node, data) { - const isSequence = (data.prevNode && data.prevNode.type) === node.type; - const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); - const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; - const isPrevNodeLooseListItem = data.prevNode && data.prevNode.type === "listItem" && data.prevNode.loose; - const isPrevNodePrettierIgnore = isPrettierIgnore(data.prevNode) === "next"; - const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && data.prevNode && data.prevNode.type === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; - const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && data.prevNode && data.prevNode.type === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; - return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); -} - -function shouldPrePrintTripleHardline(node, data) { - const isPrevNodeList = data.prevNode && data.prevNode.type === "list"; - const isIndentedCode = node.type === "code" && node.isIndented; - return isPrevNodeList && isIndentedCode; -} - -function shouldRemainTheSameContent(path) { - const ancestorNode = getAncestorNode$2(path, ["linkReference", "imageReference"]); - return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); -} - -function printUrl(url, dangerousCharOrChars) { - const dangerousChars = [" "].concat(dangerousCharOrChars || []); - return new RegExp(dangerousChars.map(x => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; -} - -function printTitle(title, options, printSpace) { - if (printSpace == null) { - printSpace = true; - } - - if (!title) { - return ""; - } - - if (printSpace) { - return " " + printTitle(title, options, false); - } // title is escaped after `remark-parse` v7 - - - title = title.replace(/\\(["')])/g, "$1"); - - if (title.includes('"') && title.includes("'") && !title.includes(")")) { - return `(${title})`; // avoid escaped quotes - } // faster than using RegExps: https://jsperf.com/performance-of-match-vs-split - - - const singleCount = title.split("'").length - 1; - const doubleCount = title.split('"').length - 1; - const quote = singleCount > doubleCount ? '"' : doubleCount > singleCount ? "'" : options.singleQuote ? "'" : '"'; - title = title.replace(/\\/, "\\\\"); - title = title.replace(new RegExp(`(${quote})`, "g"), "\\$1"); - return `${quote}${title}${quote}`; -} - -function clamp(value, min, max) { - return value < min ? min : value > max ? max : value; -} - -function hasPrettierIgnore$5(path) { - const index = +path.getName(); - - if (index === 0) { - return false; - } - - const prevNode = path.getParentNode().children[index - 1]; - return isPrettierIgnore(prevNode) === "next"; -} - -var printerMarkdown = { - preprocess: printPreprocess$1, - print: genericPrint$4, - embed: embed_1$2, - massageAstNode: clean_1$3, - hasPrettierIgnore: hasPrettierIgnore$5, - insertPragma: insertPragma$6 -}; - -var options$5 = { - proseWrap: commonOptions.proseWrap, - singleQuote: commonOptions.singleQuote -}; - -var name$f = "Markdown"; -var type$d = "prose"; -var color$7 = "#083fa1"; -var aliases$4 = [ - "pandoc" -]; -var aceMode$d = "markdown"; -var codemirrorMode$a = "gfm"; -var codemirrorMimeType$a = "text/x-gfm"; -var wrap = true; -var extensions$d = [ - ".md", - ".markdown", - ".mdown", - ".mdwn", - ".mdx", - ".mkd", - ".mkdn", - ".mkdown", - ".ronn", - ".workbook" -]; -var filenames$3 = [ - "contents.lr" -]; -var tmScope$d = "source.gfm"; -var languageId$d = 222; -var require$$0$6 = { - name: name$f, - type: type$d, - color: color$7, - aliases: aliases$4, - aceMode: aceMode$d, - codemirrorMode: codemirrorMode$a, - codemirrorMimeType: codemirrorMimeType$a, - wrap: wrap, - extensions: extensions$d, - filenames: filenames$3, - tmScope: tmScope$d, - languageId: languageId$d -}; - -const languages$4 = [createLanguage(require$$0$6, data => ({ - since: "1.8.0", - parsers: ["markdown"], - vscodeLanguageIds: ["markdown"], - filenames: data.filenames.concat(["README"]), - extensions: data.extensions.filter(extension => extension !== ".mdx") -})), createLanguage(require$$0$6, () => ({ - name: "MDX", - since: "1.15.0", - parsers: ["mdx"], - vscodeLanguageIds: ["mdx"], - filenames: [], - extensions: [".mdx"] -}))]; -const printers$4 = { - mdast: printerMarkdown -}; -const parsers$4 = { - /* istanbul ignore next */ - get remark() { - return require("./parser-markdown").parsers.remark; - }, - - get markdown() { - return require("./parser-markdown").parsers.remark; - }, - - get mdx() { - return require("./parser-markdown").parsers.mdx; - } - -}; -var languageMarkdown = { - languages: languages$4, - options: options$5, - printers: printers$4, - parsers: parsers$4 -}; - -const { - isFrontMatterNode: isFrontMatterNode$4 -} = util; -const ignoredProperties$4 = new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); - -function clean$6(ast, newNode) { - if (ast.type === "text" || ast.type === "comment") { - return null; - } // may be formatted by multiparser - - - if (isFrontMatterNode$4(ast) || ast.type === "yaml" || ast.type === "toml") { - return null; - } - - if (ast.type === "attribute") { - delete newNode.value; - } - - if (ast.type === "docType") { - delete newNode.value; - } -} - -clean$6.ignoredProperties = ignoredProperties$4; -var clean_1$4 = clean$6; - -var htmlTagNames = [ - "a", - "abbr", - "acronym", - "address", - "applet", - "area", - "article", - "aside", - "audio", - "b", - "base", - "basefont", - "bdi", - "bdo", - "bgsound", - "big", - "blink", - "blockquote", - "body", - "br", - "button", - "canvas", - "caption", - "center", - "cite", - "code", - "col", - "colgroup", - "command", - "content", - "data", - "datalist", - "dd", - "del", - "details", - "dfn", - "dialog", - "dir", - "div", - "dl", - "dt", - "element", - "em", - "embed", - "fieldset", - "figcaption", - "figure", - "font", - "footer", - "form", - "frame", - "frameset", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hgroup", - "hr", - "html", - "i", - "iframe", - "image", - "img", - "input", - "ins", - "isindex", - "kbd", - "keygen", - "label", - "legend", - "li", - "link", - "listing", - "main", - "map", - "mark", - "marquee", - "math", - "menu", - "menuitem", - "meta", - "meter", - "multicol", - "nav", - "nextid", - "nobr", - "noembed", - "noframes", - "noscript", - "object", - "ol", - "optgroup", - "option", - "output", - "p", - "param", - "picture", - "plaintext", - "pre", - "progress", - "q", - "rb", - "rbc", - "rp", - "rt", - "rtc", - "ruby", - "s", - "samp", - "script", - "section", - "select", - "shadow", - "slot", - "small", - "source", - "spacer", - "span", - "strike", - "strong", - "style", - "sub", - "summary", - "sup", - "svg", - "table", - "tbody", - "td", - "template", - "textarea", - "tfoot", - "th", - "thead", - "time", - "title", - "tr", - "track", - "tt", - "u", - "ul", - "var", - "video", - "wbr", - "xmp" -]; - -var a = [ - "accesskey", - "charset", - "coords", - "download", - "href", - "hreflang", - "name", - "ping", - "referrerpolicy", - "rel", - "rev", - "shape", - "tabindex", - "target", - "type" -]; -var abbr = [ - "title" -]; -var applet = [ - "align", - "alt", - "archive", - "code", - "codebase", - "height", - "hspace", - "name", - "object", - "vspace", - "width" -]; -var area = [ - "accesskey", - "alt", - "coords", - "download", - "href", - "hreflang", - "nohref", - "ping", - "referrerpolicy", - "rel", - "shape", - "tabindex", - "target", - "type" -]; -var audio = [ - "autoplay", - "controls", - "crossorigin", - "loop", - "muted", - "preload", - "src" -]; -var base = [ - "href", - "target" -]; -var basefont = [ - "color", - "face", - "size" -]; -var bdo = [ - "dir" -]; -var blockquote = [ - "cite" -]; -var body = [ - "alink", - "background", - "bgcolor", - "link", - "text", - "vlink" -]; -var br = [ - "clear" -]; -var button = [ - "accesskey", - "autofocus", - "disabled", - "form", - "formaction", - "formenctype", - "formmethod", - "formnovalidate", - "formtarget", - "name", - "tabindex", - "type", - "value" -]; -var canvas = [ - "height", - "width" -]; -var caption = [ - "align" -]; -var col = [ - "align", - "char", - "charoff", - "span", - "valign", - "width" -]; -var colgroup = [ - "align", - "char", - "charoff", - "span", - "valign", - "width" -]; -var data$2 = [ - "value" -]; -var del$1 = [ - "cite", - "datetime" -]; -var details = [ - "open" -]; -var dfn = [ - "title" -]; -var dialog = [ - "open" -]; -var dir = [ - "compact" -]; -var div = [ - "align" -]; -var dl = [ - "compact" -]; -var embed$3 = [ - "height", - "src", - "type", - "width" -]; -var fieldset = [ - "disabled", - "form", - "name" -]; -var font = [ - "color", - "face", - "size" -]; -var form = [ - "accept", - "accept-charset", - "action", - "autocomplete", - "enctype", - "method", - "name", - "novalidate", - "target" -]; -var frame = [ - "frameborder", - "longdesc", - "marginheight", - "marginwidth", - "name", - "noresize", - "scrolling", - "src" -]; -var frameset = [ - "cols", - "rows" -]; -var h1 = [ - "align" -]; -var h2 = [ - "align" -]; -var h3 = [ - "align" -]; -var h4 = [ - "align" -]; -var h5 = [ - "align" -]; -var h6 = [ - "align" -]; -var head = [ - "profile" -]; -var hr = [ - "align", - "noshade", - "size", - "width" -]; -var html$1 = [ - "manifest", - "version" -]; -var iframe = [ - "align", - "allow", - "allowfullscreen", - "allowpaymentrequest", - "allowusermedia", - "frameborder", - "height", - "loading", - "longdesc", - "marginheight", - "marginwidth", - "name", - "referrerpolicy", - "sandbox", - "scrolling", - "src", - "srcdoc", - "width" -]; -var img = [ - "align", - "alt", - "border", - "crossorigin", - "decoding", - "height", - "hspace", - "ismap", - "loading", - "longdesc", - "name", - "referrerpolicy", - "sizes", - "src", - "srcset", - "usemap", - "vspace", - "width" -]; -var input = [ - "accept", - "accesskey", - "align", - "alt", - "autocomplete", - "autofocus", - "checked", - "dirname", - "disabled", - "form", - "formaction", - "formenctype", - "formmethod", - "formnovalidate", - "formtarget", - "height", - "ismap", - "list", - "max", - "maxlength", - "min", - "minlength", - "multiple", - "name", - "pattern", - "placeholder", - "readonly", - "required", - "size", - "src", - "step", - "tabindex", - "title", - "type", - "usemap", - "value", - "width" -]; -var ins = [ - "cite", - "datetime" -]; -var isindex = [ - "prompt" -]; -var label = [ - "accesskey", - "for", - "form" -]; -var legend = [ - "accesskey", - "align" -]; -var li = [ - "type", - "value" -]; -var link$3 = [ - "as", - "charset", - "color", - "crossorigin", - "disabled", - "href", - "hreflang", - "imagesizes", - "imagesrcset", - "integrity", - "media", - "nonce", - "referrerpolicy", - "rel", - "rev", - "sizes", - "target", - "title", - "type" -]; -var map$1 = [ - "name" -]; -var menu = [ - "compact" -]; -var meta = [ - "charset", - "content", - "http-equiv", - "name", - "scheme" -]; -var meter = [ - "high", - "low", - "max", - "min", - "optimum", - "value" -]; -var object$1 = [ - "align", - "archive", - "border", - "classid", - "codebase", - "codetype", - "data", - "declare", - "form", - "height", - "hspace", - "name", - "standby", - "tabindex", - "type", - "typemustmatch", - "usemap", - "vspace", - "width" -]; -var ol = [ - "compact", - "reversed", - "start", - "type" -]; -var optgroup = [ - "disabled", - "label" -]; -var option = [ - "disabled", - "label", - "selected", - "value" -]; -var output = [ - "for", - "form", - "name" -]; -var p = [ - "align" -]; -var param = [ - "name", - "type", - "value", - "valuetype" -]; -var pre = [ - "width" -]; -var progress = [ - "max", - "value" -]; -var q = [ - "cite" -]; -var script = [ - "async", - "charset", - "crossorigin", - "defer", - "integrity", - "language", - "nomodule", - "nonce", - "referrerpolicy", - "src", - "type" -]; -var select = [ - "autocomplete", - "autofocus", - "disabled", - "form", - "multiple", - "name", - "required", - "size", - "tabindex" -]; -var slot = [ - "name" -]; -var source$2 = [ - "media", - "sizes", - "src", - "srcset", - "type" -]; -var style = [ - "media", - "nonce", - "title", - "type" -]; -var table = [ - "align", - "bgcolor", - "border", - "cellpadding", - "cellspacing", - "frame", - "rules", - "summary", - "width" -]; -var tbody = [ - "align", - "char", - "charoff", - "valign" -]; -var td = [ - "abbr", - "align", - "axis", - "bgcolor", - "char", - "charoff", - "colspan", - "headers", - "height", - "nowrap", - "rowspan", - "scope", - "valign", - "width" -]; -var textarea = [ - "accesskey", - "autocomplete", - "autofocus", - "cols", - "dirname", - "disabled", - "form", - "maxlength", - "minlength", - "name", - "placeholder", - "readonly", - "required", - "rows", - "tabindex", - "wrap" -]; -var tfoot = [ - "align", - "char", - "charoff", - "valign" -]; -var th = [ - "abbr", - "align", - "axis", - "bgcolor", - "char", - "charoff", - "colspan", - "headers", - "height", - "nowrap", - "rowspan", - "scope", - "valign", - "width" -]; -var thead = [ - "align", - "char", - "charoff", - "valign" -]; -var time = [ - "datetime" -]; -var tr = [ - "align", - "bgcolor", - "char", - "charoff", - "valign" -]; -var track = [ - "default", - "kind", - "label", - "src", - "srclang" -]; -var ul = [ - "compact", - "type" -]; -var video = [ - "autoplay", - "controls", - "crossorigin", - "height", - "loop", - "muted", - "playsinline", - "poster", - "preload", - "src", - "width" -]; -var htmlElementAttributes = { - "*": [ - "accesskey", - "autocapitalize", - "autofocus", - "class", - "contenteditable", - "dir", - "draggable", - "enterkeyhint", - "hidden", - "id", - "inputmode", - "is", - "itemid", - "itemprop", - "itemref", - "itemscope", - "itemtype", - "lang", - "nonce", - "slot", - "spellcheck", - "style", - "tabindex", - "title", - "translate" -], - a: a, - abbr: abbr, - applet: applet, - area: area, - audio: audio, - base: base, - basefont: basefont, - bdo: bdo, - blockquote: blockquote, - body: body, - br: br, - button: button, - canvas: canvas, - caption: caption, - col: col, - colgroup: colgroup, - data: data$2, - del: del$1, - details: details, - dfn: dfn, - dialog: dialog, - dir: dir, - div: div, - dl: dl, - embed: embed$3, - fieldset: fieldset, - font: font, - form: form, - frame: frame, - frameset: frameset, - h1: h1, - h2: h2, - h3: h3, - h4: h4, - h5: h5, - h6: h6, - head: head, - hr: hr, - html: html$1, - iframe: iframe, - img: img, - input: input, - ins: ins, - isindex: isindex, - label: label, - legend: legend, - li: li, - link: link$3, - map: map$1, - menu: menu, - meta: meta, - meter: meter, - object: object$1, - ol: ol, - optgroup: optgroup, - option: option, - output: output, - p: p, - param: param, - pre: pre, - progress: progress, - q: q, - script: script, - select: select, - slot: slot, - source: source$2, - style: style, - table: table, - tbody: tbody, - td: td, - textarea: textarea, - tfoot: tfoot, - th: th, - thead: thead, - time: time, - tr: tr, - track: track, - ul: ul, - video: video -}; - -var json$1 = { - "CSS_DISPLAY_TAGS": { - "area": "none", - "base": "none", - "basefont": "none", - "datalist": "none", - "head": "none", - "link": "none", - "meta": "none", - "noembed": "none", - "noframes": "none", - "param": "block", - "rp": "none", - "script": "block", - "source": "block", - "style": "none", - "template": "inline", - "track": "block", - "title": "none", - "html": "block", - "body": "block", - "address": "block", - "blockquote": "block", - "center": "block", - "div": "block", - "figure": "block", - "figcaption": "block", - "footer": "block", - "form": "block", - "header": "block", - "hr": "block", - "legend": "block", - "listing": "block", - "main": "block", - "p": "block", - "plaintext": "block", - "pre": "block", - "xmp": "block", - "slot": "contents", - "ruby": "ruby", - "rt": "ruby-text", - "article": "block", - "aside": "block", - "h1": "block", - "h2": "block", - "h3": "block", - "h4": "block", - "h5": "block", - "h6": "block", - "hgroup": "block", - "nav": "block", - "section": "block", - "dir": "block", - "dd": "block", - "dl": "block", - "dt": "block", - "ol": "block", - "ul": "block", - "li": "list-item", - "table": "table", - "caption": "table-caption", - "colgroup": "table-column-group", - "col": "table-column", - "thead": "table-header-group", - "tbody": "table-row-group", - "tfoot": "table-footer-group", - "tr": "table-row", - "td": "table-cell", - "th": "table-cell", - "fieldset": "block", - "button": "inline-block", - "details": "block", - "summary": "block", - "dialog": "block", - "meter": "inline-block", - "progress": "inline-block", - "object": "inline-block", - "video": "inline-block", - "audio": "inline-block", - "select": "inline-block", - "option": "block", - "optgroup": "block" - }, - "CSS_DISPLAY_DEFAULT": "inline", - "CSS_WHITE_SPACE_TAGS": { - "listing": "pre", - "plaintext": "pre", - "pre": "pre", - "xmp": "pre", - "nobr": "nowrap", - "table": "initial", - "textarea": "pre-wrap" - }, - "CSS_WHITE_SPACE_DEFAULT": "normal" -}; - -const { - inferParserByLanguage: inferParserByLanguage$2, - isFrontMatterNode: isFrontMatterNode$5 -} = util; -const { - CSS_DISPLAY_TAGS, - CSS_DISPLAY_DEFAULT, - CSS_WHITE_SPACE_TAGS, - CSS_WHITE_SPACE_DEFAULT -} = json$1; -const HTML_TAGS = arrayToMap(htmlTagNames); -const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); // https://infra.spec.whatwg.org/#ascii-whitespace - -const HTML_WHITESPACE = new Set(["\t", "\n", "\f", "\r", " "]); - -const htmlTrimStart = string => string.replace(/^[\t\n\f\r ]+/, ""); - -const htmlTrimEnd = string => string.replace(/[\t\n\f\r ]+$/, ""); - -const htmlTrim = string => htmlTrimStart(htmlTrimEnd(string)); - -const htmlTrimLeadingBlankLines = string => string.replace(/^[\t\f\r ]*?\n/g, ""); - -const htmlTrimPreserveIndentation = string => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); - -const splitByHtmlWhitespace = string => string.split(/[\t\n\f\r ]+/); - -const getLeadingHtmlWhitespace = string => string.match(/^[\t\n\f\r ]*/)[0]; - -const getLeadingAndTrailingHtmlWhitespace = string => { - const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)([\S\s]*?)([\t\n\f\r ]*)$/); - return { - leadingWhitespace, - trailingWhitespace, - text - }; -}; - -const hasHtmlWhitespace = string => /[\t\n\f\r ]/.test(string); - -function arrayToMap(array) { - const map = Object.create(null); - - for (const value of array) { - map[value] = true; - } - - return map; -} - -function mapObject(object, fn) { - const newObject = Object.create(null); - - for (const key of Object.keys(object)) { - newObject[key] = fn(object[key], key); - } - - return newObject; -} - -function shouldPreserveContent(node, options) { - // unterminated node in ie conditional comment - // e.g. - if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { - return true; - } // incomplete html in ie conditional comment - // e.g. - - - if (node.type === "ieConditionalComment" && !node.complete) { - return true; - } // TODO: handle non-text children in
-
-
-  if (isPreLikeNode(node) && node.children.some(child => child.type !== "text" && child.type !== "interpolation")) {
-    return true;
-  }
-
-  if (isVueNonHtmlBlock(node, options) && !isScriptLikeTag(node) && node.type !== "interpolation") {
-    return true;
-  }
-
-  return false;
-}
-
-function hasPrettierIgnore$6(node) {
-  /* istanbul ignore next */
-  if (node.type === "attribute") {
-    return false;
-  }
-  /* istanbul ignore next */
-
-
-  if (!node.parent) {
-    return false;
-  }
-
-  if (typeof node.index !== "number" || node.index === 0) {
-    return false;
-  }
-
-  const prevNode = node.parent.children[node.index - 1];
-  return isPrettierIgnore$1(prevNode);
-}
-
-function isPrettierIgnore$1(node) {
-  return node.type === "comment" && node.value.trim() === "prettier-ignore";
-}
-
-function getPrettierIgnoreAttributeCommentData(value) {
-  const match = value.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);
-
-  if (!match) {
-    return false;
-  }
-
-  if (!match[1]) {
-    return true;
-  }
-
-  return match[1].split(/\s+/);
-}
-/** there's no opening/closing tag or it's considered not breakable */
-
-
-function isTextLikeNode(node) {
-  return node.type === "text" || node.type === "comment";
-}
-
-function isScriptLikeTag(node) {
-  return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style"));
-}
-
-function canHaveInterpolation(node) {
-  return node.children && !isScriptLikeTag(node);
-}
-
-function isWhitespaceSensitiveNode(node) {
-  return isScriptLikeTag(node) || node.type === "interpolation" || isIndentationSensitiveNode(node);
-}
-
-function isIndentationSensitiveNode(node) {
-  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
-}
-
-function isLeadingSpaceSensitiveNode(node, options) {
-  const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode();
-
-  if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) {
-    return node.type === "interpolation";
-  }
-
-  return isLeadingSpaceSensitive;
-
-  function _isLeadingSpaceSensitiveNode() {
-    if (isFrontMatterNode$5(node)) {
-      return false;
-    }
-
-    if ((node.type === "text" || node.type === "interpolation") && node.prev && (node.prev.type === "text" || node.prev.type === "interpolation")) {
-      return true;
-    }
-
-    if (!node.parent || node.parent.cssDisplay === "none") {
-      return false;
-    }
-
-    if (isPreLikeNode(node.parent)) {
-      return true;
-    }
-
-    if (!node.prev && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
-      return false;
-    }
-
-    if (node.prev && !isNextLeadingSpaceSensitiveCssDisplay(node.prev.cssDisplay)) {
-      return false;
-    }
-
-    return true;
-  }
-}
-
-function isTrailingSpaceSensitiveNode(node, options) {
-  if (isFrontMatterNode$5(node)) {
-    return false;
-  }
-
-  if ((node.type === "text" || node.type === "interpolation") && node.next && (node.next.type === "text" || node.next.type === "interpolation")) {
-    return true;
-  }
-
-  if (!node.parent || node.parent.cssDisplay === "none") {
-    return false;
-  }
-
-  if (isPreLikeNode(node.parent)) {
-    return true;
-  }
-
-  if (!node.next && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
-    return false;
-  }
-
-  if (node.next && !isPrevTrailingSpaceSensitiveCssDisplay(node.next.cssDisplay)) {
-    return false;
-  }
-
-  return true;
-}
-
-function isDanglingSpaceSensitiveNode(node) {
-  return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag(node);
-}
-
-function forceNextEmptyLine(node) {
-  return isFrontMatterNode$5(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line;
-}
-/** firstChild leadingSpaces and lastChild trailingSpaces */
-
-
-function forceBreakContent(node) {
-  return forceBreakChildren(node) || node.type === "element" && node.children.length !== 0 && (["body", "script", "style"].includes(node.name) || node.children.some(child => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild));
-}
-/** spaces between children */
-
-
-function forceBreakChildren(node) {
-  return node.type === "element" && node.children.length !== 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell");
-}
-
-function preferHardlineAsLeadingSpaces(node) {
-  return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node);
-}
-
-function preferHardlineAsTrailingSpaces(node) {
-  return preferHardlineAsSurroundingSpaces(node) || node.type === "element" && node.fullName === "br" || hasSurroundingLineBreak(node);
-}
-
-function hasSurroundingLineBreak(node) {
-  return hasLeadingLineBreak(node) && hasTrailingLineBreak(node);
-}
-
-function hasLeadingLineBreak(node) {
-  return node.hasLeadingSpaces && (node.prev ? node.prev.sourceSpan.end.line < node.sourceSpan.start.line : node.parent.type === "root" || node.parent.startSourceSpan.end.line < node.sourceSpan.start.line);
-}
-
-function hasTrailingLineBreak(node) {
-  return node.hasTrailingSpaces && (node.next ? node.next.sourceSpan.start.line > node.sourceSpan.end.line : node.parent.type === "root" || node.parent.endSourceSpan && node.parent.endSourceSpan.start.line > node.sourceSpan.end.line);
-}
-
-function preferHardlineAsSurroundingSpaces(node) {
-  switch (node.type) {
-    case "ieConditionalComment":
-    case "comment":
-    case "directive":
-      return true;
-
-    case "element":
-      return ["script", "select"].includes(node.name);
-  }
-
-  return false;
-}
-
-function getLastDescendant(node) {
-  return node.lastChild ? getLastDescendant(node.lastChild) : node;
-}
-
-function hasNonTextChild(node) {
-  return node.children && node.children.some(child => child.type !== "text");
-}
-
-function _inferScriptParser(node) {
-  const {
-    type,
-    lang
-  } = node.attrMap;
-
-  if (type === "module" || type === "text/javascript" || type === "text/babel" || type === "application/javascript" || lang === "jsx") {
-    return "babel";
-  }
-
-  if (type === "application/x-typescript" || lang === "ts" || lang === "tsx") {
-    return "typescript";
-  }
-
-  if (type === "text/markdown") {
-    return "markdown";
-  }
-
-  if (type === "text/html") {
-    return "html";
-  }
-
-  if (type && (type.endsWith("json") || type.endsWith("importmap"))) {
-    return "json";
-  }
-
-  if (type === "text/x-handlebars-template") {
-    return "glimmer";
-  }
-}
-
-function inferStyleParser(node) {
-  const {
-    lang
-  } = node.attrMap;
-
-  if (!lang || lang === "postcss" || lang === "css") {
-    return "css";
-  }
-
-  if (lang === "scss") {
-    return "scss";
-  }
-
-  if (lang === "less") {
-    return "less";
-  }
-}
-
-function inferScriptParser(node, options) {
-  if (node.name === "script" && !node.attrMap.src) {
-    if (!node.attrMap.lang && !node.attrMap.type) {
-      return "babel";
-    }
-
-    return _inferScriptParser(node);
-  }
-
-  if (node.name === "style") {
-    return inferStyleParser(node);
-  }
-
-  if (options && isVueNonHtmlBlock(node, options)) {
-    return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage$2(node.attrMap.lang, options);
-  }
-}
-
-function isBlockLikeCssDisplay(cssDisplay) {
-  return cssDisplay === "block" || cssDisplay === "list-item" || cssDisplay.startsWith("table");
-}
-
-function isFirstChildLeadingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isLastChildTrailingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isPrevTrailingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay);
-}
-
-function isNextLeadingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay);
-}
-
-function isDanglingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isPreLikeNode(node) {
-  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
-}
-
-function countParents(path, predicate) {
-  let counter = 0;
-
-  for (let i = path.stack.length - 1; i >= 0; i--) {
-    const value = path.stack[i];
-
-    if (value && typeof value === "object" && !Array.isArray(value) && predicate(value)) {
-      counter++;
-    }
-  }
-
-  return counter;
-}
-
-function hasParent(node, fn) {
-  let current = node;
-
-  while (current) {
-    if (fn(current)) {
-      return true;
-    }
-
-    current = current.parent;
-  }
-
-  return false;
-}
-
-function getNodeCssStyleDisplay(node, options) {
-  if (node.prev && node.prev.type === "comment") {
-    // 
-    const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
-
-    if (match) {
-      return match[1];
-    }
-  }
-
-  let isInSvgForeignObject = false;
-
-  if (node.type === "element" && node.namespace === "svg") {
-    if (hasParent(node, parent => parent.fullName === "svg:foreignObject")) {
-      isInSvgForeignObject = true;
-    } else {
-      return node.name === "svg" ? "inline-block" : "block";
-    }
-  }
-
-  switch (options.htmlWhitespaceSensitivity) {
-    case "strict":
-      return "inline";
-
-    case "ignore":
-      return "block";
-
-    default:
-      {
-        // See https://github.com/prettier/prettier/issues/8151
-        if (options.parser === "vue" && node.parent && node.parent.type === "root") {
-          return "block";
-        }
-
-        return node.type === "element" && (!node.namespace || isInSvgForeignObject || isUnknownNamespace(node)) && CSS_DISPLAY_TAGS[node.name] || CSS_DISPLAY_DEFAULT;
-      }
-  }
-}
-
-function isUnknownNamespace(node) {
-  return node.type === "element" && !node.hasExplicitNamespace && !["html", "svg"].includes(node.namespace);
-}
-
-function getNodeCssStyleWhiteSpace(node) {
-  return node.type === "element" && (!node.namespace || isUnknownNamespace(node)) && CSS_WHITE_SPACE_TAGS[node.name] || CSS_WHITE_SPACE_DEFAULT;
-}
-
-function getMinIndentation(text) {
-  let minIndentation = Infinity;
-
-  for (const lineText of text.split("\n")) {
-    if (lineText.length === 0) {
-      continue;
-    }
-
-    if (!HTML_WHITESPACE.has(lineText[0])) {
-      return 0;
-    }
-
-    const indentation = getLeadingHtmlWhitespace(lineText).length;
-
-    if (lineText.length === indentation) {
-      continue;
-    }
-
-    if (indentation < minIndentation) {
-      minIndentation = indentation;
-    }
-  }
-
-  return minIndentation === Infinity ? 0 : minIndentation;
-}
-
-function dedentString(text, minIndent = getMinIndentation(text)) {
-  return minIndent === 0 ? text : text.split("\n").map(lineText => lineText.slice(minIndent)).join("\n");
-}
-
-function shouldNotPrintClosingTag(node, options) {
-  return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore$6(node) || shouldPreserveContent(node.parent, options));
-}
-
-function countChars(text, char) {
-  let counter = 0;
-
-  for (let i = 0; i < text.length; i++) {
-    if (text[i] === char) {
-      counter++;
-    }
-  }
-
-  return counter;
-}
-
-function unescapeQuoteEntities(text) {
-  return text.replace(/'/g, "'").replace(/"/g, '"');
-} // top-level elements (excluding